Skip to content

Commit 5d635a7

Browse files
authored
Merge branch 'main' into merge/vs17.13-to-main
2 parents d87bc64 + e18e7f0 commit 5d635a7

File tree

356 files changed

+10377
-5704
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+10377
-5704
lines changed
+38-20
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
## DO NOT MODIFY THIS FILE MANUALLY. This is part of auto-baselining from 1ES Pipeline Templates. Go to [https://aka.ms/1espt-autobaselining] for more details.
2-
3-
pipelines:
4-
9434:
5-
retail:
6-
source:
7-
credscan:
8-
lastModifiedDate: 2024-03-14
9-
eslint:
10-
lastModifiedDate: 2024-03-14
11-
psscriptanalyzer:
12-
lastModifiedDate: 2024-03-14
13-
armory:
14-
lastModifiedDate: 2024-03-14
1+
## DO NOT MODIFY THIS FILE MANUALLY. This is part of auto-baselining from 1ES Pipeline Templates. Go to [https://aka.ms/1espt-autobaselining] for more details.
2+
3+
pipelines:
4+
9434:
5+
retail:
6+
source:
7+
credscan:
8+
lastModifiedDate: 2024-03-14
9+
eslint:
10+
lastModifiedDate: 2024-03-14
11+
psscriptanalyzer:
12+
lastModifiedDate: 2024-03-14
13+
armory:
14+
lastModifiedDate: 2024-03-14
1515
policheck:
1616
lastModifiedDate: 2024-10-09
17-
binary:
18-
credscan:
19-
lastModifiedDate: 2024-03-14
20-
binskim:
17+
binary:
18+
credscan:
19+
lastModifiedDate: 2024-03-14
20+
binskim:
2121
lastModifiedDate: 2024-11-27
2222
spotbugs:
23-
lastModifiedDate: 2024-03-14
23+
lastModifiedDate: 2024-03-14
2424
24295:
2525
retail:
2626
source:
@@ -37,5 +37,23 @@ pipelines:
3737
lastModifiedDate: 2024-11-06
3838
binskim:
3939
lastModifiedDate: 2024-11-21
40-
spotbugs:
40+
spotbugs:
4141
lastModifiedDate: 2024-11-06
42+
24263:
43+
retail:
44+
source:
45+
credscan:
46+
lastModifiedDate: 2024-12-19
47+
eslint:
48+
lastModifiedDate: 2024-12-19
49+
psscriptanalyzer:
50+
lastModifiedDate: 2024-12-19
51+
armory:
52+
lastModifiedDate: 2024-12-19
53+
binary:
54+
credscan:
55+
lastModifiedDate: 2024-12-19
56+
binskim:
57+
lastModifiedDate: 2024-12-19
58+
spotbugs:
59+
lastModifiedDate: 2024-12-19

.config/git-merge-flow-config.jsonc

+9-9
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,29 @@
1010
"vs17.0": {
1111
"MergeToBranch": "vs17.3"
1212
},
13-
// Automate opening PRs to merge msbuild's vs17.3 (SDK 6.0.4xx) into vs17.6 (VS until 1/2025)
13+
// Automate opening PRs to merge msbuild's vs17.3 (SDK 6.0.4xx) into vs17.8 (SDK 8.0.1xx, VS until 7/2025)
1414
"vs17.3": {
15-
"MergeToBranch": "vs17.6"
16-
},
17-
// Automate opening PRs to merge msbuild's vs17.6 into vs17.8 (VS until 7/2025)
18-
"vs17.6": {
1915
"MergeToBranch": "vs17.8"
2016
},
21-
// Automate opening PRs to merge msbuild's vs17.8 (SDK 8.0.1xx) into vs17.10 (SDK 8.0.3xx)
17+
// Automate opening PRs to merge msbuild's vs17.8 (SDK 8.0.1xx) into vs17.10 (SDK 8.0.3xx, VS until 1/2026)
2218
"vs17.8": {
2319
"MergeToBranch": "vs17.10"
2420
},
2521
// Automate opening PRs to merge msbuild's vs17.10 (SDK 8.0.3xx) into vs17.11 (SDK 8.0.4xx)
2622
"vs17.10": {
2723
"MergeToBranch": "vs17.11"
2824
},
29-
// Automate opening PRs to merge msbuild's vs17.11 (SDK 8.0.4xx) into vs17.12 (SDK 9.0.1xx)
25+
// Automate opening PRs to merge msbuild's vs17.11 (SDK 8.0.4xx) into vs17.12 (SDK 9.0.1xx, VS until 7/2026)
3026
"vs17.11": {
3127
"MergeToBranch": "vs17.12"
3228
},
33-
// MSBuild latest release to main
29+
// Automate opening PRs to merge msbuild's vs17.12 (SDK 9.0.1xx) into vs17.13 (SDK 9.0.2xx)
3430
"vs17.12": {
31+
"MergeToBranch": "vs17.13"
32+
},
33+
// MSBuild latest release to main
34+
"vs17.13": {
3535
"MergeToBranch": "main"
3636
}
3737
}
38-
}
38+
}

