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

Issue 10381103: ninja: rules chained only by output of first one failing

Created:
8 years, 7 months ago by scottmg
Modified:
8 years, 7 months ago
Reviewers:
Evan Martin
CC:
gyp-developer_googlegroups.com
Visibility:
Public.

Description

ninja: rules chained only by output of first one failing Test from case in linked bug. Rule X generates .a -> .b, rule Y generates .b -> .c. Previously, Y wouldn't get run because ninja generator wasn't seeing the .b files that were only generated from running X. BUG=127444

Patch Set 1 #

Patch Set 2 : maybe fixedish #

Patch Set 3 : tidy up #

Patch Set 4 : python copy so it works non-win #

Patch Set 5 : don't add to ourselves #

Patch Set 6 : remove debug print #

Total comments: 1

Patch Set 7 : add action->rule chain test #

Patch Set 8 : first pass of preprocess for sources list #

Patch Set 9 : get sources as a preprocess, except output of rules later #

Patch Set 10 : update comments #

Patch Set 11 : only update sources if process_outputs_as_sources #

Total comments: 7

Patch Set 12 : fixes #

Patch Set 13 : add 3 level test, with circular extensions #

Patch Set 14 : don't process final output as source #

Patch Set 15 : exclude make #

Unified diffs Side-by-side diffs Delta from patch set Stats (+239 lines, -21 lines) Patch
M pylib/gyp/generator/ninja.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 chunks +56 lines, -21 lines 0 comments Download
A test/chained-rules/action.input View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
A test/chained-rules/chained-rules.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +150 lines, -0 lines 0 comments Download
A test/chained-rules/copyfile.py View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
A test/chained-rules/foo.msi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
A test/chained-rules/gyptest-chained-rules.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +23 lines, -0 lines 0 comments Download
A test/chained-rules/input.wxs View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
scottmg
(not sure who's a better reviewer... first one "wins"!)
8 years, 7 months ago (2012-05-16 23:01:26 UTC) #1
Nico
https://chromiumcodereview.appspot.com/10381103/diff/11001/test/ninja/chained-rules/gyptest-chained-rules.py File test/ninja/chained-rules/gyptest-chained-rules.py (right): https://chromiumcodereview.appspot.com/10381103/diff/11001/test/ninja/chained-rules/gyptest-chained-rules.py#newcode15 test/ninja/chained-rules/gyptest-chained-rules.py:15: test = TestGyp.TestGyp(formats=['ninja']) Why a ninja-only test?
8 years, 7 months ago (2012-05-16 23:08:55 UTC) #2
scottmg
On 2012/05/16 23:08:55, Nico wrote: > https://chromiumcodereview.appspot.com/10381103/diff/11001/test/ninja/chained-rules/gyptest-chained-rules.py > File test/ninja/chained-rules/gyptest-chained-rules.py (right): > > https://chromiumcodereview.appspot.com/10381103/diff/11001/test/ninja/chained-rules/gyptest-chained-rules.py#newcode15 > ...
8 years, 7 months ago (2012-05-16 23:10:29 UTC) #3
scottmg
Per Evan's suggestion, gather sources as a preprocess. One complication is rules that both process ...
8 years, 7 months ago (2012-05-18 05:24:36 UTC) #4
alexeypa (please no reviews)
On 2012/05/18 05:24:36, scottmg wrote: > Per Evan's suggestion, gather sources as a preprocess. One ...
8 years, 7 months ago (2012-05-18 15:48:45 UTC) #5
scottmg
On 2012/05/18 15:48:45, alexeypa wrote: > Will it be able to handle > remoting/remoting.gyp:remoting_host_installation_unittest? Yes, ...
8 years, 7 months ago (2012-05-18 15:57:34 UTC) #6
Nico
I'll leave this to Evan.
8 years, 7 months ago (2012-05-18 16:07:41 UTC) #7
Evan Martin
LGTM https://chromiumcodereview.appspot.com/10381103/diff/15006/pylib/gyp/generator/ninja.py File pylib/gyp/generator/ninja.py (left): https://chromiumcodereview.appspot.com/10381103/diff/15006/pylib/gyp/generator/ninja.py#oldcode521 pylib/gyp/generator/ninja.py:521: extra_mac_bundle_resources): It's so pleasing to see this param ...
8 years, 7 months ago (2012-05-18 17:19:06 UTC) #8
scottmg
Thanks. I also added a 3-level-test per Alex's suggestion, and excluded make. It looks like ...
8 years, 7 months ago (2012-05-18 18:06:30 UTC) #9
scottmg
On 2012/05/18 18:06:30, scottmg wrote: > Thanks. I also added a 3-level-test per Alex's suggestion, ...
8 years, 7 months ago (2012-05-18 18:25:49 UTC) #10
scottmg
8 years, 7 months ago (2012-05-18 22:51:09 UTC) #11
On 2012/05/18 18:25:49, scottmg wrote:
> This makes me lean further towards abandoning this and disallowing instead.

Closing, and going the other way with:
https://chromiumcodereview.appspot.com/10399096/ and
https://chromiumcodereview.appspot.com/10392172/

extra_sources will live for another day. :/

Powered by Google App Engine
This is Rietveld 408576698