Revert 256097 "android: Pass (non-generated) .java files via a g..."
commit76d122ab77b3a56d0ad6cc2eab27edd46240e751
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 11 Mar 2014 04:29:51 +0000 (11 04:29 +0000)
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 11 Mar 2014 04:29:51 +0000 (11 04:29 +0000)
tree427272a89a408109fe7548bd6edd49138be05e6f
parent476def123cf46dd6d241231a45abe875723f47f3
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
build/android/gyp/javac.py
build/java.gypi
build/java_apk.gypi