Граф коммитов

7525 Коммитов

Автор SHA1 Сообщение Дата
Ladi Prosek 69d4bd5a51 PR feedback: Centralize escape codes in class AnsiCodes 2023-04-04 13:29:36 +02:00
Ladi Prosek 8b3f013c4f PR feedback: Move top-level types to their own source files 2023-04-04 11:41:00 +02:00
Ladi Prosek 7c51985be3 PR feedback: Reduce block nesting in QueryIsScreenAndTryEnableAnsiColorCodes 2023-04-04 11:27:42 +02:00
dotnet-maestro[bot] 413571dea9
Update dependencies from https://github.com/dotnet/roslyn build 20230321.5 (#8600)
Microsoft.Net.Compilers.Toolset
 From Version 4.6.0-2.23166.9 -> To Version 4.6.0-2.23171.5

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2023-04-04 15:35:41 +08:00
Rainer Sigwald 1241b599d3
Move EncodingUtilities to Framework (#8620)
This will single-instance it for improved performance.
2023-04-04 10:01:04 +08:00
Forgind 7dd2fa9d5a
Add needs-triage to feature requests (#8624)
We need to look at feature requests and approve them or reject them as appropriate. This adds a label to ensure we notice it as part of our triage process.
2023-04-04 10:00:18 +08:00
Forgind 37bf098794
Clarify what .default means (#8626)
* Clarify what .default means

.default (in MSBuild code) followed an earlier spec that referred to it as <default> and omitted some details. This clarifies the meaning of .default.

* Replace <default> with .default
2023-04-04 09:59:22 +08:00
Rainer Sigwald b705a20b75
Localize response-file-used message (#8608)
This message was in hardcoded English, but all the other deferred messages are localized.
2023-04-03 09:38:06 -05:00
Ladi Prosek 41390058e7 Merge remote-tracking branch 'dotnet/main' into livelogger 2023-03-31 16:54:20 +02:00
Ladi Prosek b0542f37f6 Add #region's and minor cleanup 2023-03-31 16:30:14 +02:00
Roman Konecny 24fc018a5b Minor code clean 2023-03-31 15:38:46 +02:00
Roman Konecny 7e2c5455e4 Thread safety fixes 2023-03-31 15:21:33 +02:00
Roman Konecny c4dbf34117 Merge branch 'livelogger' of https://github.com/dotnet/msbuild into livelogger 2023-03-31 14:55:02 +02:00
Roman Konecny 2c7c07b097 Fixing using Terminal
Detect and fix console resize
Detect and limit max nodes by console height
2023-03-31 14:54:52 +02:00
Ladi Prosek 28cf5abb1d Add command line switch test 2023-03-31 11:24:42 +02:00
Ladi Prosek 415891eeee Fix and suppress warnings in LiveLogger_Tests.cs 2023-03-31 11:24:39 +02:00
Roman Konecny f42f68790f Optimize rendering loop for flickering 2023-03-31 10:40:32 +02:00
Roman Konecny 107d1f8935 Reduce screen flicking by delta rendering 2023-03-31 10:10:58 +02:00
Ladi Prosek aa5cf68300 Add sample LiveLogger unit tests 2023-03-31 10:00:07 +02:00
Rainer Sigwald 4c9e8aa8a9 Merge remote-tracking branch 'upstream/vs17.6' 2023-03-30 11:39:15 -05:00
Rainer Sigwald 35a4904cff
Bump version to 17.7 (#8612) 2023-03-30 11:36:52 -05:00
Forgind 61dd656844
Final version branding (#8604)
Also switched to final version of 17.5.0 package as our validation baseline.
2023-03-30 10:48:05 -05:00
David Federman b835f79e96
Prefer sln-defined platforms for command-line builds over dynamic platfor resolution (#8589)
Today dynamic platform resolution is inconsistent due to the condition being based on `$(BuildingInsideVisualStudio)`, which is obviously only set in VS. Sln-based command-line builds wouldn't have that set though, so dynamic platform resolution would end up running. The comment on `_GetProjectReferencePlatformProperties` implies that sln-provided platforms should be used instead though, so this change switches the condition to check `$(CurrentSolutionConfigurationContents)` instead to make the experience consistent when building a sln in VS or command-line.
2023-03-30 15:28:44 +00:00
Ladi Prosek 8c385b0066 Make the min-importance optimization aware of LiveLogger 2023-03-29 16:49:30 +02:00
Ladi Prosek ece387936d Rename _notableProjects to _projects, track everything 2023-03-29 14:18:22 +02:00
Ladi Prosek 234718660c Print target framework where available 2023-03-29 14:13:09 +02:00
Ladi Prosek 981a637300 Print build result summary 2023-03-29 13:30:06 +02:00
Ladi Prosek 847b58cff9 Add indentation per initial mock-ups 2023-03-29 11:51:27 +02:00
Ladi Prosek a9cf5c8aba Print per-project succeeded/failed upon completion 2023-03-29 11:43:38 +02:00
Ladi Prosek 03f9bfc90c Print project file name without path 2023-03-29 11:14:10 +02:00
Forgind dd5d9f746f
Add warning for using BinaryFormatter in GenerateResource on .NET 8 (#8524)
It will be removed in .NET 9; doing so should be discouraged.

Note that this does nothing by default, but we can change that in the SDK.

Fixes #8453

Context
BinaryFormatter is deprecated and will be removed in .NET 9. In addition to the possibility of using a modern MSBuild with an older framework, there are apparently ways you can exempt your project, so we are not currently removing it entirely, and this warning (which is off by default) can be disabled even if it is enabled in the SDK.

Changes Made
I deleted using System.Runtime.Serialization.Formatters.Binary; in GenerateResource, then put a warning before the one usage of BinaryFormatter. That isn't necessarily the best way to figure out where it's used, as it would be helpful to know early, so feel free to comment to that effect.

Then I disabled it via a property and will make a separate PR to enable it in the 8.0 SDK.

Testing
Notes
2023-03-29 09:30:00 +08:00
Michael Shea 8ead272365
Adding ability to override setplatform negotiation (#8594)
With setplatform negotiation there is no way to force a project to as a certain platform. there is but that will override the feature all together and there is no way to set the platform to be blank. Because of this there is effectively no way to force a dependent project to build as its default value since platform=default will cause overbuilding and does nothing. here is an example

A( building as x64) references project B (Available platforms x86;x64 with default platform x86)

Platform negotiation will negotate to x64 since its available but if we actually wanted to reference b x86 its not possible
because we should leave platform blank if we want to build b as x86 but
and platform= are not valid ways to do this
therefore the only way to build b as x86 is platform=86 but this will lead to overbuilding if b is built once with global props {platform = x86} and once with global props {}
2023-03-28 20:12:15 -05:00
Rainer Sigwald d08de3a153
Demote WriteLinesToFile warning to message (#8606)
The WPF repo and another Microsoft internal repo both reported problems
with the warning added in #8371. Since new warnings can be breaking
changes, demote the warning to a message.

Fixes #8605.
2023-03-28 19:58:52 -05:00
Jan Krivanek 659c51e3ca
Fix app.config not getting updated in output (#8586)
Customer reported that their app.config is not occasionaly getting updated in output folder.
Turns out to be a real issue specific to usage of AutoGenerateBindingRedirects.

Fixes AB#1741178.
2023-03-28 17:17:59 -05:00
Forgind da690cf2cf
Any have metadata value when empty Fixes #5113 (#8603)
Previously, when we saw the Item was empty, we'd jump out early. Fortunately, we already special-cased Count, and it turns out we can do the same with AnyHaveMetadataValue. Fixes #5113.
2023-03-28 17:04:36 -05:00
Marcin Krystianc ea90db2e41
Batch metadata updates for better performance (attempt 2) (#8240)
Improves https://github.com/dotnet/sdk/issues/27738
It is another attempt to introduce changes proposed in https://github.com/dotnet/msbuild/pull/8098, which was reverted due to a bug.
2023-03-28 14:18:47 -05:00
Jenny Bai a941d4d41b
Add feature request template (#8566)
Fixes #8517
2023-03-28 14:15:59 -05:00
dotnet-maestro[bot] 46482893e5
[main] Update dependencies from dotnet/arcade (#8492)
Update dependencies from https://github.com/dotnet/arcade build 20230221.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
 From Version 6.0.0-beta.23114.5 -> To Version 6.0.0-beta.23121.1
2023-03-28 14:10:08 -05:00
Rainer Sigwald 0c462cfd0c
Demote rsp-file-used message importance (#8607)
This feels very noisy to me at normal verbosity; I kept being surprised that I was seeing it.
2023-03-28 14:00:05 -05:00
Roman Konecny e221fb1bb0
ProjectRootElementCache.Clear do not clear immutable files (#8540)
For `msbuild -restore` scenarios `ProjectRootElementCache` cache used to be cleared for restore could have modified or added some project files (like *.directory.props etc...). 

We can optimize it by keeping ProjectRootElements from immutable locations (like SDK) in that cache as those will be used by build following that restore.
2023-03-28 13:59:41 -05:00
Forgind e13070a7f8
Tell bot to only post when a PR is opened or reopened and let it target more servicing branches (#8583)
This updates the bot that currently posts whenever any action is taken on a PR targeting 17.4 (i.e., opened, closed, reopened, commented on, etc.) to only post when the action is to open or reopen a PR. It also extends the branches for which this takes effect to include a number of vs* branches, including some that don't currently exist.

I think this is the final or penultimate iteration. Specifically, I don't think it will fire if you target main, then retarget to vs* without closing and reopening it...unfortunately, retargeting isn't something fabric bot understands. We can add "label added:Servicing-approved" to the list of options as a proxy. That isn't perfect, but it would make it slightly more robust and slightly noisier. I'm open to doing that or not doing that.
2023-03-28 13:47:58 -05:00
David Federman 3cea3e9651
Consolidate solution configuration xml parsing logic (#8590)
Fixes #6751

This change combines the solution configuration xml parsing which the project caching code and the tasks code uses. I did not add `SolutionProjectGenerator.AddPropertyGroupForSolutionConfiguration` into the mix as that's a write scenario and the other two are read scenarios. Maybe at some point the object model could be made more robust and support both the read and write scenarios, but whatever, this is incrementally better.

Note that the main motivation here is that the graph construction code currently does not support the sln-defined configurations, ie what the `AssignProjectConfiguration` target does, so I'll be working on a follow-up change for that. And instead of creating a third copy of this parsing logic, I thought I'd send this PR to consolidate the logic first.

Basically, `SolutionConfiguration.cs` is just ripped directly from `ResolveProjectBase.cs`, and then `ProjectCacheService` just uses `SolutionConfiguration` instead of parsing itself.
2023-03-28 13:47:13 -05:00
Rainer Sigwald cb58a18c1f Merge remote-tracking branch 'upstream/vs17.5' 2023-03-28 11:19:30 -05:00
Ladi Prosek 42a9e0ecb1 Report only output-producing projects as 'completed' 2023-03-28 17:20:28 +02:00
Ladi Prosek f2122e2c2a Code cleanup and comments 2023-03-28 11:47:44 +02:00
Ladi Prosek 1c3db862e2 Use Begin/EnUpdate when finishing a project 2023-03-27 13:50:53 +02:00
Ladi Prosek b46e5c7718 Add 'atomic' writes to fix flickering 2023-03-27 13:40:00 +02:00
Ladi Prosek 13a47fcf78 Add colors to ITerminal/Terminal 2023-03-27 13:15:17 +02:00
Ladi Prosek fde43a12fd Abstract output to ITerminal/Terminal 2023-03-27 12:12:44 +02:00
Ladi Prosek 6d6b9f64b9 Simplify warning & error handling, set output to UTF8 2023-03-27 11:39:23 +02:00