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

Issue 1182323007: Make DependencyGraph.DeepDependencies() depth-first. (Closed)

Created:
5 years, 6 months ago by Dan Beam
Modified:
5 years, 6 months ago
Reviewers:
cjhopman, Nico
CC:
gyp-developer_googlegroups.com
Base URL:
https://chromium.googlesource.com/external/gyp.git@master
Target Ref:
refs/heads/master
Project:
gyp
Visibility:
Public.

Description

Make DependencyGraph.DeepDependencies() depth-first. Previously dependencies were processed in-order, this changes to pre-order. This makes 'all_dependent_settings' processing order topological. R=thakis@chromium.org BUG=393873 Committed: https://chromium.googlesource.com/external/gyp/+/ae276266d580a10b87661ca50c4574a03625c033

Patch Set 1 #

Patch Set 2 : add tests #

Total comments: 2

Patch Set 3 : doc comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+67 lines, -3 lines) Patch
M pylib/gyp/input.py View 1 chunk +1 line, -1 line 0 comments Download
A test/dependencies/adso/all_dependent_settings_order.gyp View 1 1 chunk +45 lines, -0 lines 0 comments Download
A + test/dependencies/adso/write_args.py View 1 1 chunk +2 lines, -2 lines 0 comments Download
A test/dependencies/gyptest-all-dependent-settings-order.py View 1 2 1 chunk +19 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (7 generated)
Dan Beam
5 years, 6 months ago (2015-06-18 21:48:58 UTC) #3
Nico
lgtm if yes https://codereview.chromium.org/1182323007/diff/60001/test/dependencies/adso/all_dependent_settings_order.gyp File test/dependencies/adso/all_dependent_settings_order.gyp (right): https://codereview.chromium.org/1182323007/diff/60001/test/dependencies/adso/all_dependent_settings_order.gyp#newcode7 test/dependencies/adso/all_dependent_settings_order.gyp:7: 'all_dependent_settings': {'sources': ['a.cc']}, Do direct_dependent_settings work ...
5 years, 6 months ago (2015-06-18 21:51:58 UTC) #4
Dan Beam
https://codereview.chromium.org/1182323007/diff/60001/test/dependencies/adso/all_dependent_settings_order.gyp File test/dependencies/adso/all_dependent_settings_order.gyp (right): https://codereview.chromium.org/1182323007/diff/60001/test/dependencies/adso/all_dependent_settings_order.gyp#newcode7 test/dependencies/adso/all_dependent_settings_order.gyp:7: 'all_dependent_settings': {'sources': ['a.cc']}, On 2015/06/18 21:51:58, Nico wrote: > ...
5 years, 6 months ago (2015-06-18 21:56:27 UTC) #5
commit-bot: I haz the power
Commit queue rejected this change because it did not recognize the base URL. Please commit ...
5 years, 6 months ago (2015-06-18 23:01:08 UTC) #10
Nico
Committed patchset #3 (id:80001) manually as ae276266d580a10b87661ca50c4574a03625c033 (presubmit successful).
5 years, 6 months ago (2015-06-18 23:35:31 UTC) #11
cjhopman
5 years, 6 months ago (2015-06-19 20:50:02 UTC) #13
Message was sent while issue was closed.
This description confused me. DeepDependencies was already doing a depth-first
search. in-order/pre-order terms usually apply to traversing a tree, but we are
traversing a graph. Also if it were a tree, wouldn't this actually be changing
from pre-order to post-order? In a tree, both pre-order and post-order provide a
topological sort (well, depends on if edges are directed toward children or
parents).

The change itself looks correct, though.

Powered by Google App Engine
This is Rietveld 408576698