mrev1l1 / gyp

Automatically exported from code.google.com/p/gyp
0 stars 0 forks source link

test/rules-rebuild/gyptest-default.py broken on VS2013 #465

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I don't know why, but changing the source generator (make-sources.py) doesn't 
trigger a rebuild. It seems like MSBuild is aborting without even considering 
whether the file's been changed.

It works on VS2008 OK.

It looks like the .props and the .targets are semi-reasonable, but they're very 
hard to decipher so there might be something subtly wrong.

This also seems related: 
https://social.msdn.microsoft.com/Forums/vstudio/en-US/d7759321-de78-47f1-a546-8
2aac8340f2e/additional-dependencies-dont-work-in-custom-build-rules-with-vs-2010
-conversion-from-vs2008?forum=msbuild

Original issue reported on code.google.com by scottmg@chromium.org on 30 Oct 2014 at 9:05

GoogleCodeExporter commented 9 years ago
fyi, since perhaps this might bite you. I don't think anything's changed 
recently, I guess it never worked properly (?) or something in MSBuild w/ 2013 
changed.

Original comment by scottmg@chromium.org on 30 Oct 2014 at 9:08

GoogleCodeExporter commented 9 years ago
Thanks for the heads up! :)
When did this start failing?  Is it gyp_win64 specific or affecting gyp_win32 
as well?
I'm on holiday right now but I'll try reproduce it locally when I get back.

Original comment by shezanb...@gmail.com on 30 Oct 2014 at 10:34

GoogleCodeExporter commented 9 years ago
It started failing because we started running tests on 2013. :/ (we don't run 
the vs tests on x86 hosts any more because the only ones we had were XP bots.)

So I guess it's always been broken. I'm not certain what changed between 
2010/2012 and 2013 though, my eyes glazed over a little when I got into the 
msbuild scripts.

Original comment by scottmg@chromium.org on 30 Oct 2014 at 10:45

GoogleCodeExporter commented 9 years ago
It looks like the following two things, together, make the test pass:

* use 'make_sources' instead of 'None' as the element name for make_sources.py
* remove the 'ExcludedFromBuild' flag

The first one seems reasonable, the second one seems a little worrying though.  
It looks like msbuild now completely ignores 'ExcludedFromBuild' files in its 
dependency graph.

Original comment by shezbaig...@gmail.com on 4 Nov 2014 at 5:06

GoogleCodeExporter commented 9 years ago
I have a fix -- just need to cleanup my patch a bit

Original comment by shezbaig...@gmail.com on 4 Nov 2014 at 5:24

GoogleCodeExporter commented 9 years ago
Ah, I tried removing ExcludedFromBuild but I couldn't get it make any 
difference. Thanks for digging into it.

Original comment by scottmg@chromium.org on 4 Nov 2014 at 6:13