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.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.gypi')
-rw-r--r-- | build/java.gypi | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/build/java.gypi b/build/java.gypi index b93a246..68725f5 100644 --- a/build/java.gypi +++ b/build/java.gypi @@ -187,7 +187,7 @@ }, 'inputs': [ '<(DEPTH)/build/android/pylib/build_utils.py', - '<(DEPTH)/build/android/javac.py', + '<(DEPTH)/build/android/gyp/javac.py', '>!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java")', '>@(input_jars_paths)', '>@(additional_input_paths)', @@ -196,7 +196,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)', '--src-dirs=>(all_src_dirs)', @@ -213,14 +213,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_path)', ], '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)', @@ -234,14 +235,15 @@ 'message': 'Dexing <(_target_name) jar', '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', '<(jar_path)', ], 'outputs': [ '<(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)', |