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

Issue 424133002: GN: (HeaderChecker) Allow any chain to forward direct dependent configs. (Closed)

Created:
6 years, 4 months ago by jbroman
Modified:
6 years, 4 months ago
Reviewers:
brettw
CC:
chromium-reviews, tfarina
Project:
chromium
Visibility:
Public.

Description

GN: (HeaderChecker) Allow any chain to forward direct dependent configs. When finding a dependency chain, the header check will now prefer chains which forward direct-dependent configs if the target which provides a header has one. Previously an error would be produced because the chain which was found did not forward configs, even though another chain did. A breadth-first search is used instead of a depth-first search because short chains are more likely to be intended by the author, and make for both less work and clearer diagnostic messages. This reduces the size of 'gn check' output on the chromium tree and the time to execute. (Output directed to 'wc -l' and /dev/null, respectively.) Before: 104685 lines, 542.36s user, 35.573s total After: 36977 lines, 7.10s user, 1.526s total Manual inspection reveals that the line reduction appears to be from the removal of spurious errors when IsDependencyOf selected an indirect chain which does not forward direct-dependent configs, even though a direct dependency existed. (About 7 cases were examined manually; sheer volume makes full manual verification infeasible.) BUG=391505 TEST=HeaderCheckerTest, manual Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=288110

Patch Set 1 #

Patch Set 2 : update comments in header #

Total comments: 4

Patch Set 3 : expand comments #

Patch Set 4 : clang-format #

Patch Set 5 : undo spurious clang-format change of existing code #

Patch Set 6 : remove redundant check #

Patch Set 7 : merge with UniqueVector #

Unified diffs Side-by-side diffs Delta from patch set Stats (+224 lines, -79 lines) Patch
M tools/gn/header_checker.h View 1 2 chunks +28 lines, -17 lines 0 comments Download
M tools/gn/header_checker.cc View 1 2 3 4 5 6 6 chunks +90 lines, -44 lines 0 comments Download
M tools/gn/header_checker_unittest.cc View 1 2 3 9 chunks +106 lines, -18 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
jbroman
6 years, 4 months ago (2014-07-29 16:43:19 UTC) #1
brettw
This looks really cool, sorry I haven't had a chance to do this yet since ...
6 years, 4 months ago (2014-07-30 22:26:14 UTC) #2
jbroman
On 2014/07/30 22:26:14, brettw wrote: > This looks really cool, sorry I haven't had a ...
6 years, 4 months ago (2014-07-30 23:13:56 UTC) #3
brettw
https://codereview.chromium.org/424133002/diff/20001/tools/gn/header_checker.cc File tools/gn/header_checker.cc (right): https://codereview.chromium.org/424133002/diff/20001/tools/gn/header_checker.cc#newcode412 tools/gn/header_checker.cc:412: // This maps targets to the target which receives ...
6 years, 4 months ago (2014-07-31 20:50:49 UTC) #4
jbroman
https://codereview.chromium.org/424133002/diff/20001/tools/gn/header_checker.cc File tools/gn/header_checker.cc (right): https://codereview.chromium.org/424133002/diff/20001/tools/gn/header_checker.cc#newcode412 tools/gn/header_checker.cc:412: // This maps targets to the target which receives ...
6 years, 4 months ago (2014-07-31 22:05:37 UTC) #5
brettw
lgtm
6 years, 4 months ago (2014-08-06 22:15:38 UTC) #6
jbroman
The CQ bit was checked by jbroman@chromium.org
6 years, 4 months ago (2014-08-07 01:24:03 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jbroman@chromium.org/424133002/100001
6 years, 4 months ago (2014-08-07 01:25:09 UTC) #8
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: chromium_presubmit on tryserver.chromium.linux ...
6 years, 4 months ago (2014-08-07 03:39:12 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-07 03:44:00 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/2524) linux_chromium_chromeos_rel_swarming on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_swarming/builds/1788) ios_rel_device_ninja ...
6 years, 4 months ago (2014-08-07 03:44:02 UTC) #11
jbroman
The CQ bit was checked by jbroman@chromium.org
6 years, 4 months ago (2014-08-07 13:41:40 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jbroman@chromium.org/424133002/120001
6 years, 4 months ago (2014-08-07 13:43:16 UTC) #13
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: win_chromium_rel on tryserver.chromium.win ...
6 years, 4 months ago (2014-08-07 16:28:10 UTC) #14
commit-bot: I haz the power
6 years, 4 months ago (2014-08-07 19:32:07 UTC) #15
Message was sent while issue was closed.
Change committed as 288110

Powered by Google App Engine
This is Rietveld 408576698