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

Issue 1361733002: Make javac invocations incremental when possible (Closed)

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

Description

Adds an --incremental flag to javac.py and a GN flag to enable it Overhauls md5_check.py to have it track exactly what files change, as well as what subfiles within zip files change. Uses this information in javac.py to compile only source files that have changed since the last invokation. Timings for the javac.py step of chrome_java with one file changed: Before: real 0m11.381s user 0m27.881s sys 0m1.217s After: real 0m3.511s user 0m4.624s sys 0m0.631s BUG=533442 Committed: https://crrev.com/d8cef607861d43744b652410aff6f5629181a0f1 Cr-Commit-Position: refs/heads/master@{#350680}

Patch Set 1 #

Patch Set 2 : Revert write_build_config.py change (wrong CL) #

Total comments: 15

Patch Set 3 : review comments #

Patch Set 4 : subtle fix #

Patch Set 5 : typo found #

Patch Set 6 : add flag and disable by default #

Unified diffs Side-by-side diffs Delta from patch set Stats (+561 lines, -164 lines) Patch
M build/android/gyp/jar.py View 2 chunks +7 lines, -8 lines 0 comments Download
M build/android/gyp/javac.py View 1 2 3 4 5 3 chunks +123 lines, -44 lines 0 comments Download
M build/android/gyp/util/build_utils.py View 1 2 3 4 5 5 chunks +11 lines, -5 lines 0 comments Download
M build/android/gyp/util/md5_check.py View 1 2 3 4 5 3 chunks +335 lines, -86 lines 0 comments Download
M build/android/gyp/util/md5_check_test.py View 3 chunks +79 lines, -21 lines 0 comments Download
M build/config/android/config.gni View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M build/config/android/internal_rules.gni View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 16 (5 generated)
jbudorick
lgtm w/ nits You weren't kidding, this is a big one. https://codereview.chromium.org/1361733002/diff/20001/build/android/gyp/jar.py File build/android/gyp/jar.py (right): ...
5 years, 3 months ago (2015-09-23 00:26:20 UTC) #2
agrieve
https://codereview.chromium.org/1361733002/diff/20001/build/android/gyp/jar.py File build/android/gyp/jar.py (right): https://codereview.chromium.org/1361733002/diff/20001/build/android/gyp/jar.py#newcode36 build/android/gyp/jar.py:36: def JarDirectory(classes_dir, jar_path, manifest_file=None, predicate=None): On 2015/09/23 00:26:20, jbudorick ...
5 years, 3 months ago (2015-09-23 02:07:56 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1361733002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1361733002/100001
5 years, 3 months ago (2015-09-24 18:10:24 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1361733002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1361733002/100001
5 years, 3 months ago (2015-09-24 21:57:32 UTC) #9
commit-bot: I haz the power
Committed patchset #6 (id:100001)
5 years, 3 months ago (2015-09-24 22:08:48 UTC) #10
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/d8cef607861d43744b652410aff6f5629181a0f1 Cr-Commit-Position: refs/heads/master@{#350680}
5 years, 3 months ago (2015-09-24 22:09:28 UTC) #11
cjhopman2
On 2015/09/24 22:09:28, commit-bot: I haz the power wrote: > Patchset 6 (id:??) landed as ...
5 years, 2 months ago (2015-09-25 06:59:40 UTC) #12
agrieve
On 2015/09/25 06:59:40, cjhopman2 wrote: > On 2015/09/24 22:09:28, commit-bot: I haz the power wrote: ...
5 years, 2 months ago (2015-09-25 14:22:09 UTC) #13
agrieve
On 2015/09/25 14:22:09, agrieve wrote: > On 2015/09/25 06:59:40, cjhopman2 wrote: > > On 2015/09/24 ...
5 years, 2 months ago (2015-09-25 15:22:36 UTC) #14
agrieve
On 2015/09/25 15:22:36, agrieve wrote: > On 2015/09/25 14:22:09, agrieve wrote: > > On 2015/09/25 ...
5 years, 2 months ago (2015-09-25 17:34:46 UTC) #15
Yaron
5 years, 2 months ago (2015-09-25 17:59:42 UTC) #16
Message was sent while issue was closed.
On 2015/09/25 06:59:40, cjhopman2 wrote:
> On 2015/09/24 22:09:28, commit-bot: I haz the power wrote:
> > Patchset 6 (id:??) landed as
> > https://crrev.com/d8cef607861d43744b652410aff6f5629181a0f1
> > Cr-Commit-Position: refs/heads/master@{#350680}
> 
> I only took a quick look at this, but it may be wrong:
> 
> It is possible that changing A.java will require that B.java be rebuilt even
if
> B.java doesn't change. E.g. A.java contains a primitive constant that is
inlined
> into B.java.

Good catch - thanks for your feedback, Chris! Hope all is well

Powered by Google App Engine
This is Rietveld 408576698