From 94af8126cf520805dd7e213b92cdecd9d8728d1f Mon Sep 17 00:00:00 2001
From: Satu Bailey <24945574+satbai@users.noreply.github.com>
Date: Mon, 7 Mar 2022 21:30:19 +0200
Subject: [PATCH] Update .NET Core version to 3.1 and add .NET 6 (#301)
---
Build.props | 2 +-
CONTRIBUTING.md | 2 +-
.../CredentialProvider.Microsoft.Tests.csproj | 2 +-
.../CredentialProvider.Microsoft.csproj | 2 +-
.../CredentialProvider.Microsoft.nuspec | 3 +-
build/build.yml | 89 ++++++++++++++-----
6 files changed, 75 insertions(+), 25 deletions(-)
diff --git a/Build.props b/Build.props
index 7176e202..a450194f 100644
--- a/Build.props
+++ b/Build.props
@@ -1,6 +1,6 @@
- 0.1.28
+ 1.0.0
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3940d1d9..f8e3e4d9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,7 @@ In this and subsequent examples, configuration can be either `debug` or `release
### Publishing
```shell
-dotnet publish CredentialProvider.Microsoft --configuration Release --framework netcoreapp2.1
+dotnet publish CredentialProvider.Microsoft --configuration Release --framework net6.0
```
### Packing
diff --git a/CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj b/CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj
index 65c8a0bb..3969ad7f 100644
--- a/CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj
+++ b/CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj
@@ -1,7 +1,7 @@
- netcoreapp2.1;net461
+ netcoreapp3.1;net6.0;net461
false
diff --git a/CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj b/CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj
index 0bb32953..4b423380 100644
--- a/CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj
+++ b/CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj
@@ -3,7 +3,7 @@
Exe
NuGetCredentialProvider
- netcoreapp2.1;net461
+ netcoreapp3.1;net6.0;net461
latest
helpericons.ico
$(CredentialProviderVersion)
diff --git a/CredentialProvider.Microsoft/CredentialProvider.Microsoft.nuspec b/CredentialProvider.Microsoft/CredentialProvider.Microsoft.nuspec
index 3f860904..7367f4d6 100644
--- a/CredentialProvider.Microsoft/CredentialProvider.Microsoft.nuspec
+++ b/CredentialProvider.Microsoft/CredentialProvider.Microsoft.nuspec
@@ -18,6 +18,7 @@
-
+
+
diff --git a/build/build.yml b/build/build.yml
index f2e58499..f31ad713 100644
--- a/build/build.yml
+++ b/build/build.yml
@@ -4,10 +4,10 @@ parameters:
steps:
- task: UseDotNet@2
- displayName: Install .NET Core 2.1 runtime
+ displayName: Install .NET Core 3.1 runtime
inputs:
packageType: runtime
- version: 2.1.x
+ version: 3.1.x
- task: UseDotNet@2
displayName: Use .NET 6 SDK
@@ -41,13 +41,13 @@ steps:
projects: 'CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj'
feedsToUse: config
nugetConfigPath: 'CredentialProvider.Microsoft/NuGet.config'
-
-- task: MSBuild@1
+
+- task: VSBuild@1
displayName: Build CredentialProvider
inputs:
solution: 'CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj'
configuration: '$(BuildConfiguration)'
- msbuildArguments: '/t:rebuild'
+ msbuildArgs: '/t:rebuild'
- ${{ if eq(parameters.sign, 'true') }}:
- task: MSBuild@1
@@ -70,27 +70,76 @@ steps:
DropFolder: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\vsix\'
AccessToken: $(DevDivDropManageAccessToken)
+- ${{ if ne(parameters.sign, 'true') }}:
+ - task: DotNetCoreCLI@2
+ displayName: dotnet test
+ inputs:
+ command: test
+ projects: 'CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj'
+
- task: DotNetCoreCLI@2
- displayName: dotnet publish netcoreapp2.1
+ displayName: dotnet publish net6.0
inputs:
command: publish
publishWebProjects: false
projects: 'CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj'
- arguments: '--no-build --framework netcoreapp2.1 --configuration $(BuildConfiguration)'
+ arguments: '--no-build --framework net6.0 --configuration $(BuildConfiguration)'
zipAfterPublish: false
modifyOutputPath: false
-- ${{ if ne(parameters.sign, 'true') }}:
- - task: DotNetCoreCLI@2
- displayName: dotnet test
- inputs:
- command: test
- projects: 'CredentialProvider.Microsoft.Tests/CredentialProvider.Microsoft.Tests.csproj'
+# Create .NET 6.0 release for netcore users
+- task: CopyFiles@2
+ displayName: Copy net6.0 files into tarball
+ inputs:
+ sourceFolder: '$(Build.SourcesDirectory)\CredentialProvider.Microsoft\bin\$(BuildConfiguration)\net6.0\publish\'
+ contents: '**\*'
+ targetFolder: '$(Build.ArtifactStagingDirectory)\tarball\plugins\netcore\CredentialProvider.Microsoft\'
+ cleanTargetFolder: true
+
+- task: CopyFiles@2
+ displayName: Copy license files into tarball
+ inputs:
+ contents: |
+ LICENSE
+ CredentialProvider.Microsoft\EULA_Microsoft Visual Studio Team Services Credential Provider.docx
+ CredentialProvider.Microsoft\ThirdPartyNotices.txt
+ targetFolder: '$(Build.ArtifactStagingDirectory)\tarball\'
+ flattenFolders: true
+
+- task: ArchiveFiles@2
+ displayName: Create net6.0 tarball
+ inputs:
+ rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\tarball\'
+ includeRootFolder: false
+ archiveType: 'tar'
+ tarCompression: 'gz'
+ archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.Net6.NuGet.CredentialProvider.tar.gz'
+ replaceExistingArchive: true
+
+- task: ArchiveFiles@2
+ displayName: Create net6.0 zip
+ inputs:
+ rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\tarball\'
+ includeRootFolder: false
+ archiveType: 'zip'
+ archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.Net6.NuGet.CredentialProvider.zip'
+ replaceExistingArchive: true
+
+# Clean target folder and create netcore 3.1 and netfx releases
+- task: DotNetCoreCLI@2
+ displayName: dotnet publish netcoreapp3.1
+ inputs:
+ command: publish
+ publishWebProjects: false
+ projects: 'CredentialProvider.Microsoft/CredentialProvider.Microsoft.csproj'
+ arguments: '--no-build --framework netcoreapp3.1 --configuration $(BuildConfiguration)'
+ zipAfterPublish: false
+ modifyOutputPath: false
- task: CopyFiles@2
- displayName: Copy netcore files into tarball
+ displayName: Copy netcore 3.1 files into tarball
inputs:
- sourceFolder: '$(Build.SourcesDirectory)\CredentialProvider.Microsoft\bin\$(BuildConfiguration)\netcoreapp2.1\publish\'
+ sourceFolder: '$(Build.SourcesDirectory)\CredentialProvider.Microsoft\bin\$(BuildConfiguration)\netcoreapp3.1\publish\'
contents: '**\*'
targetFolder: '$(Build.ArtifactStagingDirectory)\tarball\plugins\netcore\CredentialProvider.Microsoft\'
cleanTargetFolder: true
@@ -106,23 +155,23 @@ steps:
flattenFolders: true
- task: ArchiveFiles@2
- displayName: Create netcore tarball
+ displayName: Create netcore 3.1 tarball
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\tarball\'
includeRootFolder: false
archiveType: 'tar'
tarCompression: 'gz'
- archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.NetCore2.NuGet.CredentialProvider.tar.gz'
+ archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.NetCore3.NuGet.CredentialProvider.tar.gz'
replaceExistingArchive: true
# NOTE: Changing the name of the zip will break things. Please don't do it.
- task: ArchiveFiles@2
- displayName: Create netcore zip
+ displayName: Create netcore 3.1 zip
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\tarball\'
includeRootFolder: false
archiveType: 'zip'
- archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.NetCore2.NuGet.CredentialProvider.zip'
+ archiveFile: '$(Build.ArtifactStagingDirectory)\$(BuildConfiguration)\Microsoft.NetCore3.NuGet.CredentialProvider.zip'
replaceExistingArchive: true
- task: CopyFiles@2
@@ -133,7 +182,7 @@ steps:
targetFolder: '$(Build.ArtifactStagingDirectory)\tarball\plugins\netfx\CredentialProvider.Microsoft\'
- task: ArchiveFiles@2
- displayName: Create tarball
+ displayName: Create netfx tarball
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\tarball\'
includeRootFolder: false