summaryrefslogtreecommitdiffstats
path: root/build/java_apk.gypi
diff options
context:
space:
mode:
authorcjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 09:35:50 +0000
committercjhopman@chromium.org <cjhopman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 09:35:50 +0000
commitc3aae52ad4abdfbaea23891b104d5f2b4f26ab7e (patch)
tree75fed191dd14f4d3e2dd76eeabdb2b648346c207 /build/java_apk.gypi
parent7efaed367a5144c072a95f340cf13b510a3f1979 (diff)
downloadchromium_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.gypi15
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)',