.config/guardian/.gdnbaselines

+3-3
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@
6060
],
6161
"tool": "credscan",
6262
"ruleId": "CSCAN-GENERAL0020",
63-
"createdDate": "2024-11-06 10:51:54Z",
64-
"expirationDate": "2025-04-25 11:21:52Z",
65-
"justification": "This error is baselined with an expiration date of 180 days from 2024-11-06 11:21:52Z"
63+
"createdDate": "2024-12-19 06:42:54Z",
64+
"expirationDate": "2025-06-07 07:02:56Z",
65+
"justification": "This error is baselined with an expiration date of 180 days from 2024-12-19 07:02:56Z"
6666
}
6767
}
6868
}

.config/tsaoptions.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"instanceUrl": "https://devdiv.visualstudio.com/",
33
"template": "TFSDEVDIV",
44
"projectName": "DEVDIV",
5-
"areaPath": "DevDiv\\NET Tools\\MSBuild",
5+
"areaPath": "DevDiv\\NET Tools Prague\\MSBuild",
66
"iterationPath": "DevDiv",
77
"notificationAliases": [ "msbtm@microsoft.com" ],
88
"repositoryName": "MSBuild",
99
"codebaseName": "MSBuild"
10-
}
10+
}

.vsts-dotnet-ci.yml

+6
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ jobs:
167167
inputs:
168168
filename: 'eng/cibuild_bootstrapped_msbuild.cmd'
169169
arguments: '-msbuildEngine dotnet -onlyDocChanged $(onlyDocChanged)'
170+
env:
171+
MSBUILDUSESERVER: "1"
170172
- task: PublishTestResults@2
171173
displayName: Publish .NET Framework Test Results
172174
inputs:
@@ -309,6 +311,8 @@ jobs:
309311
Token: $(dn-bot-dnceng-artifact-feeds-rw)
310312
- bash: . 'eng/cibuild_bootstrapped_msbuild.sh' --onlyDocChanged $(onlyDocChanged)
311313
displayName: CI Build
314+
env:
315+
MSBUILDUSESERVER: "1"
312316
- task: PublishTestResults@2
313317
displayName: Publish .NET Test Results
314318
inputs:
@@ -374,6 +378,8 @@ jobs:
374378
Token: $(dn-bot-dnceng-artifact-feeds-rw)
375379
- bash: . 'eng/cibuild_bootstrapped_msbuild.sh' --onlyDocChanged $(onlyDocChanged)
376380
displayName: CI Build
381+
env:
382+
MSBUILDUSESERVER: "1"
377383
- task: PublishTestResults@2
378384
displayName: Publish .NET Test Results
379385
inputs:

.vsts-dotnet.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ variables:
3434
- name: SourceBranch
3535
value: ''
3636
- name: EnableReleaseOneLocBuild
37-
value: true # Enable loc for vs17.13
37+
value: true # Enable loc for vs17.14
3838
- name: Codeql.Enabled
3939
value: true
4040
- group: AzureDevOps-Artifact-Feeds-Pats
@@ -119,7 +119,7 @@ extends:
119119
- name: VisualStudio.MajorVersion
120120
value: 17
121121
- name: VisualStudio.ChannelName
122-
value: 'int.d17.13' # MSBuild's vs17.13 branch corresponds to this VS channel
122+
value: 'int.main'
123123
- name: VisualStudio.DropName
124124
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
125125

NuGet.config

+7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
<add key="dotnet8" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet8/nuget/v3/index.json" />
1414
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
1515
<add key="dotnet9" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet9/nuget/v3/index.json" />
16+
<add key="vs-impl" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json" />
17+
<!-- We don't want other than VS OpenTelemetry libraries from vs-impl -->
18+
<packageSourceMapping>
19+
<packageSource key="vs-impl">
20+
<package pattern="Microsoft.VisualStudio.OpenTelemetry*" />
21+
</packageSource>
22+
</packageSourceMapping>
1623
</packageSources>
1724
<disabledPackageSources>
1825
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->

THIRDPARTYNOTICES.txt

+37-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
MSBuild uses third-party material as listed below. The attached notices are
2-
provided for informational purposes only.
1+
MSBuild uses third-party material as listed below. The attached notices are
2+
provided for informational purposes only.
33

4-
Notice for LockCheck
4+
Notice for LockCheck
55
-------------------------------
66
The MIT License (MIT)
77

@@ -27,20 +27,49 @@ SOFTWARE.
2727

2828
-------------------------------
2929

30-
Notice for Samples for xUnit.net
30+
Notice for Samples for xUnit.net
3131
-------------------------------
3232

33-
Copyright (c) .NET Foundation and Contributors
33+
Copyright (c) .NET Foundation and Contributors
3434

35-
All Rights Reserved
35+
All Rights Reserved
3636

3737
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
38-
this file except in compliance with the License.
38+
this file except in compliance with the License.
3939

40-
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
40+
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4141

4242
Unless required by applicable law or agreed to in writing, software distributed
4343
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
4444
CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
4545
language governing permissions and limitations under the License.
46+
47+
-------------------------------
48+
49+
Notice for OpenTelemetry .NET
50+
-------------------------------
51+
MSBuild.exe is distributed with OpenTelemetry .NET binaries.
52+
53+
Copyright (c) OpenTelemetry Authors
54+
Source: https://github.com/open-telemetry/opentelemetry-dotnet
55+
56+
Licensed under the Apache License, Version 2.0 (the "License");
57+
you may not use this file except in compliance with the License.
58+
You may obtain a copy of the License at
59+
60+
http://www.apache.org/licenses/LICENSE-2.0
61+
62+
Unless required by applicable law or agreed to in writing, software distributed
63+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
64+
CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
65+
language governing permissions and limitations under the License.
66+
67+
-------------------------------
68+
69+
Notice for Microsoft.VisualStudio.OpenTelemetry.*
4670
-------------------------------
71+
MSBuild.exe is distributed with Microsoft.VisualStudio.OpenTelemetry.* binaries.
72+
73+
Project: Microsoft.VisualStudio.OpenTelemetry
74+
Copyright: (c) Microsoft Corporation
75+
License: https://visualstudio.microsoft.com/license-terms/mt736442/

azure-pipelines/vs-insertion-experimental.yml

+20-3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@ resources:
1717
name: 1ESPipelineTemplates/1ESPipelineTemplates
1818
ref: refs/tags/release
1919

20+
parameters:
21+
- name: TargetBranch
22+
type: string
23+
default: main
24+
displayName: 'Insertion Target Branch (select for manual insertion)'
25+
values:
26+
- main
27+
- rel/d17.14
28+
- rel/d17.13
29+
- rel/d17.12
30+
- rel/d17.11
31+
- rel/d17.10
32+
- rel/d17.8
33+
- rel/d17.6
34+
- rel/d17.3
35+
- rel/d17.0
36+
2037
variables:
2138
- name: TeamName
2239
value: msbuild
@@ -29,7 +46,7 @@ variables:
2946
- name: ArtifactPackagesPath
3047
value: $(Build.ArtifactStagingDirectory)/PackageArtifacts
3148

32-
- name: MSBuildPackagePattern
49+
- name: MSBuildPackagePattern
3350
value: '$(ArtifactPackagesPath)/Microsoft.Build.*.nupkg'
3451
- name: StringToolsPackagePattern
3552
value: '$(ArtifactPackagesPath)/Microsoft.NET.StringTools*.nupkg'
@@ -118,12 +135,12 @@ extends:
118135
LinkWorkItemsToPR: true
119136
TeamName: $(TeamName)
120137
TeamEmail: $(TeamEmail)
121-
TargetBranch: main
138+
TargetBranch: ${{ parameters.TargetBranch }}
122139
InsertionPayloadName: $(InsertPayloadName)
123140
PackagePropsValues: VS.ExternalAPIs.MSBuild=$(MSBuild_ExtApisPackageVersion);Microsoft.Build=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Framework=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Tasks.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Utilities.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.NET.StringTools=$(MicrosoftNETStringToolsPackageVersion)
124141
InsertionDescription: $(InsertDescription)
125142
ComponentJsonValues: $(InsertJsonValues)
126143
DefaultConfigValues: $(InsertConfigValues)
127144
InsertionReviewers: MSBuild
128145
CustomScriptExecutionCommand: $(InsertCustomScriptExecutionCommand)
129-
InsertionBuildPolicy: Request Perf DDRITs
146+
InsertionBuildPolicy: Request Perf DDRITs

azure-pipelines/vs-insertion.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ parameters:
4444
values:
4545
- auto
4646
- main
47+
- rel/d17.14
4748
- rel/d17.13
4849
- rel/d17.12
4950
- rel/d17.11
@@ -64,7 +65,9 @@ parameters:
6465
variables:
6566
# `auto` should work every time and selecting a branch in parameters is likely to fail due to incompatible versions in MSBuild and VS
6667
- name: AutoInsertTargetBranch
67-
${{ if eq(variables['Build.SourceBranchName'], 'vs17.13') }}:
68+
${{ if eq(variables['Build.SourceBranchName'], 'vs17.14') }}:
69+
value: 'rel/d17.14'
70+
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.13') }}:
6871
value: 'rel/d17.13'
6972
${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.12') }}:
7073
value: 'rel/d17.12'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# MSBuild's property tracking capabilities
2+
3+
MSBuild Property Tracking is a built-in diagnostic feature that tracks property value changes during the build process.
4+
By default, this feature is opted out due to performance considerations.
5+
6+
## Property Tracking Coverage
7+
8+
The implementation tracks properties in the following scenarios:
9+
10+
1. Properties set via command-line arguments (e.g. using `/p:` switches)
11+
12+
2. Properties defined based on environment variables and used by MSBuild
13+
14+
3. Properties set as target outputs
15+
- Tracks changes when properties are modified by target execution
16+
17+
4. Properties set as task outputs
18+
- Monitors property modifications resulting from task execution
19+
20+
5. Properties defined in XML during evaluation
21+
- Provides exact location information for properties defined in project files
22+
- Includes line and column information from the source XML
23+
- Reports on property modifications
24+
25+
## Event Types and Message Formatting
26+
27+
The feature implements specialized event handling for three scenarios:
28+
29+
1. `PropertyReassignmentEventArgs`
30+
- Triggered when a property value is changed
31+
`set MsBuildLogPropertyTracking=1`
32+
33+
2. `PropertyInitialValueSetEventArgs`
34+
- Triggered when a property is first initialized
35+
`set MsBuildLogPropertyTracking=2`
36+
37+
3. `EnvironmentVariableRead`
38+
- Tracks when environment variables are read
39+
`set MsBuildLogPropertyTracking=4`
40+
41+
4. `UninitializedPropertyReadEventArgs`
42+
- Triggered when attempting to read a property that hasn't been initialized
43+
`set MsBuildLogPropertyTracking=8`
44+
45+
5. None
46+
- Disables all property tracking
47+
`set MsBuildLogPropertyTracking=0`
48+
49+
If you want to enable all these events reporting, enable it by `set MsBuildLogPropertyTracking=15`.

0 commit comments

Comments
 (0)