-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Request silent restore for all separate restore steps #40148
Conversation
I'm thinking we might want to make this a bit more specific. It looks like you're changing it from "be quiet if getX is specified" to "be quiet for separate restore," but it sounds like this is only something we'd want for tl because it hides and rearranges information, so if you have tl disabled, I'd expect current behavior (be quiet only if getX is specified). |
This is hard to discover in the SDK because the feature-detection for TL happens internal to MSBuild. |
I guess we might use the new ability of specifying verbosity just for terminal logger added by @AR-May: dotnet/msbuild#9810 (comment) If I understand the feature right, then adding Thoughts? |
That seems like a great resolution, good thinking. |
I agree; that sounds perfect to me 🙂 |
Good. So updated behavior:
|
I think that if nologo is applied to one dotnet command, it still creates the first use sentinel, which means the subsequent command would also not print a logo. Is that correct @baronfel? If so, is that something we should change? |
I believe msbuild nologo is slightly different in this. But btw. I've just realized I was recently removing the version string in case terminal logger is used :-) dotnet/msbuild#9831 - so it's actualy superfluous in case of tl. So removing this as well... |
I think we need to keep nologo at minimum for cases where TL isn't used - the SDK doesn't do TL probing itself and so cannot know if the presence/absence of TL will influence of the logo is shown. |
Yes - I finally kept that behavior unchanged - Let me know if you have any concerns with the suggested behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for helping us get a good design! The only part currently confusing me is that on line 64, it says we should only add these arguments if (arguments != null). I think that if arguments is null, we would still want -tlp:verbosity=quiet. I don't think it matters, though, because I think arguments is never null...but then I'm curious why that check exists in the first place...
Very good point! |
Context
Separate execution of restore for some of the invoked msbuild commands lead to suboptimal experience with terminal logger feature. Example: dotnet/msbuild#9614
Changes made
This PR is proposing:
-tlp:verbosity=quiet
)Get<X>
commands still lead to quiet verbosity for all loggers (-verbosity:quiet
)get<X>
commands (this stays untouched from current main behavior)Testing
Existing unit tests + manual testing of the case from the user filed issue