Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Issue 1373443004: Improve javac.py --incremental logic by having it recompile more files (Closed)

Created:
5 years, 2 months ago by agrieve
Modified:
5 years, 2 months ago
Reviewers:
Yaron, cjhopman2
CC:
chromium-reviews, klundberg+watch_chromium.org, yfriedman+watch_chromium.org, jbudorick+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix javac.py --incremental logic Fix #1 - It now recompiles .java files that reference changed files. Fix #2 - It now extracts all needed .class files (was messing up on Foo.class vs. FooImpl.class due to prefix matching) Also renames the debug environment variable: PRINT_MD5_DIFFS -> PRINT_INCREMENTAL_EXPLANATIONS BUG=533442

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -11 lines) Patch
M build/android/gyp/javac.py View 4 chunks +42 lines, -8 lines 4 comments Download
M build/android/gyp/util/md5_check.py View 3 chunks +3 lines, -3 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 9 (2 generated)
agrieve
On 2015/09/25 17:32:31, agrieve wrote: > mailto:agrieve@chromium.org changed reviewers: > + mailto:yfriedman@chromium.org (-’๏_๏’-)
5 years, 2 months ago (2015-09-25 17:33:30 UTC) #2
agrieve
On 2015/09/25 17:33:30, agrieve wrote: > On 2015/09/25 17:32:31, agrieve wrote: > > mailto:agrieve@chromium.org changed ...
5 years, 2 months ago (2015-09-25 17:50:49 UTC) #3
agrieve
On 2015/09/25 17:50:49, agrieve wrote: > On 2015/09/25 17:33:30, agrieve wrote: > > On 2015/09/25 ...
5 years, 2 months ago (2015-09-25 17:59:25 UTC) #5
Yaron
lgtm per offline discussion provided: 1) we add an assert / build failure if the ...
5 years, 2 months ago (2015-09-25 18:34:10 UTC) #6
agrieve
https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py File build/android/gyp/javac.py (right): https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py#newcode130 build/android/gyp/javac.py:130: class_name_pattern = re.compile(r'\b(?:%s)\b' % '|'.join(changed_class_names)) On 2015/09/25 18:34:09, Yaron ...
5 years, 2 months ago (2015-09-25 18:49:44 UTC) #7
agrieve
On 2015/09/25 18:49:44, agrieve wrote: > https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py > File build/android/gyp/javac.py (right): > > https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py#newcode130 > ...
5 years, 2 months ago (2015-09-25 20:24:34 UTC) #8
agrieve
5 years, 2 months ago (2015-09-28 15:20:07 UTC) #9
On 2015/09/25 20:24:34, agrieve wrote:
> On 2015/09/25 18:49:44, agrieve wrote:
> > https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py
> > File build/android/gyp/javac.py (right):
> > 
> >
>
https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py#...
> > build/android/gyp/javac.py:130: class_name_pattern =
re.compile(r'\b(?:%s)\b'
> %
> > '|'.join(changed_class_names))
> > On 2015/09/25 18:34:09, Yaron wrote:
> > > I'm having trouble thinking this through but make sure you've considered
> inner
> > > classes here? I guess changed_paths would only ever refer to the top-level
> > java
> > > file so should be ok on that end. In terms of the grep, I think it should
> also
> > > match top-level class or inner classes so seems ok?
> > 
> > You can't reference an inner class without typing the outer-class's name.
> > 
> > However...
> > 
> > Just thought of the case where you do:  obj.getFoo().doThing()
> > 
> > You never reference the type of getFoo(), yet still depend on it :( 
> > 
> > Back to javap...
> > 
> >
>
https://codereview.chromium.org/1373443004/diff/1/build/android/gyp/javac.py#...
> > build/android/gyp/javac.py:158: return ret
> > On 2015/09/25 18:34:09, Yaron wrote:
> > > merge with line above
> > 
> > Done.
> 
> oooooookay. After more research on the topic, I believe the best path forward
is
> to make use of:
>
https://github.com/pantsbuild/jmake/blob/master/src/org/pantsbuild/jmake/Main...
> 
> Good article on the subject:
> http://blog.ltgt.net/most-build-tools-misuse-javac/

Abandoning this patch. Filed a dedicated by for jmake:
https://code.google.com/p/chromium/issues/detail?id=536817

Powered by Google App Engine
This is Rietveld 408576698