summaryrefslogtreecommitdiffstats
path: root/build/java.gypi
Commit message (Collapse)AuthorAgeFilesLines
* [Android] Incorporate findbugs into android builds.jbudorick2015-03-241-0/+27
| | | | | | | | BUG=431823 Review URL: https://codereview.chromium.org/1000793002 Cr-Commit-Position: refs/heads/master@{#321927}
* Change what manifest and resources are passed to lint.py.mikecase2015-02-261-3/+3
| | | | | | | | BUG=266140 Review URL: https://codereview.chromium.org/880083004 Cr-Commit-Position: refs/heads/master@{#318153}
* [Android] Don't let chromium_commands modify all_dependent_settings via ↵jbudorick2014-10-171-8/+13
| | | | | | | | | | java.gypi BUG=423025 Review URL: https://codereview.chromium.org/656803002 Cr-Commit-Position: refs/heads/master@{#300086}
* Update lint and findbugs to use jars instead of class filescjhopman@chromium.org2014-08-121-19/+19
| | | | | | | | | | Now that this is done, we don't need to leave the class files laying around anymore. So don't. Review URL: https://codereview.chromium.org/458653002 Cr-Commit-Position: refs/heads/master@{#288971} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288971 0039d316-1c4b-4281-b951-d872f2087c98
* Start using proguard.jar directly instead of proguard.shaurimas@chromium.org2014-07-111-2/+2
| | | | | | | | | | | | android_tools/sdk/tools/proguard/bin/proguard.sh was removed with SDK tools update. https://gerrit.chromium.org/gerrit/#/c/70802/ updates SDK tools and we want to roll to start using it. BUG=393019 Review URL: https://codereview.chromium.org/377353003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282498 0039d316-1c4b-4281-b951-d872f2087c98
* Make javac and jar a single build actioncjhopman@chromium.org2014-06-231-20/+4
| | | | | | | | | | | | | | | | This allows us to more accurately specify the outputs of each action (we can't specify the .class file outputs easily because determing them essentially requires compiling the .java files). The lint action still operates directly on the .class files, so we continue to support specifying a directory for the .class files (but in a very simple to remove way). BUG=359249 Review URL: https://codereview.chromium.org/328893003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279152 0039d316-1c4b-4281-b951-d872f2087c98
* Pass resources to dependents as zip files instead of directoriescjhopman@chromium.org2014-06-111-38/+26
| | | | | | | | | | | | | | | | | | | This makes all temporary work be done in temporary directories. This change is particularly helpful for 2 reasons: first, it makes it more difficult to accidentally include stale, unwanted files during an incremental build. Second, it is easier to trigger dependent actions (zip file timestamps should be updated when their contents change, while the same is not true for directories). Makes the output of build/java_strings_grd.gypi be a zipfile containing the resources. BUG=359249,375431 Review URL: https://codereview.chromium.org/321463002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276226 0039d316-1c4b-4281-b951-d872f2087c98
* [Second try] Add creation of v14 compatible resources to process_resources.pycjhopman@chromium.org2014-06-071-36/+12
| | | | | | | | | | | There are a lot of steps in processing resources and preparing them for packaging. It will be easier if these are all done by the same script. BUG=375431,359249 Review URL: https://codereview.chromium.org/310313005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275645 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Add creation of v14 compatible resources to process_resources.py ↵johnme@chromium.org2014-06-061-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/321453002/) Reason for revert: This is causing instrumentation-yakju-clankium-tot and clang-clankium-tot-builder (downstream) to fail with the following error message: FAILED: cd ../../clank/native/framework; python ../../../build/android/gyp/process_resources.py --android-sdk /b/build/slave/instrumentation-yakju-clankium-tot/build/src/third_party/android_tools/sdk//platforms/android-19 --android-sdk-tools /b/build/slave/instrumentation-yakju-clankium-tot/build/src/third_party/android_tools/sdk//build-tools/19.0.0 --android-manifest ../../../clank/java/apps/deviceextras/AndroidManifest.xml --dependencies-res-dirs "" --extra-res-packages "" --extra-r-text-files "" --proguard-file ../../../out/Debug/device_extras_apk/proguard.txt --resource-dir ../../../clank/java/apps/deviceextras/res --res-v14-compatibility-dir ../../../out/Debug/device_extras_apk/res_v14_compatibility --crunch-output-dir ../../../out/Debug/device_extras_apk/res --R-dir ../../../out/Debug/device_extras_apk/gen --stamp ../../../out/Debug/device_extras_apk/codegen.stamp Traceback (most recent call last): File "../../../build/android/gyp/process_resources.py", line 217, in <module> main() File "../../../build/android/gyp/process_resources.py", line 166, in main options.v14_verify_only) File "/b/build/slave/instrumentation-yakju-clankium-tot/build/src/build/android/gyp/generate_v14_compatible_resources.py", line 335, in GenerateV14Resources ErrorIfStyleResourceExistsInDir(input_dir) File "/b/build/slave/instrumentation-yakju-clankium-tot/build/src/build/android/gyp/generate_v14_compatible_resources.py", line 107, in ErrorIfStyleResourceExistsInDir '-v17 directory. Please refer to ' Exception: error: style file /b/build/slave/instrumentation-yakju-clankium-tot/build/src/clank/java/apps/deviceextras/res/values/styles.xml should be under /b/build/slave/instrumentation-yakju-clankium-tot/build/src/clank/java/apps/deviceextras/res/values-v17 directory. Please refer to http://crbug.com/243952 for the details. I don't know resource loading well enough to tell if that's a legitimate issue or not; so for now reverting this to fix the build bots, and if it is a legitimate issue then ideally it could be fixed before relanding this? Original issue's description: > Add creation of v14 compatible resources to process_resources.py > > There are a lot of steps in processing resources and preparing them for > packaging. It will be easier if these are all done by the same script. > > BUG=375431,359249 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=275401 TBR=newt@chromium.org,cjhopman@chromium.org NOTREECHECKS=true NOTRY=true BUG=375431,359249 Review URL: https://codereview.chromium.org/314363002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275436 0039d316-1c4b-4281-b951-d872f2087c98
* Add creation of v14 compatible resources to process_resources.pycjhopman@chromium.org2014-06-061-36/+12
| | | | | | | | | | | There are a lot of steps in processing resources and preparing them for packaging. It will be easier if these are all done by the same script. BUG=375431,359249 Review URL: https://codereview.chromium.org/321453002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275401 0039d316-1c4b-4281-b951-d872f2087c98
* Convert apk-package-resources.xml to pythoncjhopman@chromium.org2014-05-281-3/+8
| | | | | | | | | | | | | | This ant script is basically a simple wrapper around an aapt call (the only thing the large AaptExecTask custom ant task adds is a bunch of dependency checking that we don't actually want anyway). This makes it use python instead. BUG=359249,375324,375431 NOTRY=true Review URL: https://codereview.chromium.org/291963002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273326 0039d316-1c4b-4281-b951-d872f2087c98
* Remove apk-codegen.xmlcjhopman@chromium.org2014-05-271-4/+4
| | | | | | | | | | | | process_resources.py already implements almost everything from apk-codegen.xml so just use that instead. BUG=359249, 375324, 375431 TBR=yfriedman Review URL: https://codereview.chromium.org/306453003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272928 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Remove apk-codegen.xml (https://codereview.chromium.org/295473002/)tapted@chromium.org2014-05-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: Suspected for android compile failure on waterfall starting http://build.chromium.org/p/chromium/builders/Android/builds/24321 Errors are pretty obscure. Things like BUILD FAILED /b/build/slave/Android/build/src/build/android/ant/apk-obfuscate.xml:161: /b/build/slave/Android/build/src/out/Release/multiple_proguards_test_apk/proguard.txt (No such file or directory) at proguard.ant.ConfigurationTask.addText(ConfigurationTask.java:315) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) FAILED: cd ../../build/android/tests/multiple_proguards; /*snip*/ build/android/ant/apk-obfuscate.xml Traceback (most recent call last): File "../../../../build/android/gyp/ant.py", line 34, in main stdout = build_utils.CheckOutput(['ant'] + verbose_args) File "/b/build/slave/Android/build/src/build/android/gyp/util/build_utils.py", line 113, in CheckOutput raise CalledProcessError(cwd, args, stdout + stderr) Original issue's description: > Remove apk-codegen.xml > > process_resources.py already implements almost everything from > apk-codegen.xml so just use that instead. > > BUG=359249,375324,375431 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272783 TBR=yfriedman@chromium.org,cjhopman@chromium.org NOTREECHECKS=true NOTRY=true BUG=359249,375324,375431 Review URL: https://codereview.chromium.org/301543002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272795 0039d316-1c4b-4281-b951-d872f2087c98
* Remove apk-codegen.xmlcjhopman@chromium.org2014-05-261-4/+4
| | | | | | | | | | | process_resources.py already implements almost everything from apk-codegen.xml so just use that instead. BUG=359249,375324,375431 Review URL: https://codereview.chromium.org/295473002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272783 0039d316-1c4b-4281-b951-d872f2087c98
* [android] Generate strings.xml for android_webview.mkosiba@chromium.org2014-05-121-25/+0
| | | | | | | | | | | | | | This makes it possible for the android_webview component to generate strings.xml files from .grd files in the android_webview_build configuration. BUG=internal b/11505352 TESTS=compile TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/270633015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269779 0039d316-1c4b-4281-b951-d872f2087c98
* android: Remove last two md5sum calls from gyp files.thakis@chromium.org2014-03-201-1/+1
| | | | | | | | | | | | Use the timestamp of a filelist instead of the md5sum call. No intended behavior change. BUG=177552 R=cjhopman@chromium.org Review URL: https://codereview.chromium.org/207093002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258455 0039d316-1c4b-4281-b951-d872f2087c98
* android: Pass list of java files as command line, instead of through a file ↵thakis@chromium.org2014-03-171-3/+1
| | | | | | | | | | | | | | | | list. There aren't that many java files, so this should be well below the command length file system limit. (Checked with `find. -name '*.java' | wc`). No intended behavior change. BUG=177552 NOTRY=true Review URL: https://codereview.chromium.org/197213006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257467 0039d316-1c4b-4281-b951-d872f2087c98
* android: Remove last md5sum call from java.gypi.thakis@chromium.org2014-03-171-9/+4
| | | | | | | | | | | | | | | | | | | process_resources writes all inputs to a filelist, and then passes the md5sum of the filelist as parameter (so that the commandline changes when inputs are removed, causing a rerun). Instead, just make the input filelist another input. gyp writes filelists when their contents change, so this means if inputs are removed, the mtime of the filelist will change, also causing a rebuild. No intended behavior change. BUG=177552 NOTRY=true Review URL: https://codereview.chromium.org/199993003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257464 0039d316-1c4b-4281-b951-d872f2087c98
* android: Make javac rules depend on java files too.thakis@chromium.org2014-03-131-1/+3
| | | | | | | | | | | | | Fixes regression from r256667, which made javac only rerun when the list of java files changed, not when a java file itself was touched :-/ BUG=177552 TEST=touch java file, rebuild. apk gets updated. R=miguelg@chromium.org Review URL: https://codereview.chromium.org/196423008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256842 0039d316-1c4b-4281-b951-d872f2087c98
* android: Remove three unnecessary md5sum calls.thakis@chromium.org2014-03-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | After r256667, the list of java files for javac is written into a gyp filelist, which gets rewritten if a java file is removed. (If a generated java file is removed, that still doesn't cause a rebuild, but that didn't happen before this CL either, http://crbug.com/) This allows removing the md5sum call for javac in java_apk.gypi. java.gypi also has additional_input_paths as input, but that's only used for stamp files, for ordering purposes, so it's not necessary to re-run the javac action if a stamp file disappears from additional_input_paths. With the same reasoning, the md5sum call in 'ant package resources' is not needed: additional_input_paths is the only non-stamp input that isn't also on the command line. ('ant package resources' is missing some inputs, but that's independent of this change: http://crbug.com/351928) No behavior change. BUG=177552 R=cjhopman@chromium.org Review URL: https://codereview.chromium.org/198283003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256746 0039d316-1c4b-4281-b951-d872f2087c98
* android: Pass (non-generated) .java files via a gyp filelist to javac.pythakis@chromium.org2014-03-121-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this CL, the javac action rules called `find javadir -name "*.java"` to compute the action's inputs, and passed javadir to javac.py. The script then again looked for all .java files in that directory. One issue with that approach is that if a java file gets removed, the javac.py action didn't get executed again since actions are only run if their commandline changes or an input file is newer than an output file – a disappearing input doesn't mark an action dirty. (As workaround, the md5 hash of all .java files is currently passed in an --ignore parameter, so removal of a java file will lead to a changing commandline, which _will_ cause a rebuild.) After this CL, the result of `find javadir -name "*.java"` is written to a gyp filelist (see https://codereview.chromium.org/27418008/), and the filelist is passed to javac.py. gyp writes filelists exactly if their contents would change, so removal of java file will change the mtime of the filelist, which will cause a rebuild. Another advantage is that the list of java files is computed in only one place. This CL doesn't yet remove the md5 hack, but it makes it possible to do so in a follow-up change. (This approach doesn't work for generated java files, because these might not yet exist at gyp time. Rename --src-dirs to --src-gendirs and keep it in use for generated files. The dependency handling of generated java files is done through stamp files, so the md5 hack isn't needed for them.) No intended behavior change. BUG=177552 R=cjhopman@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=256097 Review URL: https://codereview.chromium.org/193693002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256667 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 256097 "android: Pass (non-generated) .java files via a g..."thakis@chromium.org2014-03-111-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Breaks target device_extras_apk on the upstream bot, due to the src/ issue mentioned on the review: A java target contains another java target in a subdirectory, and due to the missing src/ the java files in the subtarget get picked up twice. > android: Pass (non-generated) .java files via a gyp filelist to javac.py > > Before this CL, the javac action rules called `find javadir -name "*.java"` to > compute the action's inputs, and passed javadir to javac.py. The script then > again looked for all .java files in that directory. One issue with that approach > is that if a java file gets removed, the javac.py action didn't get executed again > since actions are only run if their commandline changes or an input file is newer > than an output file – a disappearing input doesn't mark an action dirty. (As > workaround, the md5 hash of all .java files is currently passed in an > --ignore parameter, so removal of a java file will lead to a changing > commandline, which _will_ cause a rebuild.) > > After this CL, the result of `find javadir -name "*.java"` is written to a gyp > filelist (see https://codereview.chromium.org/27418008/), and the filelist > is passed to javac.py. gyp writes filelists exactly if their contents would > change, so removal of java file will change the mtime of the filelist, which will > cause a rebuild. Another advantage is that the list of java files is computed in > only one place. > > This CL doesn't yet remove the md5 hack, but it makes it possible to do so > in a follow-up change. > > (This approach doesn't work for generated java files, because these might > not yet exist at gyp time. Rename --src-dirs to --src-gendirs and keep it in > use for generated files. The dependency handling of generated java files is > done through stamp files, so the md5 hack isn't needed for them.) > > No intended behavior change. > > BUG=177552 > R=cjhopman@chromium.org > > Review URL: https://codereview.chromium.org/193693002 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/194293002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256127 0039d316-1c4b-4281-b951-d872f2087c98
* android: Pass (non-generated) .java files via a gyp filelist to javac.pythakis@chromium.org2014-03-111-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this CL, the javac action rules called `find javadir -name "*.java"` to compute the action's inputs, and passed javadir to javac.py. The script then again looked for all .java files in that directory. One issue with that approach is that if a java file gets removed, the javac.py action didn't get executed again since actions are only run if their commandline changes or an input file is newer than an output file – a disappearing input doesn't mark an action dirty. (As workaround, the md5 hash of all .java files is currently passed in an --ignore parameter, so removal of a java file will lead to a changing commandline, which _will_ cause a rebuild.) After this CL, the result of `find javadir -name "*.java"` is written to a gyp filelist (see https://codereview.chromium.org/27418008/), and the filelist is passed to javac.py. gyp writes filelists exactly if their contents would change, so removal of java file will change the mtime of the filelist, which will cause a rebuild. Another advantage is that the list of java files is computed in only one place. This CL doesn't yet remove the md5 hack, but it makes it possible to do so in a follow-up change. (This approach doesn't work for generated java files, because these might not yet exist at gyp time. Rename --src-dirs to --src-gendirs and keep it in use for generated files. The dependency handling of generated java files is done through stamp files, so the md5 hack isn't needed for them.) No intended behavior change. BUG=177552 R=cjhopman@chromium.org Review URL: https://codereview.chromium.org/193693002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256097 0039d316-1c4b-4281-b951-d872f2087c98
* android: Remove unneeded md5sum class for jar.py and jar_toc.py.thakis@chromium.org2014-03-061-6/+0
| | | | | | | | | | | | Both actions have a small fixed list of inputs. md5sum is only needed for variable input lists (see bug). No behavior change. BUG=177552 R=cjhopman@chromium.org Review URL: https://codereview.chromium.org/184103038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255436 0039d316-1c4b-4281-b951-d872f2087c98
* android: Remove a few unnecessary md5sum invocations.thakis@chromium.org2014-03-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | When the list of implicit inputs of a build edge shrinks, ninja doesn't rerun it. The Android build uses complex build actions (e.g. ant) whose output depend on directory contents and whatnot, and the Android build by adding "dir/*.java" or similar as implicit inputs. So it's important that ninja does rerun these actions when their list of implicit inputs shrinks. As a workaround, the Android build passes the md5 of the list of implicit inputs as "--ignored" parameter to the build action (ninja does rerun edges whose commandline changes.) Due to copypasta, this --ignored flag is used in a few places where it's not actually used (on edges where all inputs are already passed as regular commandline parameters). Also remove the --ignored parameter from proguard.py as nothing passes it any more. BUG=177552 NOTRY=true Review URL: https://codereview.chromium.org/175683005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254414 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of https://codereview.chromium.org/106173002/newt@chromium.org2014-01-081-20/+2
| | | | | | | | | | | | | Reason for revert: this introduced a package dependency bug where ia32-libs cannot be installed on ubuntu precise systems TBR=kkimlabs@chromium.org,cjhopman@chromium.org,pschmidt@chromium.org NOTREECHECKS=true NOTRY=true BUG=290225 Review URL: https://codereview.chromium.org/126543004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243437 0039d316-1c4b-4281-b951-d872f2087c98
* Mirror images for RTL languages at build time.newt@chromium.org2014-01-071-2/+20
| | | | | | | | | | | | | | | | This adds a build step to generate mirrored images for use in right-to-left (RTL) languages. Images are mirrored by flipping the original image over the vertical axis. Every image must be explicitly listed as mirrorable or non-mirrorable in a config file. The goal: ensure that our RTL image assets are always up-to-date. BUG=290225 NOTRY=true Review URL: https://codereview.chromium.org/106173002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243332 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Add lint as a gyp action.frankf@chromium.org2013-12-111-0/+23
| | | | | | | | | | | | | | | - Run lint on all java/apk targets using a dummy AndroidManifest.xml - Add build/android/lint/suppress.py for suppressing generated errors - Enable lint on FYI builders as a first step BUG=None R=cjhopman@chromium.org, newt@chromium.org TBR=navabi@chromium.org Review URL: https://codereview.chromium.org/86313004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239984 0039d316-1c4b-4281-b951-d872f2087c98
* Adds ability to exclude java librariesgkanwar@chromium.org2013-08-241-7/+7
| | | | | | | | | NOTRY=True BUG=278365 Review URL: https://chromiumcodereview.appspot.com/22831044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219409 0039d316-1c4b-4281-b951-d872f2087c98
* Makes GYP changes for EMMA coveragegkanwar@chromium.org2013-08-221-8/+40
| | | | | | | | | | | | One piece of the overall java coverage change. See: https://codereview.chromium.org/20210002/ NOTRY=True BUG=255644 Review URL: https://chromiumcodereview.appspot.com/22870021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218870 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for proguard preprocessing.cjhopman@chromium.org2013-08-151-2/+46
| | | | | | | | | | | | | | | * Adds support for running proguard on our libraries before they are added to the final release APK. * Start using the proguard preprocessing for third_party/guava. BUG=272790 NOTRY=true TBR=darin@chromium.org Review URL: https://chromiumcodereview.appspot.com/23213002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217706 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid too long command lines.avayvod@chromium.org2013-07-261-1/+5
| | | | | | | | | | | | | | | The hash is calculated for the list of the resource files to determine if the files were changed (added, removed, renamed, etc). The current way of doing it may explode the command line length over the system limit. To avoid it, the list of the input files is written to a temporary file on disk and the file is used to calculate the checksum. BUG=177552 R=cjhopman@chromium.org, newt@chromium.org Review URL: https://codereview.chromium.org/20313002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@213849 0039d316-1c4b-4281-b951-d872f2087c98
* Fix minor typo in java.gypi that could cause extra build work.andrewhayden@chromium.org2013-07-171-1/+1
| | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/19463007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212163 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Add an gyp option to disable generating v14 resources script.kkimlabs@chromium.org2013-07-091-0/+12
| | | | | | | | | | | | | | Currently, we are generating v14 layout and style resources from v17 resources by replacing Start and End attributes to Left and Right attributes. However, it is not necessary for all cases, so make an option to disable generate_v14_compatible_resources.py script and only verify that there is no RTL attributes in the pre-v17 resources. BUG=247049 Review URL: https://chromiumcodereview.appspot.com/18653002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210555 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Fix proguardcjhopman@chromium.org2013-05-181-21/+5
| | | | | | | | | | | | | | | | | | | | | Gyp supports only very limited ways of changing behavior based upon CONFIGURATION_NAME. Particularly, it does not support the way that was supposed to enable/disable use of proguard. Instead of trying to switch behavior in gyp, instead pass CONFIGURATION_NAME, proguard_enabled, and proguard_enabled_dex_input_path to dex.py and switch the behavior there. This also extracts the dex actions into build/android/dex_action.gypi and uses that for the actions in both build/java.gypi and build/java_apk.gypi. BUG=240837 Review URL: https://chromiumcodereview.appspot.com/15231006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200958 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Auto-generate only necessary v14 resources.kkimlabs@chromium.org2013-05-101-34/+10
| | | | | | | | | | | | V14 Resource auto-generation was introduced by crbug.com/235118. However, some resources doesn't use v17 attributes, so we don't need to generate for all resources. BUG=239742 Review URL: https://chromiumcodereview.appspot.com/14812015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199564 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Auto-generate RTL layout xmls from existing layout xmls.kkimlabs@chromium.org2013-05-041-4/+57
| | | | | | | | | | | | | | There are several attributes introduced in API 17, mostly for BiDi(RTL) support, e.g., paddingStart. This build script will generate another set of resource that is API 14 compatible by converting those API 17 attributes to API 14 attributes, e.g., paddingStart -> paddingLeft. The goal of this script is for programmers to use those attributes without worrying about backward-compatibility care and related bugs. About the bugs, please refer to crbug.com/235118 . BUG=235118 Review URL: https://chromiumcodereview.appspot.com/14476011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198325 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Create and use .TOC files for jarscjhopman@chromium.org2013-04-131-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | The native component build creates .TOC files for each of the native libraries. These files contain the compile-time visible API of the corresponding library. That is, if something changes in the native library that could have an effect on linking of dependent libraries, then that change will be reflected in the .TOC file. Then, these .TOC files can be used to determine if linking of dependents is required. This change brings that same magic to Java. When building a .jar, we also create a .jar.TOC that includes the signatures for public/protected classes/functions/variables (including the values for constants since they can be inlined dependents). When compiling a Java library, use an Md5Checker over the .java files and the classpaths .jar.TOC (using the .jar if the .TOC isn't available as is currently the case for prebuilt jars). BUG=158821 Review URL: https://chromiumcodereview.appspot.com/14203002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194080 0039d316-1c4b-4281-b951-d872f2087c98
* CheckCallDie: add option to suppress successful outputcjhopman@chromium.org2013-04-041-6/+6
| | | | | | | | | | | | | | | | | Some commands that are called by build scripts are particularly verbose (ant, dex, readelf). For these commands, the output (when successful) is not useful (unlike javac, for example). Add an option (suppress_output) to build_util.CheckCallDie to disable printing of stdout/stderr when the call is successful. Also, move remaining build scripts in build/android to build/android/gyp. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/13473017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192409 0039d316-1c4b-4281-b951-d872f2087c98
* Add input content checking to some build scriptscjhopman@chromium.org2013-04-041-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Some build steps, particularly javac, have really loose input rules. I.e. javac steps are re-built when any input jar changes. Often, this leads to unnecessary rebuilds of all the following steps. Other build tools (ninja, goma), will check the contents of the inputs to a step, and if those inputs haven't changed that tool doesn't actually re-run the command for creating the output. This change brings that same benefit to some of the Android python build scripts. Particularly those that will save a significant amount of time by adding input content checks. The checking checks both the input files and the command that will be run. It compares this against a stored md5 digest. If it has not changed, then the output does not need to be recreated (though it is still touched to trigger following steps). BUG=158821 Review URL: https://chromiumcodereview.appspot.com/13432002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192265 0039d316-1c4b-4281-b951-d872f2087c98
* Make write_library_dependencies.py find all transitive dependenciescjhopman@chromium.org2013-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | For the component build, it is impractical/impossible to explicitly list all library dependencies. This list is required (in dependency order) for several of the apk-building steps. For now, we will generate this list as follows: Use readelf to find all transitive dependencies Topologically sort those dependencies Once we can expose this information from gyp (http://crbug.com/2255588), it is straightforward to update this action to use the gyp-exposed list of libraries. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/13261024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192103 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Make build output a little quieter.yfriedman@chromium.org2013-04-011-0/+1
| | | | | | | | | | Suppress warnings from jsr305 by only enabling some warnings for chromium_code. Also fixes the fact that components code wasn't setting chromium_code Review URL: https://chromiumcodereview.appspot.com/12702017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191706 0039d316-1c4b-4281-b951-d872f2087c98
* Fix downstream Android WebView buildboliu@chromium.org2013-03-291-1/+1
| | | | | | | | | | | | | | Quote the expansion in java.gypi such that the shell doesn't try to expand make variables. Similar to fix in r188760 NOTRY=true BUG= Review URL: https://chromiumcodereview.appspot.com/13316002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191359 0039d316-1c4b-4281-b951-d872f2087c98
* Predex java librariescjhopman@chromium.org2013-03-271-0/+25
| | | | | | | | | | | | | dx supports merging of already dexed jars. This means we can dex jars as part of the library target and then just merge them when we build the apk. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/12913009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191063 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Allow Java libraries to access resources from dependencies.newt@chromium.org2013-03-271-2/+10
| | | | | | | | | | | | | | | | Libraries could previously access dependencies' resources in Java code but not in XML layout files. This enables accessing these resources in layout files as well, with the compromise that resources can now be accessed using the wrong package name in Java code. Since resource names are global anyway (an APK can't contain two resources with the same name), this is deemed OK. BUG=176069 Review URL: https://chromiumcodereview.appspot.com/13107002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190896 0039d316-1c4b-4281-b951-d872f2087c98
* Translate some ant to pythoncjhopman@chromium.org2013-03-261-3/+3
| | | | | | | | | | | | | | This moves java compilation, jar, and dex for apks from ant to python. This uses the same javac.py and jar.py that are used by build/java.gypi for libraries and introduces a simple dex.py. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/12880007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190756 0039d316-1c4b-4281-b951-d872f2087c98
* Generate Android string files from generated_resources.grd.newt@chromium.org2013-03-261-19/+24
| | | | | | | | | | | | | | This enables Android layouts and Java code to use strings from generated_resources.grd directly. Strings tagged with formatter_data="android_java" in generated_resources.grd are used to produce an Android strings xml file. BUG=176069 Review URL: https://chromiumcodereview.appspot.com/12529025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190573 0039d316-1c4b-4281-b951-d872f2087c98
* Make process_resources.py more configurablecjhopman@chromium.org2013-03-231-19/+26
| | | | | | | | | | | This allows more configuration of the aapt call from within gyp. This is primarily to support differences that are required to use process_resources.py for java_apk.gypi. BUG=158821 Review URL: https://chromiumcodereview.appspot.com/12516019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190055 0039d316-1c4b-4281-b951-d872f2087c98
* Android WebView: actually fix the sdk jar problem.torne@chromium.org2013-03-181-2/+2
| | | | | | | | | | | | | r188747 didn't actually fix the webview build problem (though it's still a useful refactoring) - the right fix is just to add quotes to the expansion in java.gypi such that the shell doesn't try to expand make variables. BUG= Review URL: https://codereview.chromium.org/12917008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188760 0039d316-1c4b-4281-b951-d872f2087c98
* Android: factor out use of SDK jar.torne@chromium.org2013-03-181-2/+1
| | | | | | | | | | | | Specify the path to the Android SDK main jarfile in a single location so that it can be overridden by the WebView build. BUG= TBR=fischman@chromium.org,brettw@chromium.org Review URL: https://codereview.chromium.org/12524008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188737 0039d316-1c4b-4281-b951-d872f2087c98