|
|
Created:
3 years, 8 months ago by brucedawson Modified:
3 years, 8 months ago CC:
chromium-reviews, tfarina, agrieve+watch_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionGet gn analyze to respect changes to vs_toolchain.py
When changing the default compiler toolchain, either when changing
_GetDesiredVsToolchainHashes() or CURRENT_DEFAULT_TOOLCHAIN_VERSION,
it is important that gn analyze knows that this means that everything
needs rebuilding. This avoids having to use the blunt-hammer of
landmines.
R=dpranke@chromium.org
BUG=683729, 555273
Review-Url: https://codereview.chromium.org/2780023002
Cr-Commit-Position: refs/heads/master@{#460887}
Committed: https://chromium.googlesource.com/chromium/src/+/b62c0d449adee39905c8e0b7cd262f22502ae67a
Patch Set 1 #Patch Set 2 : Tweaked vs_toolchain.py detection #
Total comments: 1
Patch Set 3 : Match more of the path to avoid false positives #Messages
Total messages: 18 (9 generated)
I tested this change with the following input.json file: { "files": ["c:/src/chromium4/src/build/vs_toolchain.py"], "test_targets": ["//base:base_unittests"], "additional_compile_targets": ["//base:base_unittests"] } Without this change it found that nothing needed building. With this change it found that 'all' needed building, so that's good. As with .gn* changes there will be some overbuild, as with the recent change to vs_toolchain.py that just removed obsolete VS 2013 references. However this should be rare - most changes to vs_toolchain.py do actually imply a rebuild. PTAL.
Description was changed from ========== Get gn analyze to respect changes to vs_toolchain.py When changing the default compiler toolchain, either when changing _GetDesiredVsToolchainHashes() or CURRENT_DEFAULT_TOOLCHAIN_VERSION, it is important that gn analyze knows that this means that everything needs rebuilding. This avoids having to use the blunt-hammer of landmines. R=dpranke@chromium.org BUG=683729 ========== to ========== Get gn analyze to respect changes to vs_toolchain.py When changing the default compiler toolchain, either when changing _GetDesiredVsToolchainHashes() or CURRENT_DEFAULT_TOOLCHAIN_VERSION, it is important that gn analyze knows that this means that everything needs rebuilding. This avoids having to use the blunt-hammer of landmines. R=dpranke@chromium.org BUG=683729,555273 ==========
brettw@chromium.org changed reviewers: + brettw@chromium.org
https://codereview.chromium.org/2780023002/diff/20001/tools/gn/analyzer.cc File tools/gn/analyzer.cc (right): https://codereview.chromium.org/2780023002/diff/20001/tools/gn/analyzer.cc#ne... tools/gn/analyzer.cc:63: file->GetName() == "vs_toolchain.py") I notice there are three such files: //v8/gypfiles/vs_toolchain.py //build/vs_toolchain.py //third_party/boringssl/src/util/bot/vs_toolchain.py and only one of them counts. If boringssl rolls and we get an updated version of it's toolchain file, it sort of sucks to rebuild all. Is there a more precise way to specify this? Not a huge deal if it's hard.
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
> and only one of them counts. If boringssl rolls and we get an updated version of > it's toolchain file, it sort of sucks to rebuild all. Is there a more precise > way to specify this? Not a huge deal if it's hard. Yeah, I was wondering about that. Not hard at all. Done.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity)
lgtm
The CQ bit was checked by brucedawson@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 40001, "attempt_start_ts": 1490908991913730, "parent_rev": "95990d668523353e2a4adabff2eeccf207f1f04d", "commit_rev": "b62c0d449adee39905c8e0b7cd262f22502ae67a"}
Message was sent while issue was closed.
Description was changed from ========== Get gn analyze to respect changes to vs_toolchain.py When changing the default compiler toolchain, either when changing _GetDesiredVsToolchainHashes() or CURRENT_DEFAULT_TOOLCHAIN_VERSION, it is important that gn analyze knows that this means that everything needs rebuilding. This avoids having to use the blunt-hammer of landmines. R=dpranke@chromium.org BUG=683729,555273 ========== to ========== Get gn analyze to respect changes to vs_toolchain.py When changing the default compiler toolchain, either when changing _GetDesiredVsToolchainHashes() or CURRENT_DEFAULT_TOOLCHAIN_VERSION, it is important that gn analyze knows that this means that everything needs rebuilding. This avoids having to use the blunt-hammer of landmines. R=dpranke@chromium.org BUG=683729,555273 Review-Url: https://codereview.chromium.org/2780023002 Cr-Commit-Position: refs/heads/master@{#460887} Committed: https://chromium.googlesource.com/chromium/src/+/b62c0d449adee39905c8e0b7cd26... ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as https://chromium.googlesource.com/chromium/src/+/b62c0d449adee39905c8e0b7cd26...
Message was sent while issue was closed.
This keeps analyze from short-circuiting a build, but does it actually cause GN to treat things as out of date and needing a recompile?
Message was sent while issue was closed.
On 2017/03/31 22:59:22, Dirk Pranke wrote: > This keeps analyze from short-circuiting a build, but does it actually cause GN > to treat things as out of date and needing a recompile? This change only needs to make gn analyze behave. The secondary problem of making ninja realize that the compile and link steps need to be redone was handled a year ago by a change (crrev.com/1634923002) that puts each toolchain in a separate directory, with the toolchain hash as part of the path. This means that the command-line will change and ninja will treat all the steps as needing to be re-run.
Message was sent while issue was closed.
On 2017/04/04 21:06:13, brucedawson wrote: > On 2017/03/31 22:59:22, Dirk Pranke wrote: > > This keeps analyze from short-circuiting a build, but does it actually cause > GN > > to treat things as out of date and needing a recompile? > > This change only needs to make gn analyze behave. The secondary problem of > making ninja realize that the compile and link steps need to be redone was > handled a year ago by a change (crrev.com/1634923002) that puts each toolchain > in a separate directory, with the toolchain hash as part of the path. This means > that the command-line will change and ninja will treat all the steps as needing > to be re-run. Yup, as you filled me in offline, this makes sense. Nice! |