summaryrefslogtreecommitdiffstats
path: root/build/java.gypi
Commit message (Collapse)AuthorAgeFilesLines
* [Android] Run lint using a cache in the output directory.jbudorick2016-03-211-1/+2
| | | | | | | | BUG=583661 Review URL: https://codereview.chromium.org/1815563005 Cr-Commit-Position: refs/heads/master@{#382306}
* Using alternative_android_sdk_jar in process_resources, package_resourcesmichaelbai2016-01-141-1/+1
| | | | | | | | BUG=576852 Review URL: https://codereview.chromium.org/1587513002 Cr-Commit-Position: refs/heads/master@{#369287}
* Refactor emma_instr.py in preparation for porting EMMA GYP rules to GNpkotwicz2015-11-181-0/+2
| | | | | | | | | | | | | | | | Notable changes: - 'coverage_file' & 'sources_list_file' arguments now take complete paths - 'sources' argument renamed to 'source_dirs' - 'source_files' argument added which takes in a list of source Java files - 'depfile' argument added BUG=535290 Cr-Commit-Position: refs/heads/master@{#359980} Review URL: https://codereview.chromium.org/1448223004 Cr-Commit-Position: refs/heads/master@{#360376}
* Remove unused instr_action == 'instrument_classes' option from emma_instr.pypkotwicz2015-11-171-1/+0
| | | | | | | | BUG=535290 Review URL: https://codereview.chromium.org/1445383002 Cr-Commit-Position: refs/heads/master@{#360164}
* [Android] Enable multidex for debug builds of ChromePublic.jbudorick2015-11-131-10/+0
| | | | | | | | | | | | | This is a non-incremental implementation. It adds @MainDex to classes used by the renderer to keep them in the main dex, as it can't load secondary dexes when using the multidex support library (i.e., on K and below). BUG=272790 TBR=newt@chromium.org,sky@chromium.org Review URL: https://codereview.chromium.org/1408163009 Cr-Commit-Position: refs/heads/master@{#359453}
* Rename instr_action.gypi to emma_instr_action.gypipkotwicz2015-10-131-4/+4
| | | | | | | | | | | | There are many types of instrumentation in Chromium: Emma code coverage, order profiling etc. This CL renames instr_action.gypi to emma_instr_action.gypi to make it clearer what type of instrumentation the file deals with. BUG=None Review URL: https://codereview.chromium.org/1396023002 Cr-Commit-Position: refs/heads/master@{#353863}
* Support alternative locale zipmichaelbai2015-09-281-3/+13
| | | | | | | | | | | | | | | | | Instead of using the locale zip in dep graph, alternative locale zip could be used when building APK. - Using dedicated variables in all_dependencies_settings for locale zip - Not using locale zip from all_dependences_settings if alternative file specified. - Make resources_zip_path in locale_pak_resources.gypi setable, so the file could be used as alternative lcoale zip for APK. BUG=535379 Review URL: https://codereview.chromium.org/1357423011 Cr-Commit-Position: refs/heads/master@{#351190}
* Generate ResourceRewriter.java through dependency graphmichaelbai2015-09-181-1/+2
| | | | | | | | | | | | | | - Added create-resource-rewriter option to generate ResourceRewriter.java when building Java lib - Added system_webview_glue_java target and make system_webview_apk to depend on it. - Removed unnecessary com.android.webview.chromium.R, there is no new resource added in this package. BUG=492166 Review URL: https://codereview.chromium.org/1340383003 Cr-Commit-Position: refs/heads/master@{#349764}
* Update usage of Proguard in clank after moving Proguard to third_party.hanxi2015-08-271-2/+2
| | | | | | | | | | This is a follow up CL of https://codereview.chromium.org/1288393002/. BUG=505932 Review URL: https://codereview.chromium.org/1292313004 Cr-Commit-Position: refs/heads/master@{#346006}
* Never run errorprone on non-Chromium code.mikecase2015-08-271-2/+7
| | | | | | | | | | | | If errorprone finds an error in non-Chromium code the build will fail. This shouldn't happen, so I am disabling errorprone on non-Chromium code. BUG= Review URL: https://codereview.chromium.org/1314493010 Cr-Commit-Position: refs/heads/master@{#345941}
* Update errorprone to fix java 8 issues.mikecase2015-08-261-1/+1
| | | | | | | | | | | | | | | This updates errorprone from 1.1.2 to 2.0.1. Version 2.0.1 includes some fixes that lets errorprone work if you have java 8. I also deleted the ChromiumErrorProneCompiler to just use the default ErrorProneCompiler instead. Currently, the ChromiumErrorProneCompiler doesn't override any default behavior and would need to be changed a good bit to be compatible with 2.0.1. BUG=517259 Review URL: https://codereview.chromium.org/1286613002 Cr-Commit-Position: refs/heads/master@{#345688}
* [Android] Add gyp support for multidex. (RELAND)jbudorick2015-08-251-0/+10
| | | | | | | | | | | Reland of https://codereview.chromium.org/1278573002 BUG=272790 TBR=thakis@chromium.org,mmenke@chromium.org Review URL: https://codereview.chromium.org/1318513003 Cr-Commit-Position: refs/heads/master@{#345443}
* Revert of [Android] Add gyp support for multidex. (patchset #12 id:220001 of ↵jbudorick2015-08-251-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1278573002/ ) Reason for revert: Somehow broke compilation on the main waterfall: https://build.chromium.org/p/chromium/builders/Android/builds/45388 Original issue's description: > [Android] Add gyp support for multidex. > > Note that this does not enable multidex builds yet. > > BUG=272790 > > Committed: https://crrev.com/e40294eca50d57360a2bb0718adcd5cde7810fbd > Cr-Commit-Position: refs/heads/master@{#345357} TBR=agrieve@chromium.org,cjhopman@chromium.org,mmenke@chromium.org,thakis@chromium.org,yfriedman@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=272790 Review URL: https://codereview.chromium.org/1315833007 Cr-Commit-Position: refs/heads/master@{#345370}
* [Android] Add gyp support for multidex.jbudorick2015-08-251-0/+10
| | | | | | | | | | Note that this does not enable multidex builds yet. BUG=272790 Review URL: https://codereview.chromium.org/1278573002 Cr-Commit-Position: refs/heads/master@{#345357}
* [Android] Suppress findbugs stderr output.jbudorick2015-08-221-0/+12
| | | | | | | | BUG=514342 Review URL: https://codereview.chromium.org/1258303003 Cr-Commit-Position: refs/heads/master@{#344992}
* Expose custom tab client gyp target in chromiumianwen2015-07-101-2/+3
| | | | | | | | | | | | | | | A custom tab client project has been mirrored in third_party. We should add a gyp target to compile it in upstream, and delete the downstream one. This CL also updated java.gypi to let it take customizable src suffix, just like java_apk.gypi. BUG=NONE Review URL: https://codereview.chromium.org/1222403005 Cr-Commit-Position: refs/heads/master@{#338399}
* Add -bootclasspath argument to javac.ohrn2015-07-081-0/+1
| | | | | | | | | | | | | | This silences the warning "bootstrap class path not set in conjunction with -source 1.7" when building with OpenJDK 1.8. The multiple_proguards test was removed as javac will now catch the use of host packages that do not exist on Android. BUG= Review URL: https://codereview.chromium.org/1213433007 Cr-Commit-Position: refs/heads/master@{#337805}
* Add the Errorprone Java Compilerraywilliams2015-06-221-0/+19
| | | | | | | | | | | | | These changes let the errorprone compiler find problems when building Android. A global flag disabled Errorprone by default. When enabled, code problems will be shown with suggestions on how to fix them. BUG=485599 Review URL: https://codereview.chromium.org/1136573002 Cr-Commit-Position: refs/heads/master@{#335509}
* Make aapt and aidl paths flexible.aurimas2015-06-041-1/+1
| | | | | | | | | | | Android-M sdk moved these build-tools to a different directory and so we need to be able to set them in GYP_DEFINES for M sdk builds. BUG=None Review URL: https://codereview.chromium.org/1162943008 Cr-Commit-Position: refs/heads/master@{#332959}
* [Android] Remove v14 resource verification entirely.kkimlabs2015-05-181-4/+0
| | | | | | | | BUG=487391 Review URL: https://codereview.chromium.org/1136273003 Cr-Commit-Position: refs/heads/master@{#330439}
* [Android] Add an option to skip v14 resource verification.kkimlabs2015-05-141-0/+4
| | | | | | | | | | | | | | | | | | | | Android AAPT 21+ will automatically move attributes to a version of the XML file with -vXX resource qualifier. So we no longer need our generate_v14_compatible_resources.py script. But AAPT only drops the attributes, so if we don't use our script, we need to put left/right in addition to start/end in our layout xmls. The plan is, disabling our script for Android support library and keep using for ourselves, until we can drop the script entirely when we discontinue support for JB. TBR=cjhopman@chromium.org BUG=487391 Review URL: https://codereview.chromium.org/1136953009 Cr-Commit-Position: refs/heads/master@{#329947}
* [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