diff options
author | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-04 09:35:50 +0000 |
---|---|---|
committer | cjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-04 09:35:50 +0000 |
commit | c3aae52ad4abdfbaea23891b104d5f2b4f26ab7e (patch) | |
tree | 75fed191dd14f4d3e2dd76eeabdb2b648346c207 /build/java_apk.gypi | |
parent | 7efaed367a5144c072a95f340cf13b510a3f1979 (diff) | |
download | chromium_src-c3aae52ad4abdfbaea23891b104d5f2b4f26ab7e.zip chromium_src-c3aae52ad4abdfbaea23891b104d5f2b4f26ab7e.tar.gz chromium_src-c3aae52ad4abdfbaea23891b104d5f2b4f26ab7e.tar.bz2 |
Add input content checking to some build scripts
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
Diffstat (limited to 'build/java_apk.gypi')
-rw-r--r-- | build/java_apk.gypi | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/build/java_apk.gypi b/build/java_apk.gypi index ad88d9b..af6046e 100644 --- a/build/java_apk.gypi +++ b/build/java_apk.gypi @@ -231,6 +231,7 @@ 'message': 'Pushing libraries to device for <(_target_name)', 'inputs': [ '<(DEPTH)/build/android/pylib/build_utils.py', + '<(DEPTH)/build/android/gyp/util/md5_check.py', '<(DEPTH)/build/android/gyp/push_libraries.py', '<(strip_stamp)', ], @@ -378,7 +379,7 @@ }, 'inputs': [ '<(DEPTH)/build/android/pylib/build_utils.py', - '<(DEPTH)/build/android/javac.py', + '<(DEPTH)/build/android/gyp/javac.py', # If there is a separate find for additional_src_dirs, it will find the # wrong .java files when additional_src_dirs is empty. '>!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java")', @@ -390,7 +391,7 @@ '<(compile_stamp)', ], 'action': [ - 'python', '<(DEPTH)/build/android/javac.py', + 'python', '<(DEPTH)/build/android/gyp/javac.py', '--output-dir=<(classes_dir)', '--classpath=>(input_jars_paths) <(android_sdk_jar)', '--src-dirs=>(all_src_dirs)', @@ -407,14 +408,15 @@ 'message': 'Creating <(_target_name) jar', 'inputs': [ '<(DEPTH)/build/android/pylib/build_utils.py', - '<(DEPTH)/build/android/jar.py', + '<(DEPTH)/build/android/gyp/util/md5_check.py', + '<(DEPTH)/build/android/gyp/jar.py', '<(compile_stamp)', ], 'outputs': [ '<(jar_stamp)', ], 'action': [ - 'python', '<(DEPTH)/build/android/jar.py', + 'python', '<(DEPTH)/build/android/gyp/jar.py', '--classes-dir=<(classes_dir)', '--jar-path=<(jar_path)', '--excluded-classes=<(jar_excluded_classes)', @@ -486,7 +488,8 @@ }, 'inputs': [ '<(DEPTH)/build/android/pylib/build_utils.py', - '<(DEPTH)/build/android/dex.py', + '<(DEPTH)/build/android/gyp/util/md5_check.py', + '<(DEPTH)/build/android/gyp/dex.py', '<(compile_stamp)', '>@(dex_inputs)', ], @@ -494,7 +497,7 @@ '<(dex_path)', ], 'action': [ - 'python', '<(DEPTH)/build/android/dex.py', + 'python', '<(DEPTH)/build/android/gyp/dex.py', '--dex-path=<(dex_path)', '--android-sdk-root=<(android_sdk_root)', |