After much work, we can build gtest APKs without first transforming .java files, resource files, or the AndroidManifest.xml. We can directly use java_apk.gypi and build like all other APKs.
Do that.
Also, native_test_apk.xml was the last user of common.xml and sdk-targets.xml, and so those can now be removed.
Review URL: https://chromiumcodereview.appspot.com/13828003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@193576 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently, normal APKs and instrumentation APKs are both built using
java_apk.gypi (which includes all kinds of new hotness). Native
unittest APKs, though use apk_test.gypi and thus the complicated
native_test_apk.xml and Android's Ant build.xml. That is bad.
This change updates apk_test.gypi to include java_apk.gypi and so
brings these two ways of building APKs into alignment. It also very
slightly updates the configurability of java_apk.gypi and
apk-package.xml.
There are still a couple of targets in WebKit that use
generate_native_test.py and native_test_apk.xml directly that need to
be updated to use apk_test.gypi before those two scripts can be
simplified/removed.
BUG=158821
Review URL: https://chromiumcodereview.appspot.com/13564003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@192662 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
All of our APKs should be built with build/java_apk.gypi. Currently,
native test APKs are built very differently. This change makes them
build more like other apks, as a first step to using java_apk.gypi.
Since WebKit's gyp files use generate_native_test.py directly,
rather than including apk_test.gypi, generate_native_test.py
needs to continue to support using it for ant compilation. :(
BUG=177121
Review URL: https://chromiumcodereview.appspot.com/12310002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@183614 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Targets with dependencies (direct/indirect) on a java target receive the
chromium_*.jar paths in the variable input_jars_paths. Targets should
use that rather than hardcoding where they think the jar will be.
Change native_test_apk.xml to build with a list of jars in
INPUT_JARS_PATHS rather than using all jars in a specific output
directory.
Make generate_native_test.py pass the --jars argument to ant with
-DINPUT_JARS_PATHS. This supports those targets (WebKit) that are not
updated to pass the ant-arg directly.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11308351
git-svn-id: http://src.chromium.org/svn/trunk/src/build@171131 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On Android, some GYP client targets were explicitly depending on both the
native and Java sides of a library.
This removes the dependencies to {base,net}_java and make the native side
('base' and 'net) of these libraries depend on their Java counterpart.
On Android it rarely makes sense to depend on a single side of a Java/C++
library.
The {base,net}_java can now be considered as "private" targets although GYP
does not support this concept unfortunately (AFAICT).
Note that I made sure that the resulting APKs' size is unchanged.
Additionally, this CL removes 'base_java' (i.e. does not replace it with
'base') from the targets including 'build/apk_test.gypi'. This dependency
should not have been there (in the wrong layer) in the first place. It's needed
by ChromeNativeTestActivity.java which clients should not know about.
BUG=146323
TBR=lipalani,sky,willchan,brettw
Review URL: https://chromiumcodereview.appspot.com/10913083
git-svn-id: http://src.chromium.org/svn/trunk/src/build@155737 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is the first CL to replace the ant property toolchain.dir with
android.gdbserver.
After this submitted
- Add android_gdbserver into WebKit gypis.
- Retire the toolchain.dir from ant by using android.gdbserver.
- Remove the ANDROID_TOOLCHAIN from both WebKit and chromium's gyp/gypi
- Remove the android_toolchain from envsetup_function.sh
TBR=jam
BUG=
Review URL: https://chromiumcodereview.appspot.com/10886046
git-svn-id: http://src.chromium.org/svn/trunk/src/build@154298 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Both java.gypi and apk_test.gypi expect the jar path in
input_jars_paths. This means that we were specifying the dependence in
both 'dependencies' and 'input_jars_paths'. This change makes it so that
we don't need that redundancy.
Also, make java.gypi use input_jars_paths in its input so that we
actually rebuild targets when we should.
BUG=136756
Review URL: https://chromiumcodereview.appspot.com/10837143
git-svn-id: http://src.chromium.org/svn/trunk/src/build@150850 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Also includes a refactoring of the Ant xml scripts to use a common template (contributed by shashishekhar@chromium.org). As part of this, I also continued Torne's effort of removing our reliance on environment variables. Unfortunately this currently means that you have to specify 5 gyp flags:
ANDROID_SDK, ANDROID_SDK_ROOT, ANDROID_SDK_TOOLS, ANDROID_SDK_VERSION, ANDROID_TOOLCHAIN.
This'll get better as we make further use of the checked in sdk both upstream and downstream. The problem stems from the android tree and released sdk having different configurations.
Review URL: https://chromiumcodereview.appspot.com/10830012
git-svn-id: http://src.chromium.org/svn/trunk/src/build@150172 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The primary issues is specifying the right path to PRODUCT_DIR (i.e.
out/Release). The gyp generator for make specifies the absolute path but
for ninja would use a relative path. Since the gyp targets don't line
up with where the ant build files are located this causes failures such
as base's java being generated in base/android/out/Release/...
See:
https://groups.google.com/forum/#!msg/gyp-developer/K2T_9obUya0/qq78_Ut-E-AJ
for details.
A couple of other minor fixes:
- content java files are placed in out/Release/java/content to be
consisent with other packages.
- shared-libraries are now referenced by correct variables for apk-based
tests
- removed unused media/base/android/java/java.gyp (target is in
media/media.gyp)
TBR=mark@chromium.org,ben@chromium.org,rsleevi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10386188
git-svn-id: http://src.chromium.org/svn/trunk/src/build@139418 4ff67af0-8c30-449e-8e8b-ad334ec8d88c