The ant build files for each of the apks that we create consisted of
only fairly straightforward boilerplate. With the recent changes to
java_apk.gypi and the gyp targets we can now build these correctly from
a single .xml with the differences in how the targets are built being
reflected in the gyp files (and then passed into ant).
TBR=joth
BUG=145991
Review URL: https://chromiumcodereview.appspot.com/10959034
git-svn-id: http://src.chromium.org/svn/trunk/src/build@160396 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently chromium_testshell_test_apk and content_shell_test_apk compile
and package java files from two different directories. Supporting this
in a good way is a requirement for using a single ant template for all
apks.
Introduce a new gyp variable for apk/jar targets, generated_src_dirs.
Now, generated_src_dirs is for directories that contain .java files that
are generated at build time and additional_src_dirs is for extra normal
directories to include in the jar/apk.
Change content_shell_test_apk and chromium_testshell_test_apk to use
additional_src_dirs for their extra dirs.
Add documentation for the gyp variables for jar/apk targets.
Reorder the ant defines in the java.gypi and java_apk.gypi.
BUG=136756,146056
Review URL: https://chromiumcodereview.appspot.com/10987083
git-svn-id: http://src.chromium.org/svn/trunk/src/build@159299 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Apk targets will package all .class files in the output directory into
the apk. If a .java file is moved, the corresponding .class files might
still exist in the output directory, leading to incorrect or failed
builds.
This forces all .java files for a target to be rebuilt when that target
is rebuilt, but this is very fast.
See http://crrev.com/10914080 for the same change to jar targets.
BUG=
Review URL: https://chromiumcodereview.appspot.com/10959027
git-svn-id: http://src.chromium.org/svn/trunk/src/build@157923 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add a new property generate.test.jar to ant scripts.
When this property is set, a jar containing all compiled
classes and referred classes is generated and placed in
out/{Debug|Release}/test.lib.java directory.
This makes it easier and cleaner to write ant build files for test apks.
New directory structure for the build:
Apks are placed in : out/{Debug|Release}/apks
All java libraries in : out/{Debug|Release}/lib.java
All test java libraries in : out/{Debug|Release}/test.lib.java
This CL also includes cleanup to work with the modified output
directory structure.
BUG=146583
Review URL: https://chromiumcodereview.appspot.com/10905138
git-svn-id: http://src.chromium.org/svn/trunk/src/build@157570 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
keystore created with command:
keytool -genkey -v -keystore chromium-debug.keystore -alias chromiumdebugkey -keyalg RSA -keysize 2048 -validity 36525
with password "chromium" and alias password "chromium".
Android's SDK tools by default create a debug keystore in ~/.android.
This has caused all kinds of grief. Instead, this change makes us use
the new chrome-debug.keystore.
BUG=145860
Review URL: https://chromiumcodereview.appspot.com/10918149
git-svn-id: http://src.chromium.org/svn/trunk/src/build@155927 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Jar targets package all .class files in their output directory into the
final jar. It should only package those that are actually from .java
files in the src directories. Specifically, it should not package .class
files from .java files that used to be in the src directory but are no
longer there. To prevent packaging these stale .class files, clean the
output directory before the compile step.
One side effect is that we will now have to compile all .java files for
a target each time that that target is rebuilt. And in turn, the _java
targets that depend on it will do the same. Locally, when building the
chrome_java target (which includes all the others) after touching a
base_java input (which will then force all the others to rebuild), this
adds ~3 seconds to the build time... i.e. it's only a very minor hit.
BUG=145983
Review URL: https://chromiumcodereview.appspot.com/10914080
git-svn-id: http://src.chromium.org/svn/trunk/src/build@154857 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The ant build files for each of the jars that we create consisted of
only fairly straightforward boilerplate. With the recent changes to
java.gypi and java_aidl.gypi we can now build these correctly from a
single .xml with GYP passing in defines for the minor differences.
BUG=136756
Review URL: https://chromiumcodereview.appspot.com/10831227
git-svn-id: http://src.chromium.org/svn/trunk/src/build@151334 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