Skip to content

FAKE 4.61.3, MSBuild Helper writes a warning into the error stream on Windows #1573

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
andreichuk opened this issue Jun 1, 2017 · 13 comments
Labels

Comments

@andreichuk
Copy link

Hello,

FAKE 4.61.3 has a regression:
this line in MSBuildHelper.fs & MSBuild.fs
traceFAKE "If you encounter msbuild errors make sure you have copied the required SDKs, see dotnet/msbuild#1697"
writes the warning into the error stream on Windows which in its order causes problems in some build systems.

FAKE 4.61.2 works fine.

@matthid
Copy link
Member

matthid commented Jun 1, 2017

Actually FAKE prevents to write stuff to stdErr on Build Systems where this fails the build. What is your build system?

@matthid
Copy link
Member

matthid commented Jun 1, 2017

@andreichuk
Copy link
Author

@andreichuk
Copy link
Author

andreichuk commented Jun 1, 2017

What is your build system?

team foundation

@matthid
Copy link
Member

matthid commented Jun 1, 2017

See #1574 for the follow-up on the general problem in this case.

@matthid matthid closed this as completed Jun 1, 2017
@matthid
Copy link
Member

matthid commented Jun 1, 2017

Ok I'll leave this open as a reminder that a FAKE 4 hotfix might make sense.

@matthid matthid reopened this Jun 1, 2017
@matthid
Copy link
Member

matthid commented Jun 12, 2017

@andreichuk is the 5.0.0-alpha010 release enough for you or do you need a hotfix for some reason?

@andreichuk
Copy link
Author

I disabled "error on std error writes" then. i'll try FAKE 5 when it's at least in beta. thanks for your work!

@matthid matthid added the bug label Oct 15, 2017
@Slesa
Copy link
Contributor

Slesa commented Oct 26, 2017

I just stumbled over this issue yesterday. Next step would be to migrate to FAKE5. But until then - what is the possibility to disable this error logging? Everything works fine, only this error message breaks the build. Do I have to recompile FAKE locally?

Wouldn't it be nice to have an environment setting or something like that to prevent this error log?

@matthid
Copy link
Member

matthid commented Nov 13, 2017

@Slesa What is your build server? Why can't you disable that the build fails for writing in stderr?
Generally, the exit code should be enough for FAKE.

@Slesa
Copy link
Contributor

Slesa commented Nov 13, 2017

The build server is TFS2017. I think, why I can't disable the failing is: I want to use the logging of the MSBuild mechanism for further analyzing, e.g. investigate the build quality, fill the result mail with correct data about warnings and all that stuff. As soon as I use the build batch build.cmd, this is prevented. The logging queue of msbuild is broken then. So I used the F# launcher of Isaac Abraham - and then the errror log stops the build.

I just had a look at the options page, because your questioning made me feel I'd be missing something - and here it is: the option "fail on stderr" can be set, but only in batch mode. So, this is probably the reason why it works at all for me. Maybe Isaac should add that additional option, too?

@matthid
Copy link
Member

matthid commented Nov 13, 2017

/cc @isaacabraham

@matthid
Copy link
Member

matthid commented Mar 4, 2018

We will revisit this for Fake 5. The Trace module is already a lot more flexible in that regard (ie you can register your own Listener and remove the default one).
I doubt that there will be a FAKE 4 hotfix at this time.

@matthid matthid closed this as completed Mar 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants