diff --git a/Directory.Build.props b/Directory.Build.props
index a58f4b5..820c5d4 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -29,7 +29,7 @@
-
+
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 6e1123d..56d3f47 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -57,12 +57,17 @@ extends:
displayName: 'Upload logs to drop'
targetPath: '$(Build.ArtifactStagingDirectory)\logs'
artifactName: logs
- condition: succeededOrFailed()
+ condition: always()
steps:
- - task: MicroBuildSigningPlugin@1
+ - task: MicroBuildSigningPlugin@4
+ displayName: Install MicroBuild plugin
inputs:
- signType: '$(SignType)'
+ signType: 'real'
zipSources: true
+ feedSource: https://devdiv.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- task: MSBuild@1
displayName: '/t:Pack'
@@ -102,9 +107,10 @@ extends:
- task: CopyFiles@2
displayName: 'Copy logs to drop'
+ condition: always()
inputs:
Contents: '**\*.*log'
TargetFolder: '$(Build.ArtifactStagingDirectory)\logs'
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
- displayName: 'Execute cleanup tasks'
\ No newline at end of file
+ displayName: 'Execute cleanup tasks'
diff --git a/release-pipeline.yml b/release-pipeline.yml
new file mode 100644
index 0000000..4f4bb25
--- /dev/null
+++ b/release-pipeline.yml
@@ -0,0 +1,86 @@
+trigger: none
+
+resources:
+ pipelines:
+ - pipeline: microsoft_MSBuildLocator
+ source: microsoft.MSBuildLocator
+ trigger:
+ enabled: false
+
+variables:
+ SymbolsAgentPath: '$(System.DefaultWorkingDirectory)\_$(Build.DefinitionName)\Symbols'
+ SymbolsFeatureName: 'MSBuild'
+ SymbolsProject: 'DDE'
+ TeamName: 'msbuild'
+ VstsDropNames: 'Products/DevDiv/Microsoft/msbuild/$(Build.SourceBranchName)/$(Build.BuildNumber)/$(Build.BuildId)'
+
+stages:
+- stage: RetainBuild
+ displayName: 'Retain build'
+ jobs:
+ - job: RetainBuildJob
+ displayName: 'Run on agent'
+ pool:
+ name: 'VSEngSS-MicroBuild2022-1ES'
+ steps:
+ - task: MicroBuildArchiveSymbols@6
+ displayName: 'Archive $(SymbolsFeatureName) on Symweb'
+ inputs:
+ SymbolsFeatureName: '$(SymbolsFeatureName)'
+ SymbolsProject: '$(SymbolsProject)'
+ SymbolsAgentPath: '$(SymbolsAgentPath)'
+ SubmitToInternet: true
+ ExpirationInDays: '5475'
+ azureSubscription: 'VSEng-SymbolsUpload'
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+
+ - task: MicroBuildRetainVstsDrops@1
+ displayName: 'Retain VSTS Drops'
+ enabled: false
+ inputs:
+ DropNames: '$(VstsDropNames)'
+ DropServiceUri: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection'
+
+- stage: PublicRelease
+ displayName: 'Public release'
+ dependsOn: RetainBuild
+ condition: succeeded()
+ jobs:
+ - job: PushToNuGet
+ displayName: 'Push to nuget.org'
+ pool:
+ name: 'VSEngSS-MicroBuild2022-1ES'
+ steps:
+ - task: NuGetCommand@2
+ displayName: 'NuGet push'
+ inputs:
+ command: 'push'
+ packagesToPush: '$(Pipeline.Workspace)/microsoft_MSBuildLocator/pkg/Microsoft.Build.Locator*.nupkg'
+ nuGetFeedType: 'external'
+ publishFeedCredentials: 'MSBuild-Locator'
+ verbosityPush: 'Detailed'
+
+ - job: PublicNuGetRelease
+ displayName: 'Public NuGet release'
+ dependsOn: PushToNuGet
+ pool: server
+ steps:
+ - task: ManualValidation@0
+ displayName: 'Push packages to NuGet'
+ inputs:
+ instructions: |
+ https://microsoft.sharepoint.com/teams/toolsforeng/_layouts/OneNote.aspx?id=%2Fteams%2Ftoolsforeng%2FOne%20Note%2FToolsForSoftwareEngineers&wd=target%28Build%20Tools%2FMSBuild%2FGitHub.one%7CFF6DC598-65EC-43D5-AB29-DB38FEB82BC8%2FMyGet%20Feed%7CFAFC6258-899D-48D4-8DB4-892396202C9C%2F%29
+ onenote:https://microsoft.sharepoint.com/teams/toolsforeng/One%20Note/ToolsForSoftwareEngineers/Build%20Tools/MSBuild/GitHub.one#MyGet%20Feed§ion-id={FF6DC598-65EC-43D5-AB29-DB38FEB82BC8}&page-id={FAFC6258-89
+ onTimeout: 'reject'
+
+ - job: GitHubRelease
+ displayName: 'GitHub release'
+ dependsOn: PublicNuGetRelease
+ pool: server
+ steps:
+ - task: ManualValidation@0
+ displayName: 'Create GitHub release'
+ inputs:
+ instructions: 'Create the GitHub release manually'
+ onTimeout: 'reject'
diff --git a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj
index 05da439..701b235 100644
--- a/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj
+++ b/src/MSBuildLocator.Tests/Microsoft.Build.Locator.Tests.csproj
@@ -6,10 +6,10 @@
..\MSBuildLocator\key.snk
-
+
-
+
diff --git a/src/MSBuildLocator/Microsoft.Build.Locator.csproj b/src/MSBuildLocator/Microsoft.Build.Locator.csproj
index 7308e50..758800a 100644
--- a/src/MSBuildLocator/Microsoft.Build.Locator.csproj
+++ b/src/MSBuildLocator/Microsoft.Build.Locator.csproj
@@ -20,7 +20,7 @@
$(DefineConstants);FEATURE_VISUALSTUDIOSETUP
-
+
diff --git a/src/MSBuildLocator/build/Microsoft.Build.Locator.targets b/src/MSBuildLocator/build/Microsoft.Build.Locator.targets
index a117f13..35d55c3 100644
--- a/src/MSBuildLocator/build/Microsoft.Build.Locator.targets
+++ b/src/MSBuildLocator/build/Microsoft.Build.Locator.targets
@@ -13,7 +13,9 @@
'%(PackageReference.Identity)' == 'Microsoft.Build.Conversion.Core' or
'%(PackageReference.Identity)' == 'Microsoft.Build.Runtime' or
'%(PackageReference.Identity)' == 'Microsoft.Build.Localization' or
- '%(PackageReference.Identity)' == 'Microsoft.Build.Engine'
+ '%(PackageReference.Identity)' == 'Microsoft.Build.Engine' or
+ '%(PackageReference.Identity)' == 'Microsoft.NET.StringTools' or
+ '%(PackageReference.Identity)' == 'NuGet.Frameworks'
)"/>