summaryrefslogtreecommitdiffstats
path: root/build/java_apk.gypi
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 04:29:51 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-11 04:29:51 +0000
commit76d122ab77b3a56d0ad6cc2eab27edd46240e751 (patch)
tree427272a89a408109fe7548bd6edd49138be05e6f /build/java_apk.gypi
parent476def123cf46dd6d241231a45abe875723f47f3 (diff)
downloadchromium_src-76d122ab77b3a56d0ad6cc2eab27edd46240e751.zip
chromium_src-76d122ab77b3a56d0ad6cc2eab27edd46240e751.tar.gz
chromium_src-76d122ab77b3a56d0ad6cc2eab27edd46240e751.tar.bz2
Revert 256097 "android: Pass (non-generated) .java files via a g..."
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
Diffstat (limited to 'build/java_apk.gypi')
-rw-r--r--build/java_apk.gypi15
1 files changed, 7 insertions, 8 deletions
diff --git a/build/java_apk.gypi b/build/java_apk.gypi
index 78c7180..f9387cd2 100644
--- a/build/java_apk.gypi
+++ b/build/java_apk.gypi
@@ -513,19 +513,19 @@
'action_name': 'javac_<(_target_name)',
'message': 'Compiling java for <(_target_name)',
'variables': {
- 'gen_src_dirs': [
+ 'all_src_dirs': [
+ '<(java_in_dir)/src',
'<(intermediate_dir)/gen',
+ '>@(additional_src_dirs)',
'>@(generated_src_dirs)',
],
- # If there is a separate find for additional_src_dirs, it will find the
- # wrong .java files when additional_src_dirs is empty.
- 'java_source_list': '>|(javasources.<(_target_name).gypcmd >!@(find >(java_in_dir) >(additional_src_dirs) -name "*.java"))',
-
},
'inputs': [
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/javac.py',
- '>(java_source_list)',
+ # 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")',
'>@(input_jars_paths)',
'<(codegen_stamp)',
'>@(compile_input_paths)',
@@ -537,8 +537,7 @@
'python', '<(DEPTH)/build/android/gyp/javac.py',
'--output-dir=<(classes_dir)',
'--classpath=>(input_jars_paths) <(android_sdk_jar)',
- '--src-filelist=>(java_source_list)',
- '--src-gendirs=>(gen_src_dirs)',
+ '--src-dirs=>(all_src_dirs)',
'--javac-includes=<(javac_includes)',
'--chromium-code=<(chromium_code)',
'--stamp=<(compile_stamp)',