diff --git a/.gitignore b/.gitignore
index 23fe40877..2ce687bb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,8 +95,10 @@ dlldata.c
# Build artifacts
artifacts/
+artifacts-*/
bin/
.dotnet/
+.dotnet-*/
*_i.c
*_p.c
diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 31dff1c60..2c754dfa2 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -12,300 +12,310 @@ variables:
value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
- name: _ArcadePublishBlobFeedUrl
value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+- name: _DotNetArtifactsCategory
+ value: .NETCore
+- name: _DotNetValidationArtifactsCategory
+ value: .NETCoreValidation
+- name: _PublishUsingPipelines
+ value: false
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-DotNetCli-Storage
- group: DotNet-Blob-Feed
+ - name: _PublishUsingPipelines
+ value: true
-jobs:
-- template: /eng/build.yml
- parameters:
- agentOs: Windows_NT
- pool:
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- name: NetCorePublic-Pool
- queue: buildpool.windows.10.amd64.vs2017.open
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- name: NetCoreInternal-Pool
- queue: buildpool.windows.10.amd64.vs2017
- timeoutInMinutes: 180
- strategy:
- matrix:
- # Public-only builds
+stages:
+- stage: build
+ jobs:
+ - template: /eng/build.yml
+ parameters:
+ agentOs: Windows_NT
+ pool:
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- Build_Debug_x86:
- _BuildConfig: Debug
- _BuildArchitecture: x86
- _DOTNET_CLI_UI_LANGUAGE: ''
- _DropSuffix: ''
- Build_ES_Debug_x64:
- _BuildConfig: Debug
- _BuildArchitecture: x64
- _DOTNET_CLI_UI_LANGUAGE: es
- _DropSuffix: ''
- Build_DropSuffix_Release_x64:
+ name: NetCorePublic-Pool
+ queue: buildpool.windows.10.amd64.vs2017.open
+ ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ name: NetCoreInternal-Pool
+ queue: buildpool.windows.10.amd64.vs2017
+ timeoutInMinutes: 180
+ strategy:
+ matrix:
+ # Public-only builds
+ ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
+ Build_Debug_x86:
+ _BuildConfig: Debug
+ _BuildArchitecture: x86
+ _DOTNET_CLI_UI_LANGUAGE: ''
+ _DropSuffix: ''
+ Build_ES_Debug_x64:
+ _BuildConfig: Debug
+ _BuildArchitecture: x64
+ _DOTNET_CLI_UI_LANGUAGE: es
+ _DropSuffix: ''
+ Build_DropSuffix_Release_x64:
+ _BuildConfig: Release
+ _BuildArchitecture: x64
+ _DOTNET_CLI_UI_LANGUAGE: ''
+ _DropSuffix: true
+ # Internal-only builds
+ ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ Build_Release_x86:
+ _BuildConfig: Release
+ _BuildArchitecture: x86
+ _DOTNET_CLI_UI_LANGUAGE: ''
+ _DropSuffix: ''
+ # Always run builds
+ Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
- _DropSuffix: true
- # Internal-only builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- Build_Release_x86:
+ _DropSuffix: ''
+ _AdditionalBuildParameters: '/p:PublishInternalAsset=true
+ /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
+ /p:DotNetPublishBlobFeedUrl=$(_ArcadePublishBlobFeedUrl)'
+ Build_Release_arm:
_BuildConfig: Release
- _BuildArchitecture: x86
+ _BuildArchitecture: arm
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
- # Always run builds
- Build_Release_x64:
- _BuildConfig: Release
- _BuildArchitecture: x64
- _DOTNET_CLI_UI_LANGUAGE: ''
- _DropSuffix: ''
- _AdditionalBuildParameters: '/p:PublishInternalAsset=true
- /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
- /p:DotNetPublishBlobFeedUrl=$(_ArcadePublishBlobFeedUrl)'
- Build_Release_arm:
- _BuildConfig: Release
- _BuildArchitecture: arm
- _DOTNET_CLI_UI_LANGUAGE: ''
- _DropSuffix: ''
-- template: /eng/build.yml
- parameters:
- agentOs: Linux
- pool:
- name: Hosted Ubuntu 1604
- timeoutInMinutes: 180
- strategy:
- matrix:
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- Build_Ubuntu_14_04_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker ubuntu.14.04'
- _LinuxPortable: ''
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Ubuntu_16_04_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker ubuntu.16.04'
- _LinuxPortable: ''
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Ubuntu_18_04_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker ubuntu.18.04'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Fedora_27_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker fedora.27'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Fedora_28_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker fedora.28'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Fedora_29_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker fedora.29'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_OpenSUSE_42_3_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker opensuse.42.3'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_CentOS_7_1_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker centos'
- _LinuxPortable: ''
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Debian_Jessie_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker debian'
- _LinuxPortable: ''
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Rhel_7_2_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker rhel'
- _LinuxPortable: ''
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Rhel_6_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker rhel.6'
- _LinuxPortable: ''
- _RuntimeIdentifier: '--runtime-id rhel.6-x64'
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Arm_Debug:
- _BuildConfig: Debug
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: '--runtime-id linux-arm'
- _BuildArchitecture: 'arm'
- _DropSuffix: ''
- Build_Arm64_Debug:
- _BuildConfig: Debug
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: '--runtime-id linux-arm64'
- _BuildArchitecture: 'arm64'
- _DropSuffix: ''
- Build_Linux_musl_Debug_x64:
- _BuildConfig: Debug
- _DockerParameter: '--docker alpine.3.6'
- _LinuxPortable: ''
- _RuntimeIdentifier: '--runtime-id linux-musl-x64'
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_LinuxPortable_NoSuffix_Release_x64:
+ - template: /eng/build.yml
+ parameters:
+ agentOs: Linux
+ pool:
+ name: Hosted Ubuntu 1604
+ timeoutInMinutes: 180
+ strategy:
+ matrix:
+ ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
+ Build_Ubuntu_14_04_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker ubuntu.14.04'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Ubuntu_16_04_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker ubuntu.16.04'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Ubuntu_18_04_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker ubuntu.18.04'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Fedora_27_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker fedora.27'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Fedora_28_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker fedora.28'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Fedora_29_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker fedora.29'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_CentOS_7_1_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker centos'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Debian_Jessie_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker debian'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Rhel_7_2_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker rhel'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Rhel_6_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker rhel.6'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: '--runtime-id rhel.6-x64'
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Arm_Debug:
+ _BuildConfig: Debug
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: '--runtime-id linux-arm'
+ _BuildArchitecture: 'arm'
+ _DropSuffix: ''
+ Build_Arm64_Debug:
+ _BuildConfig: Debug
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: '--runtime-id linux-arm64'
+ _BuildArchitecture: 'arm64'
+ _DropSuffix: ''
+ Build_Linux_musl_Debug_x64:
+ _BuildConfig: Debug
+ _DockerParameter: '--docker alpine.3.6'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: '--runtime-id linux-musl-x64'
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_LinuxPortable_NoSuffix_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: true
+ Build_Arm_NoSuffix_Release:
+ _BuildConfig: Release
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: '--runtime-id linux-arm'
+ _BuildArchitecture: 'arm'
+ _DropSuffix: true
+ ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ Build_Arm_Release:
+ _BuildConfig: Release
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: '--runtime-id linux-arm'
+ _BuildArchitecture: 'arm'
+ _DropSuffix: ''
+ Build_Arm64_Release:
+ _BuildConfig: Release
+ _DockerParameter: ''
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: '--runtime-id linux-arm64'
+ _BuildArchitecture: 'arm64'
+ _DropSuffix: ''
+ Build_Rhel_6_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker rhel.6'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: '--runtime-id rhel.6-x64'
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Linux_musl_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker alpine.3.6'
+ _LinuxPortable: ''
+ _RuntimeIdentifier: '--runtime-id linux-musl-x64'
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ Build_Linux_Portable_Deb_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker ubuntu.16.04'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ # Do not publish zips and tarballs. The linux-x64 binaries are
+ # already published by Build_LinuxPortable_Release_x64
+ _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
+ Build_Linux_Portable_Rpm_Release_x64:
+ _BuildConfig: Release
+ _DockerParameter: '--docker rhel'
+ _LinuxPortable: '--linux-portable'
+ _RuntimeIdentifier: ''
+ _BuildArchitecture: 'x64'
+ _DropSuffix: ''
+ # Do not publish zips and tarballs. The linux-x64 binaries are
+ # already published by Build_LinuxPortable_Release_x64
+ _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
+ Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
- _DropSuffix: true
- Build_Arm_NoSuffix_Release:
- _BuildConfig: Release
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: '--runtime-id linux-arm'
- _BuildArchitecture: 'arm'
- _DropSuffix: true
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- Build_Arm_Release:
- _BuildConfig: Release
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: '--runtime-id linux-arm'
- _BuildArchitecture: 'arm'
_DropSuffix: ''
- Build_Arm64_Release:
- _BuildConfig: Release
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: '--runtime-id linux-arm64'
- _BuildArchitecture: 'arm64'
- _DropSuffix: ''
- Build_Rhel_6_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker rhel.6'
- _LinuxPortable: ''
- _RuntimeIdentifier: '--runtime-id rhel.6-x64'
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Linux_musl_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker alpine.3.6'
- _LinuxPortable: ''
- _RuntimeIdentifier: '--runtime-id linux-musl-x64'
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- Build_Linux_Portable_Deb_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker ubuntu.16.04'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- # Do not publish zips and tarballs. The linux-x64 binaries are
- # already published by Build_LinuxPortable_Release_x64
- _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
- Build_Linux_Portable_Rpm_Release_x64:
- _BuildConfig: Release
- _DockerParameter: '--docker rhel'
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
- # Do not publish zips and tarballs. The linux-x64 binaries are
- # already published by Build_LinuxPortable_Release_x64
- _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
- Build_LinuxPortable_Release_x64:
- _BuildConfig: Release
- _DockerParameter: ''
- _LinuxPortable: '--linux-portable'
- _RuntimeIdentifier: ''
- _BuildArchitecture: 'x64'
- _DropSuffix: ''
-- template: /eng/build.yml
- parameters:
- agentOs: Darwin
- pool:
- name: Hosted macOS
- timeoutInMinutes: 180
- strategy:
- matrix:
- Build_Release:
- _BuildConfig: Release
+ - template: /eng/build.yml
+ parameters:
+ agentOs: Darwin
+ pool:
+ name: Hosted macOS
+ timeoutInMinutes: 180
+ strategy:
+ matrix:
+ Build_Release:
+ _BuildConfig: Release
-# https://github.com/dotnet/core-sdk/issues/248
-# - template: /eng/build.yml
-# parameters:
-# agentOs: FreeBSD
-# queue:
-# name: dnceng-freebsd-internal
-# timeoutInMinutes: 180
-# matrix:
-# Build_Release:
-# _BuildConfig: Release
-# _AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true'
+ # https://github.com/dotnet/core-sdk/issues/248
+ # - template: /eng/build.yml
+ # parameters:
+ # agentOs: FreeBSD
+ # queue:
+ # name: dnceng-freebsd-internal
+ # timeoutInMinutes: 180
+ # matrix:
+ # Build_Release:
+ # _BuildConfig: Release
+ # _AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true'
+
+ - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - template: /eng/common/templates/job/publish-build-assets.yml
+ parameters:
+ dependsOn:
+ - Windows_NT
+ - Linux
+ - Darwin
+ publishUsingPipelines: true
+ pool:
+ vmImage: vs2017-win2016
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - job: Copy_SDK_To_Latest
+ - template: eng\common\templates\post-build\post-build.yml
+ parameters:
+ # Symbol validation isn't being very reliable lately. This should be enabled back
+ # once this issue is resolved: https://github.com/dotnet/arcade/issues/2871
+ enableSymbolValidation: false
+ # This repo doesn't produce any signed packages.
+ enableSigningValidation: false
+ publishInstallersAndChecksums: true
+
+- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), not(contains(variables['Build.SourceBranch'], 'refs/heads/internal/'))) }}:
+ - stage: copy_to_latest
+ displayName: Copy to latest
dependsOn:
- - Windows_NT
- - Linux
- - Darwin
- pool:
- name: Hosted VS2017
- condition: succeeded()
- variables:
- - group: DotNet-DotNetCli-Storage
- steps:
- - script: eng/CopyToLatest.cmd
- /p:DotnetPublishSdkAssetsBlobFeedUrl=$(_PublishBlobFeedUrl)
- /p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
- /p:DotnetPublishChecksumsBlobFeedUrl=$(_PublishChecksumsBlobFeedUrl)
- /p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
- displayName: Copy to latest
-
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/common/templates/job/publish-build-assets.yml
- parameters:
- dependsOn:
- - Windows_NT
- - Linux
- - Darwin
- enablePublishBuildArtifacts: true
+ # This will run only after all the publishing stages have run.
+ # These stages are introduced in the eng/common/templates/post-build/channels YAML templates
+ - NetCore_Dev31_Publish
+ - NetCore_Dev5_Publish
+ - NetCore_Release30_Publish
+ - NetCore_Release31_Publish
+ - PVR_Publish
+ jobs:
+ - job: Copy_SDK_To_Latest
pool:
- vmImage: vs2017-win2016
-
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/common/templates/job/generate-graph-files.yml
- parameters:
- continueOnError: true
- includeToolset: false
- dependsOn:
- - Asset_Registry_Publish
- pool:
- vmImage: vs2017-win2016
+ name: Hosted VS2017
+ condition: succeeded()
+ variables:
+ - group: DotNet-DotNetCli-Storage
+ steps:
+ - script: eng/CopyToLatest.cmd
+ /p:DotnetPublishSdkAssetsBlobFeedUrl=https://dotnetcli.blob.core.windows.net/dotnet/index.json
+ /p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
+ /p:DotnetPublishChecksumsBlobFeedUrl=https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
+ /p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
+ displayName: Copy to latest
diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln
index ed4f517c9..a5f56ff79 100644
--- a/Microsoft.DotNet.Cli.sln
+++ b/Microsoft.DotNet.Cli.sln
@@ -19,6 +19,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkResolver", "src\SdkResol
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Dotnet.Sdk.Internal", "src\Microsoft.Dotnet.Sdk.Internal\Microsoft.Dotnet.Sdk.Internal.csproj", "{73F07908-981B-41BB-B9BD-F3420274A6F7}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SdkTests", "test\SdkTests\SdkTests.csproj", "{CB1EE94E-CB83-4071-9DD0-9929AE2B7282}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -49,6 +51,10 @@ Global
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{73F07908-981B-41BB-B9BD-F3420274A6F7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CB1EE94E-CB83-4071-9DD0-9929AE2B7282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB1EE94E-CB83-4071-9DD0-9929AE2B7282}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CB1EE94E-CB83-4071-9DD0-9929AE2B7282}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CB1EE94E-CB83-4071-9DD0-9929AE2B7282}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -59,6 +65,7 @@ Global
{53AF2D01-B69F-4CD0-86A7-8FD95967D23C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
{78E15EC1-7732-41E3-8591-934E9F583254} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
{7EE15292-2CAD-44FA-8A1F-BAC4688A49E0} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
+ {CB1EE94E-CB83-4071-9DD0-9929AE2B7282} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5}
diff --git a/NuGet.config b/NuGet.config
index 227180760..c5c679e3f 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,16 +7,16 @@
+
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/README.md b/README.md
index b779c40e0..7a8dddb72 100644
--- a/README.md
+++ b/README.md
@@ -51,18 +51,18 @@ With development builds, internal NuGet feeds are necessary for some scenarios (
```
-| Platform | Master
(5.0.x Runtime) | Release/3.1.1XX
(3.1.x Runtime) | Release/3.0.1XX
(3.0.x Runtime) | Release/3.0.100-preview9
(3.0.x Runtime) | release/2.2.4xx
(2.2.x Runtime) | Release/2.2.2XX
(2.2.x Runtime) | Release/2.2.1XX
(2.2.x Runtime) | release/2.1.8xx
(2.1.8 Runtime) | Release/2.1.6XX
(2.1.6 Runtime) | Release/2.1.5XX
(2.1.5 Runtime) |
-|---------|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|
-| **Windows x64** | [![][win-x64-badge-master]][win-x64-version-master]
[Installer][win-x64-installer-master] - [Checksum][win-x64-installer-checksum-master]
[zip][win-x64-zip-master] - [Checksum][win-x64-zip-checksum-master] | [![][win-x64-badge-3.1.1xx]][win-x64-version-3.1.1xx]
[Installer][win-x64-installer-3.1.1xx] - [Checksum][win-x64-installer-checksum-3.1.1xx]
[zip][win-x64-zip-3.1.1xx] - [Checksum][win-x64-zip-checksum-3.1.1xx] | [![][win-x64-badge-3.0.1xx]][win-x64-version-3.0.1xx]
[Installer][win-x64-installer-3.0.1xx] - [Checksum][win-x64-installer-checksum-3.0.1xx]
[zip][win-x64-zip-3.0.1xx] - [Checksum][win-x64-zip-checksum-3.0.1xx] | [![][win-x64-badge-3.0.100-preview9]][win-x64-version-3.0.100-preview9]
[Installer][win-x64-installer-3.0.100-preview9] - [Checksum][win-x64-installer-checksum-3.0.100-preview9]
[zip][win-x64-zip-3.0.100-preview9] - [Checksum][win-x64-zip-checksum-3.0.100-preview9] | [![][win-x64-badge-2.2.4XX]][win-x64-version-2.2.4XX]
[Installer][win-x64-installer-2.2.4XX] - [Checksum][win-x64-installer-checksum-2.2.4XX]
[zip][win-x64-zip-2.2.4XX] - [Checksum][win-x64-zip-checksum-2.2.4XX] |[![][win-x64-badge-2.2.2XX]][win-x64-version-2.2.2XX]
[Installer][win-x64-installer-2.2.2XX] - [Checksum][win-x64-installer-checksum-2.2.2XX]
[zip][win-x64-zip-2.2.2XX] - [Checksum][win-x64-zip-checksum-2.2.2XX] |[![][win-x64-badge-2.2.1XX]][win-x64-version-2.2.1XX]
[Installer][win-x64-installer-2.2.1XX] - [Checksum][win-x64-installer-checksum-2.2.1XX]
[zip][win-x64-zip-2.2.1XX] - [Checksum][win-x64-zip-checksum-2.2.1XX] |[![][win-x64-badge-2.1.8XX]][win-x64-version-2.1.8XX]
[Installer][win-x64-installer-2.1.8XX] - [Checksum][win-x64-installer-checksum-2.1.8XX]
[zip][win-x64-zip-2.1.8XX] - [Checksum][win-x64-zip-checksum-2.1.8XX] | [![][win-x64-badge-2.1.6XX]][win-x64-version-2.1.6XX]
[Installer][win-x64-installer-2.1.6XX] - [Checksum][win-x64-installer-checksum-2.1.6XX]
[zip][win-x64-zip-2.1.6XX] - [Checksum][win-x64-zip-checksum-2.1.6XX] | [![][win-x64-badge-2.1.5XX]][win-x64-version-2.1.5XX]
[Installer][win-x64-installer-2.1.5XX] - [Checksum][win-x64-installer-checksum-2.1.5XX]
[zip][win-x64-zip-2.1.5XX] - [Checksum][win-x64-zip-checksum-2.1.5XX] |
-| **Windows x86** | [![][win-x86-badge-master]][win-x86-version-master]
[Installer][win-x86-installer-master] - [Checksum][win-x86-installer-checksum-master]
[zip][win-x86-zip-master] - [Checksum][win-x86-zip-checksum-master] | [![][win-x86-badge-3.1.1xx]][win-x86-version-3.1.1xx]
[Installer][win-x86-installer-3.1.1xx] - [Checksum][win-x86-installer-checksum-3.1.1xx]
[zip][win-x86-zip-3.1.1xx] - [Checksum][win-x86-zip-checksum-3.1.1xx] | [![][win-x86-badge-3.0.1xx]][win-x86-version-3.0.1xx]
[Installer][win-x86-installer-3.0.1xx] - [Checksum][win-x86-installer-checksum-3.0.1xx]
[zip][win-x86-zip-3.0.1xx] - [Checksum][win-x86-zip-checksum-3.0.1xx] | [![][win-x86-badge-3.0.100-preview9]][win-x86-version-3.0.100-preview9]
[Installer][win-x86-installer-3.0.100-preview9] - [Checksum][win-x86-installer-checksum-3.0.100-preview9]
[zip][win-x86-zip-3.0.100-preview9] - [Checksum][win-x86-zip-checksum-3.0.100-preview9] | [![][win-x86-badge-2.2.4XX]][win-x86-version-2.2.4XX]
[Installer][win-x86-installer-2.2.4XX] - [Checksum][win-x86-installer-checksum-2.2.4XX]
[zip][win-x86-zip-2.2.4XX] - [Checksum][win-x86-zip-checksum-2.2.4XX] |[![][win-x86-badge-2.2.2XX]][win-x86-version-2.2.2XX]
[Installer][win-x86-installer-2.2.2XX] - [Checksum][win-x86-installer-checksum-2.2.2XX]
[zip][win-x86-zip-2.2.2XX] - [Checksum][win-x86-zip-checksum-2.2.2XX] |[![][win-x86-badge-2.2.1XX]][win-x86-version-2.2.1XX]
[Installer][win-x86-installer-2.2.1XX] - [Checksum][win-x86-installer-checksum-2.2.1XX]
[zip][win-x86-zip-2.2.1XX] - [Checksum][win-x86-zip-checksum-2.2.1XX] |[![][win-x86-badge-2.1.8XX]][win-x86-version-2.1.8XX]
[Installer][win-x86-installer-2.1.8XX] - [Checksum][win-x86-installer-checksum-2.1.8XX]
[zip][win-x86-zip-2.1.8XX] - [Checksum][win-x86-zip-checksum-2.1.8XX] | [![][win-x86-badge-2.1.6XX]][win-x86-version-2.1.6XX]
[Installer][win-x86-installer-2.1.6XX] - [Checksum][win-x86-installer-checksum-2.1.6XX]
[zip][win-x86-zip-2.1.6XX] - [Checksum][win-x86-zip-checksum-2.1.6XX] | [![][win-x86-badge-2.1.5XX]][win-x86-version-2.1.5XX]
[Installer][win-x86-installer-2.1.5XX] - [Checksum][win-x86-installer-checksum-2.1.5XX]
[zip][win-x86-zip-2.1.5XX] - [Checksum][win-x86-zip-checksum-2.1.5XX] |
-| **macOS** | [![][osx-badge-master]][osx-version-master]
[Installer][osx-installer-master] - [Checksum][osx-installer-checksum-master]
[tar.gz][osx-targz-master] - [Checksum][osx-targz-checksum-master] | [![][osx-badge-3.1.1xx]][osx-version-3.1.1xx]
[Installer][osx-installer-3.1.1xx] - [Checksum][osx-installer-checksum-3.1.1xx]
[tar.gz][osx-targz-3.1.1xx] - [Checksum][osx-targz-checksum-3.1.1xx] | [![][osx-badge-3.0.1xx]][osx-version-3.0.1xx]
[Installer][osx-installer-3.0.1xx] - [Checksum][osx-installer-checksum-3.0.1xx]
[tar.gz][osx-targz-3.0.1xx] - [Checksum][osx-targz-checksum-3.0.1xx] | [![][osx-badge-3.0.100-preview9]][osx-version-3.0.100-preview9]
[Installer][osx-installer-3.0.100-preview9] - [Checksum][osx-installer-checksum-3.0.100-preview9]
[tar.gz][osx-targz-3.0.100-preview9] - [Checksum][osx-targz-checksum-3.0.100-preview9] | [![][osx-badge-2.2.4XX]][osx-version-2.2.4XX]
[Installer][osx-installer-2.2.4XX] - [Checksum][osx-installer-checksum-2.2.4XX]
[tar.gz][osx-targz-2.2.4XX] - [Checksum][osx-targz-checksum-2.2.4XX] |[![][osx-badge-2.2.2XX]][osx-version-2.2.2XX]
[Installer][osx-installer-2.2.2XX] - [Checksum][osx-installer-checksum-2.2.2XX]
[tar.gz][osx-targz-2.2.2XX] - [Checksum][osx-targz-checksum-2.2.2XX] |[![][osx-badge-2.2.1XX]][osx-version-2.2.1XX]
[Installer][osx-installer-2.2.1XX] - [Checksum][osx-installer-checksum-2.2.1XX]
[tar.gz][osx-targz-2.2.1XX] - [Checksum][osx-targz-checksum-2.2.1XX] |[![][osx-badge-2.1.8XX]][osx-version-2.1.8XX]
[Installer][osx-installer-2.1.8XX] - [Checksum][osx-installer-checksum-2.1.8XX]
[tar.gz][osx-targz-2.1.8XX] - [Checksum][osx-targz-checksum-2.1.8XX] | [![][osx-badge-2.1.6XX]][osx-version-2.1.6XX]
[Installer][osx-installer-2.1.6XX] - [Checksum][osx-installer-checksum-2.1.6XX]
[tar.gz][osx-targz-2.1.6XX] - [Checksum][osx-targz-checksum-2.1.6XX] | [![][osx-badge-2.1.5XX]][osx-version-2.1.5XX]
[Installer][osx-installer-2.1.5XX] - [Checksum][osx-installer-checksum-2.1.5XX]
[tar.gz][osx-targz-2.1.5XX] - [Checksum][osx-targz-checksum-2.1.5XX] |
-| **Linux x64** | [![][linux-badge-master]][linux-version-master]
[DEB Installer][linux-DEB-installer-master] - [Checksum][linux-DEB-installer-checksum-master]
[RPM Installer][linux-RPM-installer-master] - [Checksum][linux-RPM-installer-checksum-master]
_see installer note below_1
[tar.gz][linux-targz-master] - [Checksum][linux-targz-checksum-master] | [![][linux-badge-3.1.1xx]][linux-version-3.1.1xx]
[DEB Installer][linux-DEB-installer-3.1.1xx] - [Checksum][linux-DEB-installer-checksum-3.1.1xx]
[RPM Installer][linux-RPM-installer-3.1.1xx] - [Checksum][linux-RPM-installer-checksum-3.1.1xx]
_see installer note below_1
[tar.gz][linux-targz-3.1.1xx] - [Checksum][linux-targz-checksum-3.1.1xx] | [![][linux-badge-3.0.1xx]][linux-version-3.0.1xx]
[DEB Installer][linux-DEB-installer-3.0.1xx] - [Checksum][linux-DEB-installer-checksum-3.0.1xx]
[RPM Installer][linux-RPM-installer-3.0.1xx] - [Checksum][linux-RPM-installer-checksum-3.0.1xx]
_see installer note below_1
[tar.gz][linux-targz-3.0.1xx] - [Checksum][linux-targz-checksum-3.0.1xx] | [![][linux-badge-3.0.100-preview9]][linux-version-3.0.100-preview9]
[DEB Installer][linux-DEB-installer-3.0.100-preview9] - [Checksum][linux-DEB-installer-checksum-3.0.100-preview9]
[RPM Installer][linux-RPM-installer-3.0.100-preview9] - [Checksum][linux-RPM-installer-checksum-3.0.100-preview9]
_see installer note below_1
[tar.gz][linux-targz-3.0.100-preview9] - [Checksum][linux-targz-checksum-3.0.100-preview9] | [![][linux-badge-2.2.4XX]][linux-version-2.2.4XX]
[DEB Installer][linux-DEB-installer-2.2.4XX] - [Checksum][linux-DEB-installer-checksum-2.2.4XX]
[RPM Installer][linux-RPM-installer-2.2.4XX] - [Checksum][linux-RPM-installer-checksum-2.2.4XX]
_see installer note below_1
[tar.gz][linux-targz-2.2.4XX] - [Checksum][linux-targz-checksum-2.2.4XX] |[![][linux-badge-2.2.2xx]][linux-version-2.2.2xx]
[DEB Installer][linux-DEB-installer-2.2.2XX] - [Checksum][linux-DEB-installer-checksum-2.2.2XX]
[RPM Installer][linux-RPM-installer-2.2.2XX] - [Checksum][linux-RPM-installer-checksum-2.2.2XX]
_see installer note below_1
[tar.gz][linux-targz-2.2.2XX] - [Checksum][linux-targz-checksum-2.2.2XX] |[![][linux-badge-2.2.1xx]][linux-version-2.2.1xx]
[DEB Installer][linux-DEB-installer-2.2.1XX] - [Checksum][linux-DEB-installer-checksum-2.2.1XX]
[RPM Installer][linux-RPM-installer-2.2.1XX] - [Checksum][linux-RPM-installer-checksum-2.2.1XX]
_see installer note below_1
[tar.gz][linux-targz-2.2.1XX] - [Checksum][linux-targz-checksum-2.2.1XX] |[![][linux-badge-2.1.8XX]][linux-version-2.1.8XX]
[DEB Installer][linux-DEB-installer-2.1.8XX] - [Checksum][linux-DEB-installer-checksum-2.1.8XX]
[RPM Installer][linux-RPM-installer-2.1.8XX] - [Checksum][linux-RPM-installer-checksum-2.1.8XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.8XX] - [Checksum][linux-targz-checksum-2.1.8XX] | [![][linux-badge-2.1.6XX]][linux-version-2.1.6XX]
[DEB Installer][linux-DEB-installer-2.1.6XX] - [Checksum][linux-DEB-installer-checksum-2.1.6XX]
[RPM Installer][linux-RPM-installer-2.1.6XX] - [Checksum][linux-RPM-installer-checksum-2.1.6XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.6XX] - [Checksum][linux-targz-checksum-2.1.6XX] | [![][linux-badge-2.1.5XX]][linux-version-2.1.5XX]
[DEB Installer][linux-DEB-installer-2.1.5XX] - [Checksum][linux-DEB-installer-checksum-2.1.5XX]
[RPM Installer][linux-RPM-installer-2.1.5XX] - [Checksum][linux-RPM-installer-checksum-2.1.5XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.5XX] - [Checksum][linux-targz-checksum-2.1.5XX] |
-| **Linux arm** | [![][linux-arm-badge-master]][linux-arm-version-master]
[tar.gz][linux-arm-targz-master] - [Checksum][linux-arm-targz-checksum-master] | [![][linux-arm-badge-3.1.1xx]][linux-arm-version-3.1.1xx]
[tar.gz][linux-arm-targz-3.1.1xx] - [Checksum][linux-arm-targz-checksum-3.1.1xx] | [![][linux-arm-badge-3.0.1xx]][linux-arm-version-3.0.1xx]
[tar.gz][linux-arm-targz-3.0.1xx] - [Checksum][linux-arm-targz-checksum-3.0.1xx] | [![][linux-arm-badge-3.0.100-preview9]][linux-arm-version-3.0.100-preview9]
[tar.gz][linux-arm-targz-3.0.100-preview9] - [Checksum][linux-arm-targz-checksum-3.0.100-preview9] | [![][linux-arm-badge-2.2.4XX]][linux-arm-version-2.2.4XX]
[tar.gz][linux-arm-targz-2.2.4XX] - [Checksum][linux-arm-targz-checksum-2.2.4XX] |[![][linux-arm-badge-2.2.2XX]][linux-arm-version-2.2.2XX]
[tar.gz][linux-arm-targz-2.2.2XX] - [Checksum][linux-arm-targz-checksum-2.2.2XX] |[![][linux-arm-badge-2.2.1XX]][linux-arm-version-2.2.1XX]
[tar.gz][linux-arm-targz-2.2.1XX] - [Checksum][linux-arm-targz-checksum-2.2.1XX] |[![][linux-arm-badge-2.1.8XX]][linux-arm-version-2.1.8XX]
[tar.gz][linux-arm-targz-2.1.8XX] - [Checksum][linux-arm-targz-checksum-2.1.8XX] | [![][linux-arm-badge-2.1.6XX]][linux-arm-version-2.1.6XX]
[tar.gz][linux-arm-targz-2.1.6XX] - [Checksum][linux-arm-targz-checksum-2.1.6XX] | [![][linux-arm-badge-2.1.5XX]][linux-arm-version-2.1.5XX]
[tar.gz][linux-arm-targz-2.1.5XX] - [Checksum][linux-arm-targz-checksum-2.1.5XX] |
-| **Linux arm64** | [![][linux-arm64-badge-master]][linux-arm64-version-master]
[tar.gz][linux-arm64-targz-master] - [Checksum][linux-arm64-targz-checksum-master] | [![][linux-arm64-badge-3.1.1xx]][linux-arm64-version-3.1.1xx]
[tar.gz][linux-arm64-targz-3.1.1xx] - [Checksum][linux-arm64-targz-checksum-3.1.1xx] | [![][linux-arm64-badge-3.0.1xx]][linux-arm64-version-3.0.1xx]
[tar.gz][linux-arm64-targz-3.0.1xx] - [Checksum][linux-arm64-targz-checksum-3.0.1xx] | [![][linux-arm64-badge-3.0.100-preview9]][linux-arm64-version-3.0.100-preview9]
[tar.gz][linux-arm64-targz-3.0.100-preview9] - [Checksum][linux-arm64-targz-checksum-3.0.100-preview9] | [![][linux-arm64-badge-2.2.4XX]][linux-arm64-version-2.2.4XX]
[tar.gz][linux-arm64-targz-2.2.4XX] - [Checksum][linux-arm64-targz-checksum-2.2.4XX] |[![][linux-arm64-badge-2.2.2XX]][linux-arm64-version-2.2.2XX]
[tar.gz][linux-arm64-targz-2.2.2XX] - [Checksum][linux-arm64-targz-checksum-2.2.2XX] |[![][linux-arm64-badge-2.2.1XX]][linux-arm64-version-2.2.1XX]
[tar.gz][linux-arm64-targz-2.2.1XX] - [Checksum][linux-arm64-targz-checksum-2.2.1XX] |[![][linux-arm64-badge-2.1.8XX]][linux-arm64-version-2.1.8XX]
[tar.gz][linux-arm64-targz-2.1.8XX] - [Checksum][linux-arm64-targz-checksum-2.1.8XX] | [![][linux-arm64-badge-2.1.6XX]][linux-arm64-version-2.1.6XX]
[tar.gz][linux-arm64-targz-2.1.6XX] - [Checksum][linux-arm64-targz-checksum-2.1.6XX] | [![][linux-arm64-badge-2.1.5XX]][linux-arm64-version-2.1.5XX]
[tar.gz][linux-arm64-targz-2.1.5XX] - [Checksum][linux-arm64-targz-checksum-2.1.5XX] |
-| **RHEL 6** | [![][rhel-6-badge-master]][rhel-6-version-master]
[tar.gz][rhel-6-targz-master] - [Checksum][rhel-6-targz-checksum-master] | [![][rhel-6-badge-3.1.1xx]][rhel-6-version-3.1.1xx]
[tar.gz][rhel-6-targz-3.1.1xx] - [Checksum][rhel-6-targz-checksum-3.1.1xx] | [![][rhel-6-badge-3.0.1xx]][rhel-6-version-3.0.1xx]
[tar.gz][rhel-6-targz-3.0.1xx] - [Checksum][rhel-6-targz-checksum-3.0.1xx] | [![][rhel-6-badge-3.0.100-preview9]][rhel-6-version-3.0.100-preview9]
[tar.gz][rhel-6-targz-3.0.100-preview9] - [Checksum][rhel-6-targz-checksum-3.0.100-preview9] | [![][rhel-6-badge-2.2.4XX]][rhel-6-version-2.2.4XX]
[tar.gz][rhel-6-targz-2.2.4XX] - [Checksum][rhel-6-targz-checksum-2.2.4XX] | [![][rhel-6-badge-2.2.2XX]][rhel-6-version-2.2.2XX]
[tar.gz][rhel-6-targz-2.2.2XX] - [Checksum][rhel-6-targz-checksum-2.2.2XX] | [![][rhel-6-badge-2.2.1XX]][rhel-6-version-2.2.1XX]
[tar.gz][rhel-6-targz-2.2.1XX] - [Checksum][rhel-6-targz-checksum-2.2.1XX] | [![][rhel-6-badge-2.1.8XX]][rhel-6-version-2.1.8XX]
[tar.gz][rhel-6-targz-2.1.8XX] - [Checksum][rhel-6-targz-checksum-2.1.8XX] | [![][rhel-6-badge-2.1.6XX]][rhel-6-version-2.1.6XX]
[tar.gz][rhel-6-targz-2.1.6XX] - [Checksum][rhel-6-targz-checksum-2.1.6XX] | [![][rhel-6-badge-2.1.5XX]][rhel-6-version-2.1.5XX]
[tar.gz][rhel-6-targz-2.1.5XX] - [Checksum][rhel-6-targz-checksum-2.1.5XX] |
-| **Linux-musl** | [![][linux-musl-badge-master]][linux-musl-version-master]
[tar.gz][linux-musl-targz-master] - [Checksum][linux-musl-targz-checksum-master] | [![][linux-musl-badge-3.1.1xx]][linux-musl-version-3.1.1xx]
[tar.gz][linux-musl-targz-3.1.1xx] - [Checksum][linux-musl-targz-checksum-3.1.1xx] | [![][linux-musl-badge-3.0.1xx]][linux-musl-version-3.0.1xx]
[tar.gz][linux-musl-targz-3.0.1xx] - [Checksum][linux-musl-targz-checksum-3.0.1xx] | [![][linux-musl-badge-3.0.100-preview9]][linux-musl-version-3.0.100-preview9]
[tar.gz][linux-musl-targz-3.0.100-preview9] - [Checksum][linux-musl-targz-checksum-3.0.100-preview9] | [![][linux-musl-badge-2.2.4XX]][linux-musl-version-2.2.4XX]
[tar.gz][linux-musl-targz-2.2.4XX] - [Checksum][linux-musl-targz-checksum-2.2.4XX] |[![][linux-musl-badge-2.2.2XX]][linux-musl-version-2.2.2XX]
[tar.gz][linux-musl-targz-2.2.2XX] - [Checksum][linux-musl-targz-checksum-2.2.2XX] |[![][linux-musl-badge-2.2.1XX]][linux-musl-version-2.2.1XX]
[tar.gz][linux-musl-targz-2.2.1XX] - [Checksum][linux-musl-targz-checksum-2.2.1XX] |[![][linux-musl-badge-2.1.8XX]][linux-musl-version-2.1.8XX]
[tar.gz][linux-musl-targz-2.1.8XX] - [Checksum][linux-musl-targz-checksum-2.1.8XX] | [![][linux-musl-badge-2.1.6XX]][linux-musl-version-2.1.6XX]
[tar.gz][linux-musl-targz-2.1.6XX] - [Checksum][linux-musl-targz-checksum-2.1.6XX] | [![][linux-musl-badge-2.1.5XX]][linux-musl-version-2.1.5XX]
[tar.gz][linux-musl-targz-2.1.5XX] - [Checksum][linux-musl-targz-checksum-2.1.5XX] |
-| **Windows arm** | [![][win-arm-badge-master]][win-arm-version-master]
[zip][win-arm-zip-master] - [Checksum][win-arm-zip-checksum-master] | [![][win-arm-badge-3.1.1xx]][win-arm-version-3.1.1xx]
[zip][win-arm-zip-3.1.1xx] - [Checksum][win-arm-zip-checksum-3.1.1xx] | [![][win-arm-badge-3.0.1xx]][win-arm-version-3.0.1xx]
[zip][win-arm-zip-3.0.1xx] - [Checksum][win-arm-zip-checksum-3.0.1xx] | [![][win-arm-badge-3.0.100-preview9]][win-arm-version-3.0.100-preview9]
[zip][win-arm-zip-3.0.100-preview9] - [Checksum][win-arm-zip-checksum-3.0.100-preview9] | [![][win-arm-badge-2.2.4XX]][win-arm-version-2.2.4XX]
[zip][win-arm-zip-2.2.4XX] - [Checksum][win-arm-zip-checksum-2.2.4XX] | [![][win-arm-badge-2.2.2XX]][win-arm-version-2.2.2XX]
[zip][win-arm-zip-2.2.2XX] - [Checksum][win-arm-zip-checksum-2.2.2XX] | [![][win-arm-badge-2.2.1XX]][win-arm-version-2.2.1XX]
[zip][win-arm-zip-2.2.1XX] - [Checksum][win-arm-zip-checksum-2.2.1XX] | **N/A** | **N/A** | **N/A** |
-| **FreeBSD x64** | [![][freebsd-x64-badge-master]][freebsd-x64-version-master]
[tar.gz][freebsd-x64-zip-master] - [Checksum][freebsd-x64-zip-checksum-master] | [![][freebsd-x64-badge-3.1.1xx]][freebsd-x64-version-3.1.1xx]
[tar.gz][freebsd-x64-zip-3.1.1xx] - [Checksum][freebsd-x64-zip-checksum-3.1.1xx] | [![][freebsd-x64-badge-3.0.1xx]][freebsd-x64-version-3.0.1xx]
[tar.gz][freebsd-x64-zip-3.0.1xx] - [Checksum][freebsd-x64-zip-checksum-3.0.1xx] | [![][freebsd-x64-badge-3.0.100-preview9]][freebsd-x64-version-3.0.100-preview9]
[tar.gz][freebsd-x64-zip-3.0.100-preview9] - [Checksum][freebsd-x64-zip-checksum-3.0.100-preview9] | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** |
+| Platform | Master
(5.0.x Runtime) | Release/3.1.1XX
(3.1.x Runtime) | Release/3.0.1xx
(3.0.x Runtime) | Release/2.2.4XX
(2.2.x Runtime) | Release/2.2.2XX
(2.2.x Runtime) | Release/2.2.1XX
(2.2.x Runtime) | Release/2.1.7XX
(2.1.7 Runtime) | Release/2.1.6XX
(2.1.6 Runtime) | Release/2.1.5XX
(2.1.5 Runtime) |
+|:---------|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|
+| **Windows x64** | [![][win-x64-badge-master]][win-x64-version-master]
[Installer][win-x64-installer-master] - [Checksum][win-x64-installer-checksum-master]
[zip][win-x64-zip-master] - [Checksum][win-x64-zip-checksum-master] | [![][win-x64-badge-3.1.1xx]][win-x64-version-3.1.1xx]
[Installer][win-x64-installer-3.1.1xx] - [Checksum][win-x64-installer-checksum-3.1.1xx]
[zip][win-x64-zip-3.1.1xx] - [Checksum][win-x64-zip-checksum-3.1.1xx] | [![][win-x64-badge-3.0.1xx]][win-x64-version-3.0.1xx]
[Installer][win-x64-installer-3.0.1xx] - [Checksum][win-x64-installer-checksum-3.0.1xx]
[zip][win-x64-zip-3.0.1xx] - [Checksum][win-x64-zip-checksum-3.0.1xx] | [![][win-x64-badge-2.2.4xx]][win-x64-version-2.2.4xx]
[Installer][win-x64-installer-2.2.4xx] - [Checksum][win-x64-installer-checksum-2.2.4xx]
[zip][win-x64-zip-2.2.4xx] - [Checksum][win-x64-zip-checksum-2.2.4xx] |[![][win-x64-badge-2.2.2XX]][win-x64-version-2.2.2XX]
[Installer][win-x64-installer-2.2.2XX] - [Checksum][win-x64-installer-checksum-2.2.2XX]
[zip][win-x64-zip-2.2.2XX] - [Checksum][win-x64-zip-checksum-2.2.2XX] |[![][win-x64-badge-2.2.1XX]][win-x64-version-2.2.1XX]
[Installer][win-x64-installer-2.2.1XX] - [Checksum][win-x64-installer-checksum-2.2.1XX]
[zip][win-x64-zip-2.2.1XX] - [Checksum][win-x64-zip-checksum-2.2.1XX] |[![][win-x64-badge-2.1.7XX]][win-x64-version-2.1.7XX]
[Installer][win-x64-installer-2.1.7XX] - [Checksum][win-x64-installer-checksum-2.1.7XX]
[zip][win-x64-zip-2.1.7XX] - [Checksum][win-x64-zip-checksum-2.1.7XX] | [![][win-x64-badge-2.1.6XX]][win-x64-version-2.1.6XX]
[Installer][win-x64-installer-2.1.6XX] - [Checksum][win-x64-installer-checksum-2.1.6XX]
[zip][win-x64-zip-2.1.6XX] - [Checksum][win-x64-zip-checksum-2.1.6XX] | [![][win-x64-badge-2.1.5XX]][win-x64-version-2.1.5XX]
[Installer][win-x64-installer-2.1.5XX] - [Checksum][win-x64-installer-checksum-2.1.5XX]
[zip][win-x64-zip-2.1.5XX] - [Checksum][win-x64-zip-checksum-2.1.5XX] |
+| **Windows x86** | [![][win-x86-badge-master]][win-x86-version-master]
[Installer][win-x86-installer-master] - [Checksum][win-x86-installer-checksum-master]
[zip][win-x86-zip-master] - [Checksum][win-x86-zip-checksum-master] | [![][win-x86-badge-3.1.1xx]][win-x86-version-3.1.1xx]
[Installer][win-x86-installer-3.1.1xx] - [Checksum][win-x86-installer-checksum-3.1.1xx]
[zip][win-x86-zip-3.1.1xx] - [Checksum][win-x86-zip-checksum-3.1.1xx] | [![][win-x86-badge-3.0.1xx]][win-x86-version-3.0.1xx]
[Installer][win-x86-installer-3.0.1xx] - [Checksum][win-x86-installer-checksum-3.0.1xx]
[zip][win-x86-zip-3.0.1xx] - [Checksum][win-x86-zip-checksum-3.0.1xx] | [![][win-x86-badge-2.2.4xx]][win-x86-version-2.2.4xx]
[Installer][win-x86-installer-2.2.4xx] - [Checksum][win-x86-installer-checksum-2.2.4xx]
[zip][win-x86-zip-2.2.4xx] - [Checksum][win-x86-zip-checksum-2.2.4xx] |[![][win-x86-badge-2.2.2XX]][win-x86-version-2.2.2XX]
[Installer][win-x86-installer-2.2.2XX] - [Checksum][win-x86-installer-checksum-2.2.2XX]
[zip][win-x86-zip-2.2.2XX] - [Checksum][win-x86-zip-checksum-2.2.2XX] |[![][win-x86-badge-2.2.1XX]][win-x86-version-2.2.1XX]
[Installer][win-x86-installer-2.2.1XX] - [Checksum][win-x86-installer-checksum-2.2.1XX]
[zip][win-x86-zip-2.2.1XX] - [Checksum][win-x86-zip-checksum-2.2.1XX] |[![][win-x86-badge-2.1.7XX]][win-x86-version-2.1.7XX]
[Installer][win-x86-installer-2.1.7XX] - [Checksum][win-x86-installer-checksum-2.1.7XX]
[zip][win-x86-zip-2.1.7XX] - [Checksum][win-x86-zip-checksum-2.1.7XX] | [![][win-x86-badge-2.1.6XX]][win-x86-version-2.1.6XX]
[Installer][win-x86-installer-2.1.6XX] - [Checksum][win-x86-installer-checksum-2.1.6XX]
[zip][win-x86-zip-2.1.6XX] - [Checksum][win-x86-zip-checksum-2.1.6XX] | [![][win-x86-badge-2.1.5XX]][win-x86-version-2.1.5XX]
[Installer][win-x86-installer-2.1.5XX] - [Checksum][win-x86-installer-checksum-2.1.5XX]
[zip][win-x86-zip-2.1.5XX] - [Checksum][win-x86-zip-checksum-2.1.5XX] |
+| **macOS** | [![][osx-badge-master]][osx-version-master]
[Installer][osx-installer-master] - [Checksum][osx-installer-checksum-master]
[tar.gz][osx-targz-master] - [Checksum][osx-targz-checksum-master] | [![][osx-badge-3.1.1xx]][osx-version-3.1.1xx]
[Installer][osx-installer-3.1.1xx] - [Checksum][osx-installer-checksum-3.1.1xx]
[tar.gz][osx-targz-3.1.1xx] - [Checksum][osx-targz-checksum-3.1.1xx] | [![][osx-badge-3.0.1xx]][osx-version-3.0.1xx]
[Installer][osx-installer-3.0.1xx] - [Checksum][osx-installer-checksum-3.0.1xx]
[tar.gz][osx-targz-3.0.1xx] - [Checksum][osx-targz-checksum-3.0.1xx] | [![][osx-badge-2.2.4xx]][osx-version-2.2.4xx]
[Installer][osx-installer-2.2.4xx] - [Checksum][osx-installer-checksum-2.2.4xx]
[tar.gz][osx-targz-2.2.4xx] - [Checksum][osx-targz-checksum-2.2.4xx] |[![][osx-badge-2.2.2XX]][osx-version-2.2.2XX]
[Installer][osx-installer-2.2.2XX] - [Checksum][osx-installer-checksum-2.2.2XX]
[tar.gz][osx-targz-2.2.2XX] - [Checksum][osx-targz-checksum-2.2.2XX] |[![][osx-badge-2.2.1XX]][osx-version-2.2.1XX]
[Installer][osx-installer-2.2.1XX] - [Checksum][osx-installer-checksum-2.2.1XX]
[tar.gz][osx-targz-2.2.1XX] - [Checksum][osx-targz-checksum-2.2.1XX] |[![][osx-badge-2.1.7XX]][osx-version-2.1.7XX]
[Installer][osx-installer-2.1.7XX] - [Checksum][osx-installer-checksum-2.1.7XX]
[tar.gz][osx-targz-2.1.7XX] - [Checksum][osx-targz-checksum-2.1.7XX] | [![][osx-badge-2.1.6XX]][osx-version-2.1.6XX]
[Installer][osx-installer-2.1.6XX] - [Checksum][osx-installer-checksum-2.1.6XX]
[tar.gz][osx-targz-2.1.6XX] - [Checksum][osx-targz-checksum-2.1.6XX] | [![][osx-badge-2.1.5XX]][osx-version-2.1.5XX]
[Installer][osx-installer-2.1.5XX] - [Checksum][osx-installer-checksum-2.1.5XX]
[tar.gz][osx-targz-2.1.5XX] - [Checksum][osx-targz-checksum-2.1.5XX] |
+| **Linux x64** | [![][linux-badge-master]][linux-version-master]
[DEB Installer][linux-DEB-installer-master] - [Checksum][linux-DEB-installer-checksum-master]
[RPM Installer][linux-RPM-installer-master] - [Checksum][linux-RPM-installer-checksum-master]
_see installer note below_1
[tar.gz][linux-targz-master] - [Checksum][linux-targz-checksum-master] | [![][linux-badge-3.1.1xx]][linux-version-3.1.1xx]
[DEB Installer][linux-DEB-installer-3.1.1xx] - [Checksum][linux-DEB-installer-checksum-3.1.1xx]
[RPM Installer][linux-RPM-installer-3.1.1xx] - [Checksum][linux-RPM-installer-checksum-3.1.1xx]
_see installer note below_1
[tar.gz][linux-targz-3.1.1xx] - [Checksum][linux-targz-checksum-3.1.1xx] | [![][linux-badge-3.0.1xx]][linux-version-3.0.1xx]
[DEB Installer][linux-DEB-installer-3.0.1xx] - [Checksum][linux-DEB-installer-checksum-3.0.1xx]
[RPM Installer][linux-RPM-installer-3.0.1xx] - [Checksum][linux-RPM-installer-checksum-3.0.1xx]
_see installer note below_1
[tar.gz][linux-targz-3.0.1xx] - [Checksum][linux-targz-checksum-3.0.1xx] | [![][linux-badge-2.2.4xx]][linux-version-2.2.4xx]
[DEB Installer][linux-DEB-installer-2.2.4xx] - [Checksum][linux-DEB-installer-checksum-2.2.4xx]
[RPM Installer][linux-RPM-installer-2.2.4xx] - [Checksum][linux-RPM-installer-checksum-2.2.4xx]
_see installer note below_1
[tar.gz][linux-targz-2.2.4xx] - [Checksum][linux-targz-checksum-2.2.4xx] |[![][linux-badge-2.2.2xx]][linux-version-2.2.2xx]
[DEB Installer][linux-DEB-installer-2.2.2XX] - [Checksum][linux-DEB-installer-checksum-2.2.2XX]
[RPM Installer][linux-RPM-installer-2.2.2XX] - [Checksum][linux-RPM-installer-checksum-2.2.2XX]
_see installer note below_1
[tar.gz][linux-targz-2.2.2XX] - [Checksum][linux-targz-checksum-2.2.2XX] |[![][linux-badge-2.2.1xx]][linux-version-2.2.1xx]
[DEB Installer][linux-DEB-installer-2.2.1XX] - [Checksum][linux-DEB-installer-checksum-2.2.1XX]
[RPM Installer][linux-RPM-installer-2.2.1XX] - [Checksum][linux-RPM-installer-checksum-2.2.1XX]
_see installer note below_1
[tar.gz][linux-targz-2.2.1XX] - [Checksum][linux-targz-checksum-2.2.1XX] |[![][linux-badge-2.1.7XX]][linux-version-2.1.7XX]
[DEB Installer][linux-DEB-installer-2.1.7XX] - [Checksum][linux-DEB-installer-checksum-2.1.7XX]
[RPM Installer][linux-RPM-installer-2.1.7XX] - [Checksum][linux-RPM-installer-checksum-2.1.7XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.7XX] - [Checksum][linux-targz-checksum-2.1.7XX] | [![][linux-badge-2.1.6XX]][linux-version-2.1.6XX]
[DEB Installer][linux-DEB-installer-2.1.6XX] - [Checksum][linux-DEB-installer-checksum-2.1.6XX]
[RPM Installer][linux-RPM-installer-2.1.6XX] - [Checksum][linux-RPM-installer-checksum-2.1.6XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.6XX] - [Checksum][linux-targz-checksum-2.1.6XX] | [![][linux-badge-2.1.5XX]][linux-version-2.1.5XX]
[DEB Installer][linux-DEB-installer-2.1.5XX] - [Checksum][linux-DEB-installer-checksum-2.1.5XX]
[RPM Installer][linux-RPM-installer-2.1.5XX] - [Checksum][linux-RPM-installer-checksum-2.1.5XX]
_see installer note below_1
[tar.gz][linux-targz-2.1.5XX] - [Checksum][linux-targz-checksum-2.1.5XX] |
+| **Linux arm** | [![][linux-arm-badge-master]][linux-arm-version-master]
[tar.gz][linux-arm-targz-master] - [Checksum][linux-arm-targz-checksum-master] | [![][linux-arm-badge-3.1.1xx]][linux-arm-version-3.1.1xx]
[tar.gz][linux-arm-targz-3.1.1xx] - [Checksum][linux-arm-targz-checksum-3.1.1xx] | [![][linux-arm-badge-3.0.1xx]][linux-arm-version-3.0.1xx]
[tar.gz][linux-arm-targz-3.0.1xx] - [Checksum][linux-arm-targz-checksum-3.0.1xx] | [![][linux-arm-badge-2.2.4xx]][linux-arm-version-2.2.4xx]
[tar.gz][linux-arm-targz-2.2.4xx] - [Checksum][linux-arm-targz-checksum-2.2.4xx] | [![][linux-arm-badge-2.2.2XX]][linux-arm-version-2.2.2XX]
[tar.gz][linux-arm-targz-2.2.2XX] - [Checksum][linux-arm-targz-checksum-2.2.2XX] | [![][linux-arm-badge-2.2.1XX]][linux-arm-version-2.2.1XX]
[tar.gz][linux-arm-targz-2.2.1XX] - [Checksum][linux-arm-targz-checksum-2.2.1XX] | [![][linux-arm-badge-2.1.7XX]][linux-arm-version-2.1.7XX]
[tar.gz][linux-arm-targz-2.1.7XX] - [Checksum][linux-arm-targz-checksum-2.1.7XX] | [![][linux-arm-badge-2.1.6XX]][linux-arm-version-2.1.6XX]
[tar.gz][linux-arm-targz-2.1.6XX] - [Checksum][linux-arm-targz-checksum-2.1.6XX] | [![][linux-arm-badge-2.1.5XX]][linux-arm-version-2.1.5XX]
[tar.gz][linux-arm-targz-2.1.5XX] - [Checksum][linux-arm-targz-checksum-2.1.5XX] |
+| **Linux arm64** | [![][linux-arm64-badge-master]][linux-arm64-version-master]
[tar.gz][linux-arm64-targz-master] - [Checksum][linux-arm64-targz-checksum-master] | [![][linux-arm64-badge-3.1.1xx]][linux-arm64-version-3.1.1xx]
[tar.gz][linux-arm64-targz-3.1.1xx] - [Checksum][linux-arm64-targz-checksum-3.1.1xx] | [![][linux-arm64-badge-3.0.1xx]][linux-arm64-version-3.0.1xx]
[tar.gz][linux-arm64-targz-3.0.1xx] - [Checksum][linux-arm64-targz-checksum-3.0.1xx] | [![][linux-arm64-badge-2.2.4xx]][linux-arm64-version-2.2.4xx]
[tar.gz][linux-arm64-targz-2.2.4xx] - [Checksum][linux-arm64-targz-checksum-2.2.4xx] | [![][linux-arm64-badge-2.2.2XX]][linux-arm64-version-2.2.2XX]
[tar.gz][linux-arm64-targz-2.2.2XX] - [Checksum][linux-arm64-targz-checksum-2.2.2XX] | [![][linux-arm64-badge-2.2.1XX]][linux-arm64-version-2.2.1XX]
[tar.gz][linux-arm64-targz-2.2.1XX] - [Checksum][linux-arm64-targz-checksum-2.2.1XX] | [![][linux-arm64-badge-2.1.7XX]][linux-arm64-version-2.1.7XX]
[tar.gz][linux-arm64-targz-2.1.7XX] - [Checksum][linux-arm64-targz-checksum-2.1.7XX] | [![][linux-arm64-badge-2.1.6XX]][linux-arm64-version-2.1.6XX]
[tar.gz][linux-arm64-targz-2.1.6XX] - [Checksum][linux-arm64-targz-checksum-2.1.6XX] | [![][linux-arm64-badge-2.1.5XX]][linux-arm64-version-2.1.5XX]
[tar.gz][linux-arm64-targz-2.1.5XX] - [Checksum][linux-arm64-targz-checksum-2.1.5XX] |
+| **RHEL 6** | [![][rhel-6-badge-master]][rhel-6-version-master]
[tar.gz][rhel-6-targz-master] - [Checksum][rhel-6-targz-checksum-master] | [![][rhel-6-badge-3.1.1xx]][rhel-6-version-3.1.1xx]
[tar.gz][rhel-6-targz-3.1.1xx] - [Checksum][rhel-6-targz-checksum-3.1.1xx] | [![][rhel-6-badge-3.0.1xx]][rhel-6-version-3.0.1xx]
[tar.gz][rhel-6-targz-3.0.1xx] - [Checksum][rhel-6-targz-checksum-3.0.1xx] | [![][rhel-6-badge-2.2.4xx]][rhel-6-version-2.2.4xx]
[tar.gz][rhel-6-targz-2.2.4xx] - [Checksum][rhel-6-targz-checksum-2.2.4xx] | [![][rhel-6-badge-2.2.2XX]][rhel-6-version-2.2.2XX]
[tar.gz][rhel-6-targz-2.2.2XX] - [Checksum][rhel-6-targz-checksum-2.2.2XX] | [![][rhel-6-badge-2.2.1XX]][rhel-6-version-2.2.1XX]
[tar.gz][rhel-6-targz-2.2.1XX] - [Checksum][rhel-6-targz-checksum-2.2.1XX] | [![][rhel-6-badge-2.1.7XX]][rhel-6-version-2.1.7XX]
[tar.gz][rhel-6-targz-2.1.7XX] - [Checksum][rhel-6-targz-checksum-2.1.7XX] | [![][rhel-6-badge-2.1.6XX]][rhel-6-version-2.1.6XX]
[tar.gz][rhel-6-targz-2.1.6XX] - [Checksum][rhel-6-targz-checksum-2.1.6XX] | [![][rhel-6-badge-2.1.5XX]][rhel-6-version-2.1.5XX]
[tar.gz][rhel-6-targz-2.1.5XX] - [Checksum][rhel-6-targz-checksum-2.1.5XX] |
+| **Linux-musl** | [![][linux-musl-badge-master]][linux-musl-version-master]
[tar.gz][linux-musl-targz-master] - [Checksum][linux-musl-targz-checksum-master] | [![][linux-musl-badge-3.1.1xx]][linux-musl-version-3.1.1xx]
[tar.gz][linux-musl-targz-3.1.1xx] - [Checksum][linux-musl-targz-checksum-3.1.1xx] | [![][linux-musl-badge-3.0.1xx]][linux-musl-version-3.0.1xx]
[tar.gz][linux-musl-targz-3.0.1xx] - [Checksum][linux-musl-targz-checksum-3.0.1xx] | [![][linux-musl-badge-2.2.4xx]][linux-musl-version-2.2.4xx]
[tar.gz][linux-musl-targz-2.2.4xx] - [Checksum][linux-musl-targz-checksum-2.2.4xx] | [![][linux-musl-badge-2.2.2XX]][linux-musl-version-2.2.2XX]
[tar.gz][linux-musl-targz-2.2.2XX] - [Checksum][linux-musl-targz-checksum-2.2.2XX] | [![][linux-musl-badge-2.2.1XX]][linux-musl-version-2.2.1XX]
[tar.gz][linux-musl-targz-2.2.1XX] - [Checksum][linux-musl-targz-checksum-2.2.1XX] | [![][linux-musl-badge-2.1.7XX]][linux-musl-version-2.1.7XX]
[tar.gz][linux-musl-targz-2.1.7XX] - [Checksum][linux-musl-targz-checksum-2.1.7XX] | [![][linux-musl-badge-2.1.6XX]][linux-musl-version-2.1.6XX]
[tar.gz][linux-musl-targz-2.1.6XX] - [Checksum][linux-musl-targz-checksum-2.1.6XX] | [![][linux-musl-badge-2.1.5XX]][linux-musl-version-2.1.5XX]
[tar.gz][linux-musl-targz-2.1.5XX] - [Checksum][linux-musl-targz-checksum-2.1.5XX] |
+| **Windows arm** | [![][win-arm-badge-master]][win-arm-version-master]
[zip][win-arm-zip-master] - [Checksum][win-arm-zip-checksum-master] | [![][win-arm-badge-3.1.1xx]][win-arm-version-3.1.1xx]
[zip][win-arm-zip-3.1.1xx] - [Checksum][win-arm-zip-checksum-3.1.1xx] | [![][win-arm-badge-3.0.1xx]][win-arm-version-3.0.1xx]
[zip][win-arm-zip-3.0.1xx] - [Checksum][win-arm-zip-checksum-3.0.1xx] | [![][win-arm-badge-2.2.4xx]][win-arm-version-2.2.4xx]
[zip][win-arm-zip-2.2.4xx] - [Checksum][win-arm-zip-checksum-2.2.4xx] | [![][win-arm-badge-2.2.2XX]][win-arm-version-2.2.2XX]
[zip][win-arm-zip-2.2.2XX] - [Checksum][win-arm-zip-checksum-2.2.2XX] | [![][win-arm-badge-2.2.1XX]][win-arm-version-2.2.1XX]
[zip][win-arm-zip-2.2.1XX] - [Checksum][win-arm-zip-checksum-2.2.1XX] | **N/A** | **N/A** | **N/A** |
+| **FreeBSD x64** | [![][freebsd-x64-badge-master]][freebsd-x64-version-master]
[tar.gz][freebsd-x64-zip-master] - [Checksum][freebsd-x64-zip-checksum-master] | [![][freebsd-x64-badge-3.1.1xx]][freebsd-x64-version-3.1.1xx]
[tar.gz][freebsd-x64-zip-3.1.1xx] - [Checksum][freebsd-x64-zip-checksum-3.1.1xx] | [![][freebsd-x64-badge-3.0.1xx]][freebsd-x64-version-3.0.1xx]
[tar.gz][freebsd-x64-zip-3.0.1xx] - [Checksum][freebsd-x64-zip-checksum-3.0.1xx] | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** |
| **Constituent Repo Shas** | **N/A** | **N/A** | [Git SHAs][sdk-shas-2.2.1XX] | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** | **N/A** |
Reference notes:
@@ -92,12 +92,6 @@ Reference notes:
[win-x64-zip-3.0.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.0.1xx/dotnet-sdk-latest-win-x64.zip
[win-x64-zip-checksum-3.0.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.0.1xx/dotnet-sdk-latest-win-x64.zip.sha
-[win-x64-badge-3.0.100-preview9]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/win_x64_Release_version_badge.svg
-[win-x64-version-3.0.100-preview9]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/latest.version
-[win-x64-installer-3.0.100-preview9]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/dotnet-sdk-latest-win-x64.exe
-[win-x64-installer-checksum-3.0.100-preview9]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/dotnet-sdk-latest-win-x64.exe.sha
-[win-x64-zip-3.0.100-preview9]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/dotnet-sdk-latest-win-x64.zip
-[win-x64-zip-checksum-3.0.100-preview9]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.0.100-preview9/dotnet-sdk-latest-win-x64.zip.sha
[win-x64-badge-2.2.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.4xx/win_x64_Release_version_badge.svg
[win-x64-version-2.2.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.2.4xx/latest.version
diff --git a/build.sh b/build.sh
index 01aab3a14..7ff647c40 100755
--- a/build.sh
+++ b/build.sh
@@ -46,7 +46,7 @@ done
dockerbuild()
{
- BUILD_COMMAND=/opt/code/run-build.sh $DIR/eng/dockerrun.sh --non-interactive "$@"
+ BUILD_COMMAND=$DIR/run-build.sh $DIR/eng/dockerrun.sh --non-interactive "$@"
}
# Check if we need to build in docker
diff --git a/eng/Publishing.props b/eng/Publishing.props
index f40cf64be..ed7bbcd19 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -9,9 +9,7 @@
$(Product)
assets/$(Product)
$(DotnetPublishChecksumsBlobFeedUrl)
- $(DotNetPublishChecksumsBlobFeedKey)
$(DotnetPublishSdkAssetsBlobFeedUrl)
- $(DotNetPublishSdkAssetsBlobFeedKey)
false
true
@@ -33,6 +31,9 @@
$(ArtifactsLogDir)AssetManifest\$(AssetManifestFileName).xml
$(ArtifactsLogDir)AssetManifest\$(ChecksumsAssetManifestFileName).xml
+
+ $(ArtifactsDir)..\DotnetAssetsTmpDir\$([System.Guid]::NewGuid())
+ $(ArtifactsDir)..\ChecksumAssetsTmpDir\$([System.Guid]::NewGuid())
@@ -45,9 +46,7 @@
-
- true
-
+
@@ -74,9 +73,10 @@
-
+
+
+
+ PublishFlatContainer="true"
+ AssetsTemporaryDirectory="$(DotnetTempWorkingDirectory)" />
-
+ PublishFlatContainer="true"
+ AssetsTemporaryDirectory="$(ChecksumTempWorkingDirectory)" />
+
+
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 48db9d8ec..d05a217ed 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -2,41 +2,71 @@
-
+
https://github.com/dotnet/windowsdesktop
- 9c77fdf3aad3ed50af9d223575c1f836bb8e4d9f
+ 76ac27ec24174b4d0a7ff58e9e6e24f1d6b608d4
-
+
+ https://github.com/dotnet/windowsdesktop
+ 76ac27ec24174b4d0a7ff58e9e6e24f1d6b608d4
+
+
https://github.com/dotnet/core-setup
- f88738a6c69ffcfad8784c4cd7080efb99d474a9
+ 346b717dc7be7f9b3c2554d883d26e8f33977b86
-
+
https://github.com/dotnet/core-setup
- f88738a6c69ffcfad8784c4cd7080efb99d474a9
+ 346b717dc7be7f9b3c2554d883d26e8f33977b86
-
- https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+
+ https://github.com/dotnet/core-setup
+ 346b717dc7be7f9b3c2554d883d26e8f33977b86
-
- https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+
+ https://github.com/dotnet/core-setup
+ 346b717dc7be7f9b3c2554d883d26e8f33977b86
-
- https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+
+ https://github.com/dotnet/core-setup
+ 346b717dc7be7f9b3c2554d883d26e8f33977b86
-
- https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+
+
+ https://github.com/dotnet/core-setup
+ 7d57652f33493fa022125b7f63aad0d70c52d810
-
- https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+
+
+ https://github.com/dotnet/corefx
+ 2b92fc0930b941cd0d9146971745cd717689434c
-
+
https://github.com/aspnet/AspNetCore
- 29ad3f2b8a42a29b26e72e98c22cc913f93b17b0
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/aspnet/AspNetCore
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/aspnet/AspNetCore
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/aspnet/AspNetCore
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/aspnet/AspNetCore
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/aspnet/AspNetCore
+ 23f3a10965fb70b1ae34c5464d497c71540c998e
+
+
+ https://github.com/dotnet/test-templates
+ 6ae8a6e7dd862c9447771c108d43fb9028f22c22
https://github.com/dotnet/templating
@@ -65,9 +95,9 @@
-
+
https://github.com/dotnet/arcade
- 7b731032220c21a3ed0021c72757b1f3122579b2
+ 0e9ffd6464aff37aef2dc41dc2162d258f266e32
diff --git a/eng/Versions.props b/eng/Versions.props
index 63b174fb9..4eda7cb7e 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -22,14 +22,26 @@
5.0.0-alpha1.19462.16
+
+
+ 3.1.0-preview1.19476.7
+
+
+
+ 1.0.2-beta4.19465.1
+
+
+
+ 1.6.3
+
- 5.0.0-alpha1.19470.6
- 5.0.0-alpha1.19470.6
- 5.0.0-alpha1.19470.6
- 5.0.0-alpha1.19470.6
- 5.0.0-alpha1.19470.6
- 5.0.0-alpha1.19470.6
+ 5.0.0-alpha1.19517.10
+ 5.0.0-alpha1.19517.10
+ 5.0.0-alpha1.19517.10
+ 5.0.0-alpha1.19517.10
+ 5.0.0-alpha1.19517.10
+ 5.0.0-alpha1.19517.10
@@ -44,30 +56,40 @@
$(MicrosoftNETSdkPackageVersion)
- 5.0.0-alpha1.19507.3
+ 5.0.0-alpha1.19518.5
+ 5.0.0-alpha1.19518.5
$(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
- 2.1.0-alpha1.19507.3
+ 5.0.0-alpha1.19518.5
+ 5.0.0-alpha1.19518.5
+ $(MicrosoftNETCoreDotNetHostResolverPackageVersion)
+ $(MicrosoftNETCoreDotNetAppHostPackageVersion)
+ 5.0.0-alpha1.19518.5
+ $(MicrosoftNETCoreAppRefPackageVersion)
+ $(MicrosoftNETCoreDotNetAppHostPackageVersion)
+ 2.1.0
$(MicrosoftAspNetCoreAppRuntimeWinX64PackageVersion)
$(MicrosoftAspNetCoreAppRefPackageVersion)
- 5.0.0-alpha1.19518.4
+ 5.0.0-alpha1.19518.5
+ 5.0.0-alpha1.19518.5
$(MicrosoftWindowsDesktopAppPackageVersion)
$(MicrosoftWindowsDesktopAppPackageVersion)
+
+ $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)
+ $(MicrosoftDotNetWpfProjectTemplatesPackageVersion)
+ $(NUnit3DotNetNewTemplatePackageVersion)
+ $(MicrosoftDotNetCommonItemTemplatesPackageVersion)
+ $(MicrosoftDotNetCommonItemTemplates31PackageVersion)
+ $(AspNetCoreVersion)
- $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)
- $(MicrosoftDotNetWpfProjectTemplatesPackageVersion)
+ 4.8.0-rc2.19462.10
+ 3.0.0
1.6.3
2.0.0-preview8.19373.1
$(MicrosoftDotNetCommonItemTemplates30PackageVersion)
1.0.2-beta4.19354.2
- $(AspNetCoreVersion)
+ 3.0.0
1.6.0
1.0.2-beta4
diff --git a/eng/build.yml b/eng/build.yml
index c47ccad98..82e02fabc 100644
--- a/eng/build.yml
+++ b/eng/build.yml
@@ -14,42 +14,57 @@ parameters:
# Job timeout
timeoutInMinutes: 180
+ # Publish using pipelines
+ enablePublishUsingPipelines: true
+
phases:
- template: /eng/common/templates/job/job.yml
parameters:
name: ${{ parameters.agentOs }}
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
enableMicrobuild: true
+ enablePublishBuildArtifacts: true
enablePublishBuildAssets: true
+ enablePublishTestResults: true
+ enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}}
enableTelemetry: true
helixRepo: dotnet/core-sdk
pool: ${{ parameters.pool }}
${{ if ne(parameters.strategy, '') }}:
strategy: ${{ parameters.strategy }}
+ workspace:
+ clean: all
variables:
- _AgentOSName: ${{ parameters.agentOs }}
- _TeamName: Roslyn-Project-System
- _BuildArgs: ''
- _SignType: test
+ - _DOTNETCLIMSRC_READ_SAS_TOKEN: ''
+
+ - ${{ if and(eq(variables['System.TeamProject'], 'internal'), contains(variables['Build.SourceBranch'], 'internal')) }}:
+ - group: DotNet-MSRC-Storage
+ - _DOTNETCLIMSRC_READ_SAS_TOKEN: $(dotnetclimsrc-read-sas-token)
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-Symbol-Server-PATs
- group: DotNet-HelixApi-Access
+ - group: DotNet-Blob-Feed
- _DotNetPublishToBlobFeed: true
- _PushToVSFeed: true
- _SignType: real
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
+ /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
+ /p:DotNetPublishBlobFeedUrl=$(PB_PublishBlobFeedUrl)
/p:DotnetPublishSdkAssetsBlobFeedUrl=$(_PublishBlobFeedUrl)
- /p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
/p:PB_PublishType=blob
/p:DotnetPublishChecksumsBlobFeedUrl=$(_PublishChecksumsBlobFeedUrl)
- /p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
/p:DotNetSignType=real
/p:TeamName=$(_TeamName)
+ /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
steps:
- checkout: self
@@ -69,6 +84,7 @@ phases:
env:
DOTNET_CLI_UI_LANGUAGE: $(_DOTNET_CLI_UI_LANGUAGE)
DropSuffix: $(_DropSuffix)
+ DOTNETCLIMSRC_READ_SAS_TOKEN: $(_DOTNETCLIMSRC_READ_SAS_TOKEN)
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- script: 'eng/setbuildinfo.sh $(_BuildArchitecture) $(_BuildConfig)'
@@ -88,6 +104,7 @@ phases:
displayName: Build
env:
DropSuffix: $(_DropSuffix)
+ DOTNETCLIMSRC_READ_SAS_TOKEN: $(_DOTNETCLIMSRC_READ_SAS_TOKEN)
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
- script: ./build.sh
@@ -98,6 +115,8 @@ phases:
$(_BuildArgs)
$(_AdditionalBuildParameters)
displayName: Build
+ env:
+ DOTNETCLIMSRC_READ_SAS_TOKEN: $(_DOTNETCLIMSRC_READ_SAS_TOKEN)
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.agentOs, 'Windows_NT')) }}:
- task: NuGetCommand@2
@@ -117,7 +136,7 @@ phases:
testRunTitle: '$(_AgentOSName)_$(Agent.JobName)'
platform: '$(BuildPlatform)'
configuration: '$(_BuildConfig)'
- condition: not(succeeded())
+ condition: ne(variables['TestParameter'], '')
- task: CopyFiles@2
displayName: Gather Logs
@@ -128,7 +147,7 @@ phases:
TestResults/$(_BuildConfig)/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
continueOnError: true
- condition: not(succeeded())
+ condition: always()
- task: PublishBuildArtifacts@1
displayName: Publish Logs to VSTS
@@ -137,4 +156,4 @@ phases:
ArtifactName: '$(_AgentOSName)_$(Agent.JobName)_$(Build.BuildNumber)'
publishLocation: Container
continueOnError: true
- condition: not(succeeded())
+ condition: always()
diff --git a/eng/common/enable-cross-org-publishing.ps1 b/eng/common/enable-cross-org-publishing.ps1
new file mode 100644
index 000000000..eccbf9f1b
--- /dev/null
+++ b/eng/common/enable-cross-org-publishing.ps1
@@ -0,0 +1,6 @@
+param(
+ [string] $token
+)
+
+Write-Host "##vso[task.setvariable variable=VSS_NUGET_ACCESSTOKEN]$token"
+Write-Host "##vso[task.setvariable variable=VSS_NUGET_URI_PREFIXES]https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/"
diff --git a/eng/common/sdl/extract-artifact-packages.ps1 b/eng/common/sdl/extract-artifact-packages.ps1
index 1fdbb1432..6e6825013 100644
--- a/eng/common/sdl/extract-artifact-packages.ps1
+++ b/eng/common/sdl/extract-artifact-packages.ps1
@@ -5,6 +5,13 @@ param(
$ErrorActionPreference = "Stop"
Set-StrictMode -Version 2.0
+
+# `tools.ps1` checks $ci to perform some actions. Since the post-build
+# scripts don't necessarily execute in the same agent that run the
+# build.ps1/sh script this variable isn't automatically set.
+$ci = $true
+. $PSScriptRoot\..\tools.ps1
+
$ExtractPackage = {
param(
[string] $PackagePath # Full path to a NuGet package
diff --git a/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml b/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml
new file mode 100644
index 000000000..cdb74031f
--- /dev/null
+++ b/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml
@@ -0,0 +1,95 @@
+parameters:
+ artifactsPublishingAdditionalParameters: ''
+ publishInstallersAndChecksums: false
+
+stages:
+- stage: NetCore_3_Tools_Validation_Publish
+ dependsOn: validate
+ variables:
+ - template: ../common-variables.yml
+ displayName: .NET 3 Tools - Validation Publishing
+ jobs:
+ - template: ../setup-maestro-vars.yml
+
+ - job: publish_assets
+ displayName: Publish Assets
+ dependsOn: setupMaestroVars
+ variables:
+ - group: DotNet-Blob-Feed
+ - group: AzureDevOps-Artifact-Feeds-Pats
+ - name: BARBuildId
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
+ - name: IsStableBuild
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NETCore_3_Tools_Validation_Channel_Id))
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: current
+ artifactName: PackageArtifacts
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Blob Artifacts
+ inputs:
+ buildType: current
+ artifactName: BlobArtifacts
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Asset Manifests
+ inputs:
+ buildType: current
+ artifactName: AssetManifests
+
+ - task: NuGetToolInstaller@1
+ displayName: 'Install NuGet.exe'
+
+ # This is necessary whenever we want to publish/restore to an AzDO private feed
+ - task: NuGetAuthenticate@0
+ displayName: 'Authenticate to AzDO Feeds'
+
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
+ - task: PowerShell@2
+ displayName: Publish Assets
+ inputs:
+ filePath: eng\common\sdk-task.ps1
+ arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
+ /p:ArtifactsCategory=$(_DotNetValidationArtifactsCategory)
+ /p:IsStableBuild=$(IsStableBuild)
+ /p:IsInternalBuild=$(IsInternalBuild)
+ /p:RepositoryName=$(Build.Repository.Name)
+ /p:CommitSha=$(Build.SourceVersion)
+ /p:NugetPath=$(NuGetExeToolPath)
+ /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
+ /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
+ /p:BARBuildId=$(BARBuildId)
+ /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
+ /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
+ /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
+ /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
+ /p:Configuration=Release
+ /p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
+ /p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
+ /p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
+ /p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
+ /p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
+ /p:PublishToAzureDevOpsNuGetFeeds=true
+ /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
+ /p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
+ /p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
+ /p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ ${{ parameters.artifactsPublishingAdditionalParameters }}
+
+ - template: ../../steps/promote-build.yml
+ parameters:
+ ChannelId: ${{ variables.NETCore_3_Tools_Validation_Channel_Id }}
diff --git a/eng/common/templates/post-build/channels/netcore-dev-30.yml b/eng/common/templates/post-build/channels/netcore-3-tools.yml
similarity index 82%
rename from eng/common/templates/post-build/channels/netcore-dev-30.yml
rename to eng/common/templates/post-build/channels/netcore-3-tools.yml
index 69f1a9013..70eec773e 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-3-tools.yml
@@ -4,18 +4,18 @@ parameters:
publishInstallersAndChecksums: false
stages:
-- stage: NetCore_Dev30_Publish
+- stage: NetCore_3_Tools_Publish
dependsOn: validate
variables:
- template: ../common-variables.yml
- displayName: .NET Core 3.0 Dev Publishing
+ displayName: .NET 3 Tools Publishing
jobs:
- template: ../setup-maestro-vars.yml
- job:
displayName: Symbol Publishing
dependsOn: setupMaestroVars
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicDevRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_3_Tools_Channel_Id))
variables:
- group: DotNet-Symbol-Server-Pats
pool:
@@ -56,7 +56,7 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicDevRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_3_Tools_Channel_Id))
pool:
vmImage: 'windows-2019'
steps:
@@ -85,42 +85,46 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
- arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
+ arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
/p:ArtifactsCategory=$(_DotNetArtifactsCategory)
/p:IsStableBuild=$(IsStableBuild)
/p:IsInternalBuild=$(IsInternalBuild)
/p:RepositoryName=$(Build.Repository.Name)
/p:CommitSha=$(Build.SourceVersion)
/p:NugetPath=$(NuGetExeToolPath)
- /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
- /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
- /p:BARBuildId=$(BARBuildId)
- /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
- /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
- /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
- /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
- /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
- /p:Configuration=Release
+ /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
+ /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
+ /p:BARBuildId=$(BARBuildId)
+ /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
+ /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
+ /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
+ /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
+ /p:Configuration=Release
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
/p:PublishToAzureDevOpsNuGetFeeds=true
- /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3/nuget/v3/index.json'
+ /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
/p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
- /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-transport/nuget/v3/index.json'
+ /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
/p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
- /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-symbols/nuget/v3/index.json'
+ /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
/p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
${{ parameters.artifactsPublishingAdditionalParameters }}
- template: ../../steps/promote-build.yml
parameters:
- ChannelId: ${{ variables.PublicDevRelease_30_Channel_Id }}
+ ChannelId: ${{ variables.NetCore_3_Tools_Channel_Id }}
\ No newline at end of file
diff --git a/eng/common/templates/post-build/channels/netcore-dev-31.yml b/eng/common/templates/post-build/channels/netcore-dev-31.yml
index 720a0ab08..db2125418 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-31.yml
+++ b/eng/common/templates/post-build/channels/netcore-dev-31.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-dev-5.yml b/eng/common/templates/post-build/channels/netcore-dev-5.yml
index 9c81e39e9..c4f5a16ac 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-5.yml
+++ b/eng/common/templates/post-build/channels/netcore-dev-5.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-internal-30.yml b/eng/common/templates/post-build/channels/netcore-internal-30.yml
index 053163cf6..177b38df3 100644
--- a/eng/common/templates/post-build/channels/netcore-internal-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-internal-30.yml
@@ -84,10 +84,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-release-30.yml b/eng/common/templates/post-build/channels/netcore-release-30.yml
index 8ba9237ff..16ade0db2 100644
--- a/eng/common/templates/post-build/channels/netcore-release-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-release-30.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-release-31.yml b/eng/common/templates/post-build/channels/netcore-release-31.yml
index d8270eada..01d56410c 100644
--- a/eng/common/templates/post-build/channels/netcore-release-31.yml
+++ b/eng/common/templates/post-build/channels/netcore-release-31.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-tools-latest.yml b/eng/common/templates/post-build/channels/netcore-tools-latest.yml
index c75d18673..157d2d4b9 100644
--- a/eng/common/templates/post-build/channels/netcore-tools-latest.yml
+++ b/eng/common/templates/post-build/channels/netcore-tools-latest.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/public-validation-release.yml b/eng/common/templates/post-build/channels/netcore-tools-validation.yml
similarity index 90%
rename from eng/common/templates/post-build/channels/public-validation-release.yml
rename to eng/common/templates/post-build/channels/netcore-tools-validation.yml
index fb2c23d0f..d8447e49a 100644
--- a/eng/common/templates/post-build/channels/public-validation-release.yml
+++ b/eng/common/templates/post-build/channels/netcore-tools-validation.yml
@@ -21,7 +21,7 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicValidationRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_Tools_Validation_Channel_Id))
pool:
vmImage: 'windows-2019'
steps:
@@ -50,10 +50,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
@@ -88,4 +92,4 @@ stages:
- template: ../../steps/promote-build.yml
parameters:
- ChannelId: ${{ variables.PublicValidationRelease_30_Channel_Id }}
+ ChannelId: ${{ variables.NetCore_Tools_Validation_Channel_Id }}
diff --git a/eng/common/templates/post-build/common-variables.yml b/eng/common/templates/post-build/common-variables.yml
index adb2a854f..b4eed6f18 100644
--- a/eng/common/templates/post-build/common-variables.yml
+++ b/eng/common/templates/post-build/common-variables.yml
@@ -3,10 +3,6 @@ variables:
- group: DotNet-DotNetCli-Storage
- group: DotNet-MSRC-Storage
- # .NET Core 3 Dev
- - name: PublicDevRelease_30_Channel_Id
- value: 3
-
# .NET Core 3.1 Dev
- name: PublicDevRelease_31_Channel_Id
value: 128
@@ -16,13 +12,21 @@ variables:
value: 131
# .NET Tools - Validation
- - name: PublicValidationRelease_30_Channel_Id
+ - name: NetCore_Tools_Validation_Channel_Id
value: 9
# .NET Tools - Latest
- name: NetCore_Tools_Latest_Channel_Id
value: 2
+ # .NET 3 Tools - Validation
+ - name: NETCore_3_Tools_Validation_Channel_Id
+ value: 390
+
+ # .NET 3 Tools - Latest
+ - name: NetCore_3_Tools_Channel_Id
+ value: 344
+
# .NET Core 3.0 Internal Servicing
- name: InternalServicing_30_Channel_Id
value: 184
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index 5b9d0a5d9..7ee82d9ff 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -101,12 +101,6 @@ stages:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-- template: \eng\common\templates\post-build\channels\netcore-dev-30.yml
- parameters:
- symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
- artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
- publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-
- template: \eng\common\templates\post-build\channels\netcore-dev-31.yml
parameters:
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
@@ -119,11 +113,22 @@ stages:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-- template: \eng\common\templates\post-build\channels\public-validation-release.yml
+- template: \eng\common\templates\post-build\channels\netcore-tools-validation.yml
parameters:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+- template: \eng\common\templates\post-build\channels\netcore-3-tools-validation.yml
+ parameters:
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+
+- template: \eng\common\templates\post-build\channels\netcore-3-tools.yml
+ parameters:
+ symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+
- template: \eng\common\templates\post-build\channels\netcore-release-30.yml
parameters:
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
diff --git a/eng/configure-toolset.ps1 b/eng/configure-toolset.ps1
new file mode 100644
index 000000000..87375243e
--- /dev/null
+++ b/eng/configure-toolset.ps1
@@ -0,0 +1,4 @@
+# SdkTests do not currently work with globally installed CLI as they use dotnet-install.ps1 to install more runtimes
+
+$script:useInstalledDotNetCli = $false
+
diff --git a/eng/configure-toolset.sh b/eng/configure-toolset.sh
new file mode 100644
index 000000000..d890b1b02
--- /dev/null
+++ b/eng/configure-toolset.sh
@@ -0,0 +1,3 @@
+# SdkTests do not currently work with globally installed CLI as they use dotnet-install.ps1 to install more runtimes
+
+useInstalledDotNetCli="false"
\ No newline at end of file
diff --git a/eng/core-sdk-build-env.sh b/eng/core-sdk-build-env.sh
new file mode 100644
index 000000000..6b3974e46
--- /dev/null
+++ b/eng/core-sdk-build-env.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) .NET Foundation and contributors. All rights reserved.
+# Licensed under the MIT license. See LICENSE file in the project root for full license information.
+#
+
+SOURCE="${BASH_SOURCE[0]}"
+while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
+ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+ SOURCE="$(readlink "$SOURCE")"
+ [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
+done
+
+REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )"
+
+arcade_partition=
+
+while [[ $# > 0 ]]; do
+ opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
+ case "$opt" in
+ -partition)
+ arcade_partition=$2
+ shift
+ ;;
+ esac
+
+ shift
+done
+
+export ARCADE_PARTITION=$arcade_partition
+
+if [[ ! -z "$arcade_partition" ]]; then
+ arcade_partition_suffix="-$arcade_partition"
+fi
+
+export PATH=$REPO_ROOT/.dotnet$arcade_partition_suffix:$PATH
+export DOTNET_INSTALL_DIR=$REPO_ROOT/.dotnet$arcade_partition_suffix
+export ArtifactsDir=$REPO_ROOT/artifacts$arcade_partition_suffix/
+
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+export DOTNET_MULTILEVEL_LOOKUP=0
\ No newline at end of file
diff --git a/eng/docker/alpine.3.6/Dockerfile b/eng/docker/alpine.3.6/Dockerfile
index 61bd7a5c8..9f9461690 100644
--- a/eng/docker/alpine.3.6/Dockerfile
+++ b/eng/docker/alpine.3.6/Dockerfile
@@ -18,9 +18,17 @@ RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
+
+# Set up Azure Artifacts credential provider
+# We download the installer and execute it using ${USER_ID} so that the installer
+# put the NuGet plugins in the correct $HOME/.nuget folder.
+RUN curl -O https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh
+RUN chmod +x ./installcredprovider.sh
+
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
-
+RUN ./installcredprovider.sh
diff --git a/eng/docker/centos/Dockerfile b/eng/docker/centos/Dockerfile
index 101c18973..eec66c48c 100644
--- a/eng/docker/centos/Dockerfile
+++ b/eng/docker/centos/Dockerfile
@@ -21,5 +21,6 @@ RUN chmod -R 755 /usr/bin/sudo
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
diff --git a/eng/docker/debian/Dockerfile b/eng/docker/debian/Dockerfile
index e8316daed..6511762c8 100644
--- a/eng/docker/debian/Dockerfile
+++ b/eng/docker/debian/Dockerfile
@@ -27,5 +27,6 @@ RUN chmod -R 755 /usr/lib/sudo
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
diff --git a/eng/docker/fedora.23/Dockerfile b/eng/docker/fedora.23/Dockerfile
index b8508bde7..0d156e137 100644
--- a/eng/docker/fedora.23/Dockerfile
+++ b/eng/docker/fedora.23/Dockerfile
@@ -26,5 +26,6 @@ RUN chmod -R a+rwx /home
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
diff --git a/eng/docker/fedora.24/Dockerfile b/eng/docker/fedora.24/Dockerfile
index bc33dd00c..ff1edb0a0 100644
--- a/eng/docker/fedora.24/Dockerfile
+++ b/eng/docker/fedora.24/Dockerfile
@@ -25,4 +25,5 @@ RUN chmod -R a+rwx /home
USER ${USER_ID}
# Set working directory
-WORKDIR /opt/code
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
diff --git a/eng/docker/fedora.27/Dockerfile b/eng/docker/fedora.27/Dockerfile
index e0f6e851d..f6eaa8fbd 100644
--- a/eng/docker/fedora.27/Dockerfile
+++ b/eng/docker/fedora.27/Dockerfile
@@ -29,4 +29,5 @@ RUN chmod -R a+rwx /home
USER ${USER_ID}
# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
\ No newline at end of file
diff --git a/eng/docker/fedora.28/Dockerfile b/eng/docker/fedora.28/Dockerfile
index f910321b6..5e08f7a19 100644
--- a/eng/docker/fedora.28/Dockerfile
+++ b/eng/docker/fedora.28/Dockerfile
@@ -26,4 +26,5 @@ RUN chmod -R a+rwx /home
USER ${USER_ID}
# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
\ No newline at end of file
diff --git a/eng/docker/fedora.29/Dockerfile b/eng/docker/fedora.29/Dockerfile
index 0d4430378..a58f30b74 100644
--- a/eng/docker/fedora.29/Dockerfile
+++ b/eng/docker/fedora.29/Dockerfile
@@ -26,4 +26,5 @@ RUN chmod -R a+rwx /home
USER ${USER_ID}
# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
\ No newline at end of file
diff --git a/eng/docker/opensuse.13.2/Dockerfile b/eng/docker/opensuse.13.2/Dockerfile
deleted file mode 100644
index c3cb77eb4..000000000
--- a/eng/docker/opensuse.13.2/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-FROM microsoft/dotnet-buildtools-prereqs:opensuse132_prereqs_v4
-
-RUN zypper -n install sudo \
- ncurses-utils && \
- zypper clean -a
-# Setup User to match Host User, and give superuser permissions
-ARG USER_ID=0
-RUN useradd -m code_executor -u ${USER_ID} -g wheel
-RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
-
-# With the User Change, we need to change permissions on these directories
-RUN chmod -R a+rwx /usr/local
-RUN chmod -R a+rwx /home
-RUN chmod -R 755 /usr/lib/sudo
-
-# Set user to the one we just created
-USER ${USER_ID}
-
-# Set working directory
-WORKDIR /opt/code
diff --git a/eng/docker/opensuse.42.1/Dockerfile b/eng/docker/opensuse.42.1/Dockerfile
deleted file mode 100644
index d175339a4..000000000
--- a/eng/docker/opensuse.42.1/Dockerfile
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-FROM opensuse:42.1
-
-# Install the base toolchain we need to build anything (clang, cmake, make and the like)
-# this does not include libraries that we need to compile different projects, we'd like
-# them in a different layer.
-RUN zypper -n install binutils \
- cmake \
- which \
- gcc \
- llvm-clang \
- tar \
- ncurses-utils \
- curl \
- git \
- sudo && \
- ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \
- zypper clean -a
-
-# Dependencies of CoreCLR and CoreFX.
-
-RUN zypper -n install --force-resolution \
- libunwind \
- libicu \
- lttng-ust \
- libuuid1 \
- libopenssl1_0_0 \
- libcurl4 \
- krb5 && \
- zypper clean -a
-
-# Setup User to match Host User, and give superuser permissions
-ARG USER_ID=0
-RUN useradd -m code_executor -u ${USER_ID} -g wheel
-RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
-
-# With the User Change, we need to change permissions on these directories
-RUN chmod -R a+rwx /usr/local
-RUN chmod -R a+rwx /home
-RUN chmod -R 755 /usr/lib/sudo
-
-# Set user to the one we just created
-USER ${USER_ID}
-
-# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
diff --git a/eng/docker/opensuse.42.3/Dockerfile b/eng/docker/opensuse.42.3/Dockerfile
deleted file mode 100644
index b128f8bc9..000000000
--- a/eng/docker/opensuse.42.3/Dockerfile
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-#
-
-FROM microsoft/dotnet-buildtools-prereqs:opensuse-42.3-d46ee12-20180327014902
-
-# Install the base toolchain we need to build anything (clang, cmake, make and the like)
-# this does not include libraries that we need to compile different projects, we'd like
-# them in a different layer.
-RUN zypper -n install binutils \
- cmake \
- which \
- gcc \
- llvm-clang \
- tar \
- ncurses-utils \
- curl \
- git \
- sudo && \
- zypper clean -a
-
-# Dependencies of CoreCLR and CoreFX.
-
-RUN zypper -n install --force-resolution \
- libunwind \
- libicu \
- lttng-ust \
- libuuid1 \
- libopenssl1_0_0 \
- libcurl4 \
- krb5 && \
- zypper clean -a
-
-# Setup User to match Host User, and give superuser permissions
-ARG USER_ID=0
-RUN useradd -m code_executor -u ${USER_ID} -g wheel
-RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
-
-# With the User Change, we need to change permissions on these directories
-RUN chmod -R a+rwx /usr/local
-RUN chmod -R a+rwx /home
-RUN chmod -R 755 /usr/lib/sudo
-
-# Set user to the one we just created
-USER ${USER_ID}
-
-# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
diff --git a/eng/docker/rhel.6/Dockerfile b/eng/docker/rhel.6/Dockerfile
index 1275f3293..9e2e572d0 100644
--- a/eng/docker/rhel.6/Dockerfile
+++ b/eng/docker/rhel.6/Dockerfile
@@ -27,5 +27,8 @@ USER ${USER_ID}
ENV LD_LIBRARY_PATH /usr/local/lib
# Set working directory
-WORKDIR /opt/code
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
+# Set up Azure Artifacts credential provider
+RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash
diff --git a/eng/docker/rhel/Dockerfile b/eng/docker/rhel/Dockerfile
index ec809ea73..cd5ec2d15 100644
--- a/eng/docker/rhel/Dockerfile
+++ b/eng/docker/rhel/Dockerfile
@@ -20,4 +20,8 @@ RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
USER ${USER_ID}
# Set working directory
-WORKDIR /opt/code
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
+
+# Set up Azure Artifacts credential provider
+RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash
diff --git a/eng/docker/ubuntu.14.04/Dockerfile b/eng/docker/ubuntu.14.04/Dockerfile
index 995a74b3b..7e7cb6bdb 100644
--- a/eng/docker/ubuntu.14.04/Dockerfile
+++ b/eng/docker/ubuntu.14.04/Dockerfile
@@ -59,5 +59,6 @@ RUN chmod -R 755 /usr/lib/sudo
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
diff --git a/eng/docker/ubuntu.16.04/Dockerfile b/eng/docker/ubuntu.16.04/Dockerfile
index 093ade8a3..c58504613 100644
--- a/eng/docker/ubuntu.16.04/Dockerfile
+++ b/eng/docker/ubuntu.16.04/Dockerfile
@@ -49,8 +49,17 @@ RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
RUN chmod -R 755 /usr/lib/sudo
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
+
+# Set up Azure Artifacts credential provider.
+# We download the installer and execute it using ${USER_ID} so that the installer
+# put the NuGet plugins in the correct $HOME/.nuget folder.
+RUN curl -O https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh
+RUN chmod +x ./installcredprovider.sh
+
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
+RUN ./installcredprovider.sh
diff --git a/eng/docker/ubuntu.16.10/Dockerfile b/eng/docker/ubuntu.16.10/Dockerfile
index dba98ed7b..0497a6fb5 100644
--- a/eng/docker/ubuntu.16.10/Dockerfile
+++ b/eng/docker/ubuntu.16.10/Dockerfile
@@ -59,5 +59,6 @@ RUN chmod -R 755 /usr/lib/sudo
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
\ No newline at end of file
diff --git a/eng/docker/ubuntu.18.04/Dockerfile b/eng/docker/ubuntu.18.04/Dockerfile
index 8bd7a99f2..39a9c0327 100644
--- a/eng/docker/ubuntu.18.04/Dockerfile
+++ b/eng/docker/ubuntu.18.04/Dockerfile
@@ -27,5 +27,6 @@ RUN chmod -R 755 /usr/lib/sudo
# Set user to the one we just created
USER ${USER_ID}
-# Set working directory
-WORKDIR /opt/code
\ No newline at end of file
+# Set working directory
+ARG WORK_DIR
+WORKDIR ${WORK_DIR}
\ No newline at end of file
diff --git a/eng/dockerrun.ps1 b/eng/dockerrun.ps1
index 48a79ffd9..e3b117258 100644
--- a/eng/dockerrun.ps1
+++ b/eng/dockerrun.ps1
@@ -19,7 +19,7 @@ Write-Host "Additional args: $additionalArgs"
$dockerFile = Resolve-Path (Join-Path $RepoRoot "eng\docker\$dockerImageName")
-docker build --build-arg USER_ID=1000 -t "$dockerContainerTag" $dockerFile
+docker build --build-arg WORK_DIR=$RepoRoot --build-arg USER_ID=1000 -t "$dockerContainerTag" $dockerFile
$interactiveFlag = "-i"
if ($noninteractive)
@@ -31,7 +31,7 @@ if ($noninteractive)
docker run $interactiveFlag -t --rm --sig-proxy=true `
--name "$dockerContainerName" `
- -v "${RepoRoot}:/opt/code" `
+ -v "${RepoRoot}:${RepoRoot}" `
-e DOTNET_CORESDK_IGNORE_TAR_EXIT_CODE=1 `
-e CHANNEL `
-e DOTNET_BUILD_SKIP_CROSSGEN `
@@ -55,7 +55,6 @@ docker run $interactiveFlag -t --rm --sig-proxy=true `
-e PB_PACKAGEVERSIONPROPSURL `
-e PB_PUBLISHBLOBFEEDURL `
-e EXTERNALRESTORESOURCES `
- -e ARCADE_DOTNET_DIR="/opt/code/artifacts/docker/${dockerImageName}/.dotnet" `
- -e ARCADE_ARTIFACTS_DIR="/opt/code/artifacts/docker/${dockerImageName}/" `
+ -e ARCADE_PARTITION="${dockerImageName}" `
$dockerContainerTag `
- /opt/code/run-build.sh @additionalArgs
\ No newline at end of file
+ ${RepoRoot}/run-build.sh @additionalArgs
\ No newline at end of file
diff --git a/eng/dockerrun.sh b/eng/dockerrun.sh
index 15ecbffe3..a41b3c059 100755
--- a/eng/dockerrun.sh
+++ b/eng/dockerrun.sh
@@ -39,7 +39,7 @@ while [[ $# > 0 ]]; do
echo "Options:"
echo " The path to the Dockerfile to use to create the build container"
echo " The name of an existing Dockerfile folder under eng/docker to use as the Dockerfile"
- echo " The command to run once inside the container (/opt/code is mapped to the repo root; defaults to nothing, which runs the default shell)"
+ echo " The command to run once inside the container (repo root is mapped to DOCKER_HOST_SHARE_DIR; defaults to nothing, which runs the default shell)"
exit 0
;;
*)
@@ -79,12 +79,6 @@ if [ -z "$DOCKERFILE" ]; then
echo "using 'fedora.23' image"
export DOCKERFILE=eng/docker/fedora.23
fi
- elif [ "$(cat /etc/*-release | grep -cim1 opensuse)" -eq 1 ]; then
- echo "Detected current OS as openSUSE, determining openSUSE version to use..."
- if [ "$(cat /etc/*-release | grep -cim1 13.2)" -eq 1 ]; then
- echo "using 'openSUSE.13.2' image"
- export DOCKERFILE=eng/docker/opensuse.13.2
- fi
else
echo "Unknown Linux Distro. Using 'ubuntu' image"
export DOCKERFILE=eng/docker/ubuntu
@@ -107,7 +101,7 @@ fi
# Build the docker container (will be fast if it is already built)
echo "Building Docker Container using Dockerfile: $DOCKERFILE"
-docker build --build-arg USER_ID=$(id -u) -t $DOTNET_BUILD_CONTAINER_TAG $DOCKERFILE
+docker build --build-arg WORK_DIR=$DOCKER_HOST_SHARE_DIR --build-arg USER_ID=$(id -u) -t $DOTNET_BUILD_CONTAINER_TAG $DOCKERFILE
# Run the build in the container
echo "Launching build in Docker Container"
@@ -118,7 +112,7 @@ echo "Using code from: $DOCKER_HOST_SHARE_DIR"
# Note: passwords/keys should not be passed in the environment
docker run $INTERACTIVE -t --rm --sig-proxy=true \
--name $DOTNET_BUILD_CONTAINER_NAME \
- -v $DOCKER_HOST_SHARE_DIR:/opt/code \
+ -v $DOCKER_HOST_SHARE_DIR:$DOCKER_HOST_SHARE_DIR \
-e CHANNEL \
-e DOTNET_BUILD_SKIP_CROSSGEN \
-e PUBLISH_TO_AZURE_BLOB \
@@ -148,7 +142,13 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \
-e BUILD_SOURCEBRANCH \
-e BUILD_BUILDNUMBER \
-e BUILD_SOURCEVERSION \
+ -e SYSTEM_TEAMPROJECT \
+ -e DOTNECLIMSRC_READ_SAS_TOKEN \
-e AGENT_JOBNAME \
-e AGENT_OS \
+ -e VSS_NUGET_URI_PREFIXES \
+ -e VSS_NUGET_ACCESSTOKEN \
+ -e DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 \
+ -e NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED=true \
$DOTNET_BUILD_CONTAINER_TAG \
$BUILD_COMMAND "$@"
diff --git a/global.json b/global.json
index 7a6d1f08a..0ae3965f1 100644
--- a/global.json
+++ b/global.json
@@ -1,8 +1,8 @@
{
"tools": {
- "dotnet": "3.0.100-preview6-012264"
+ "dotnet": "3.0.100"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19463.3"
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19474.3"
}
}
diff --git a/netci.groovy b/netci.groovy
index 31d73f078..e964e99bb 100644
--- a/netci.groovy
+++ b/netci.groovy
@@ -21,7 +21,6 @@ def platformList = [
'Linux:x64:Release',
'Linux_NoSuffix:arm:Release',
'Linux_NoSuffix:x64:Release',
- 'opensuse.42.3:x64:Debug',
'OSX10.12:x64:Release',
'RHEL6:x64:Debug',
'RHEL7.2:x64:Release',
@@ -95,7 +94,7 @@ ${buildCommand}
osUsedForMachineAffinity = 'Ubuntu16.04';
buildCommand = "${baseShellBuildCommand} --runtime-id rhel.6-x64 --docker rhel.6"
}
- else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.42.3') {
+ else if (os == 'ubuntu.18.04' || os == 'fedora.27') {
osUsedForMachineAffinity = 'Ubuntu16.04'
osVersionUsedForMachineAffinity = 'latest-docker'
buildCommand = "${baseShellBuildCommand} --docker ${os} --linux-portable"
diff --git a/src/redist/targets/Branding.targets b/src/redist/targets/Branding.targets
index 4a6c57f77..08cbf6be8 100644
--- a/src/redist/targets/Branding.targets
+++ b/src/redist/targets/Branding.targets
@@ -5,14 +5,15 @@
Microsoft .NET Core SDK $(CliBrandingVersion)
Microsoft .NET Core Toolset $(CliBrandingVersion)
.NET Standard Support for Visual Studio 2015
- Microsoft .NET Core Runtime $(MicrosoftNETCoreAppPackageVersion)
- Microsoft .NET Core Targeting Pack $(MicrosoftNETCoreAppPackageVersion)
- Microsoft .NET Standard 2.1 Targeting Pack $(MicrosoftNETCoreAppPackageVersion)
- Microsoft .NET AppHost Pack $(MicrosoftNETCoreAppPackageVersion)
- Microsoft .NET Core Host $(MicrosoftNETCoreAppPackageVersion)
- Microsoft .NET Core Host FX Resolver $(MicrosoftNETCoreAppPackageVersion)
+ Microsoft .NET Core Runtime $(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
+ Microsoft .NET Core Targeting Pack $(MicrosoftNETCoreAppRefPackageVersion)
+ Microsoft .NET Standard 2.1 Targeting Pack $(NETStandardLibraryRefPackageVersion)
+ Microsoft .NET AppHost Pack $(MicrosoftNETCoreDotNetAppHostPackageVersion)
+ Microsoft .NET Core Host $(MicrosoftNETCoreDotNetAppHostPackageVersion)
+ Microsoft .NET Core Host FX Resolver $(MicrosoftNETCoreDotNetAppHostPackageVersion)
Microsoft.NETCore.App
$(SharedFrameworkName)
+ Microsoft .NET Core 3.1 Templates $(CliBrandingVersion)
Microsoft .NET Core 3.0 Templates $(CliBrandingVersion)
Microsoft .NET Core 2.2 Templates $(CliBrandingVersion)
Microsoft .NET Core 2.1 Templates $(CliBrandingVersion)
diff --git a/src/redist/targets/BundledTemplates.targets b/src/redist/targets/BundledTemplates.targets
index 98ebe1214..4e78e4b0c 100644
--- a/src/redist/targets/BundledTemplates.targets
+++ b/src/redist/targets/BundledTemplates.targets
@@ -2,6 +2,16 @@
+ $(AspNetCorePackageVersionFor31Templates.IndexOf('-'))
+ $(AspNetCorePackageVersionFor31Templates)
+ $(AspNetCorePackageVersionFor31Templates.Substring(0, $(AspNetCore31VersionPreReleaseSeparator)))
+ $(AspNetCore31VersionMajorMinorPatchVersion).$(GitCommitCount)
+ $(AspNetCore31VersionMajorMinorPatchVersion)
+ $(BundledTemplates31InstallPath)-$(VersionSuffix)
+ $([MSBuild]::Add($(AspNetCore31VersionMajorMinorPatchVersion.IndexOf('.')), 1))
+ $(AspNetCore31VersionMajorMinorPatchVersion.IndexOf('.', $(Templates31VersionPatchSeparatorIndex)))
+ $(AspNetCore31VersionMajorMinorPatchVersion.Substring(0, $(Templates31VersionPatchSeparatorIndex)))
+
$(AspNetCorePackageVersionFor30Templates.IndexOf('-'))
$(AspNetCorePackageVersionFor30Templates)
$(AspNetCorePackageVersionFor30Templates.Substring(0, $(AspNetCore30VersionPreReleaseSeparator)))
@@ -34,6 +44,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -41,8 +62,8 @@
-
-
+
+
@@ -64,6 +85,13 @@
+
+
+ %(Identity)/%(PackageVersion)/%(Identity).%(PackageVersion).nupkg
+ $(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(NupkgPathRelativeToPackageRoot)', '').ToLower())
+ [%(PackageVersion)]
+
+
%(Identity)/%(PackageVersion)/%(Identity).%(PackageVersion).nupkg
@@ -87,16 +115,42 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+ DependsOnTargets="LayoutTemplatesForSDK;LayoutTemplatesFor31MSI;LayoutTemplatesFor30MSI;LayoutTemplatesFor22MSI;LayoutTemplatesFor21MSI" />
@@ -104,8 +158,15 @@
-
+
+
+
+
+
x86_arm
x64_arm
$(NuGetPackageRoot)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(LibCLRJitRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension)
- $(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppPackageVersion)
+ $(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
*
x86
diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets
index 53d1ed14d..bfc43eca7 100644
--- a/src/redist/targets/GenerateBundledVersions.targets
+++ b/src/redist/targets/GenerateBundledVersions.targets
@@ -26,22 +26,33 @@
Text="Failed to determine the Microsoft.NETCore.Platforms version pulled in Microsoft.NETCore.App" />
- <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppPackageVersion)
+ <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
<_NETStandardLibraryPackageVersion>@(_NETStandardLibraryPackageVersions->Distinct())
<_NETCorePlatformsPackageVersion>@(_NETCorePlatformsPackageVersions->Distinct())
- <_NETCoreApp30PackageVersion>3.0.0-rc1-19456-20
+ <_NETCoreApp30PackageVersion>3.0.0
<_NETCoreApp30TargetingPackVersion>$(_NETCoreApp30PackageVersion)
+
+ <_NETCoreApp31PackageVersion>3.1.0-preview1.19506.1
+ <_NETCoreApp31TargetingPackVersion>$(_NETCoreApp31PackageVersion)
+
<_MicrosoftWindowsDesktop30PackageVersion>$(_NETCoreApp30PackageVersion)
<_MicrosoftWindowsDesktop30TargetingPackVersion>$(_NETCoreApp30TargetingPackVersion)
- <_AspNet30PackageVersion>3.0.0-rc1.19457.4
- <_AspNet30TargetingPackVersion>$(_AspNet30PackageVersion)
+
+ <_MicrosoftWindowsDesktop31PackageVersion>$(_NETCoreApp31PackageVersion)
+ <_MicrosoftWindowsDesktop31TargetingPackVersion>$(_NETCoreApp31TargetingPackVersion)
+
+ <_MicrosoftAspNetCoreApp30PackageVersion>3.0.0
+ <_AspNet30TargetingPackVersion>$(_MicrosoftAspNetCoreApp30PackageVersion)
+
+ <_MicrosoftAspNetCoreApp31PackageVersion>3.1.0-preview1.19508.20
+ <_AspNet31TargetingPackVersion>$(_MicrosoftAspNetCoreApp31PackageVersion)
<_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1])
<_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1])
- <_NETCoreSdkIsPreview Condition=" '$(DropSuffix)' != 'true' ">true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
$(SdkBrandName)
- $(MicrosoftNETCoreAppPackageVersionWithTilda)
+ $(MicrosoftNETCoreAppPackageVersionWithTilde)
- $(NetStandardTargetingPackPackageVersionWithTilda)
+ $(NetStandardTargetingPackPackageVersionWithTilde)
- $(AspNetCoreVersionWithTilda)
+ $(AspNetCoreVersionWithTilde)
@@ -235,10 +235,12 @@
+
+
-
+
+
-
+
+
@@ -351,9 +353,11 @@
+
+
@@ -370,9 +374,11 @@
+
+
diff --git a/src/redist/targets/GenerateLayout.targets b/src/redist/targets/GenerateLayout.targets
index 5a1773915..8e0f418e5 100644
--- a/src/redist/targets/GenerateLayout.targets
+++ b/src/redist/targets/GenerateLayout.targets
@@ -2,17 +2,34 @@
$(BaseOutputPath)$(Configuration)\dotnet\
$(BaseOutputPath)$(Configuration)\dotnet-internal\
+ $(BaseOutputPath)$(Configuration)\templates-3.1\
$(BaseOutputPath)$(Configuration)\templates-3.0\
$(BaseOutputPath)$(Configuration)\templates-2.2\
$(BaseOutputPath)$(Configuration)\templates-2.1\
$(IntermediateOutputPath)downloads\
+
+
+ $(MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion)
+
+
$(RedistLayoutPath)sdk\$(SdkVersion)\
+
+ true
+ $(DOTNETCLIMSRC_READ_SAS_TOKEN)
+
+ https://dotnetclimsrc.blob.core.windows.net/dotnet/
https://dotnetcli.azureedge.net/dotnet/
+
+ https://dotnetclimsrc.blob.core.windows.net/dotnet/
https://dotnetcli.blob.core.windows.net/dotnet/
+
+ https://dotnetclimsrc.blob.core.windows.net/dotnet/
https://dotnetfeed.blob.core.windows.net/dotnet-toolset/
$(HostRid)
@@ -31,13 +48,18 @@
$(CoreSetupRid)
x64
+ x64
+ x86
dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
- dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
dotnet-runtime-deps-$(SharedHostVersion)-$(RuntimeDepsInstallerFileRid)$(InstallerExtension)
- windowsdesktop-runtime-$(MicrosoftWindowsDesktopPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
dotnet-targeting-pack-$(NetCoreAppTargetingPackVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
dotnet-apphost-pack-$(NetCoreAppHostPackVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ dotnet-apphost-pack-$(NetCoreAppHostPackVersion)-$(SharedFrameworkInstallerFileRid)_$(AlternateArchitecture)$(InstallerExtension)
+ dotnet-apphost-pack-$(NetCoreAppHostPackVersion)-$(SharedFrameworkInstallerFileRid)_arm$(InstallerExtension)
+ dotnet-apphost-pack-$(NetCoreAppHostPackVersion)-$(SharedFrameworkInstallerFileRid)_arm64$(InstallerExtension)
windowsdesktop-targeting-pack-$(WindowsDesktopTargetingPackVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
netstandard-targeting-pack-$(NETStandardLibraryRefPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
netstandard$(NETStandardLibraryRefPackageVersion.Split('.')[0])$(NETStandardLibraryRefPackageVersion.Split('.')[1])
@@ -46,10 +68,10 @@
$(CoreSetupRid)
$(ProductMonikerRid)
linux-$(Architecture)
- dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
- windowsdesktop-runtime-$(MicrosoftWindowsDesktopPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
+ dotnet-runtime-$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
+ windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)
- $(SharedFrameworkRid)
+ $(SharedFrameworkRid)
linux-x64
$(AspNetCoreSharedFxInstallerRid)
x64
@@ -59,7 +81,7 @@
aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid).wixlib
aspnetcore-targeting-pack-$(AspNetTargetingPackVersion)$(InstallerExtension)
aspnetcore-targeting-pack-$(AspNetTargetingPackVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension)
- aspnetcoremodule_$(Architecture)_en_v2$(InstallerExtension)
+ aspnetcoremodule_$(Architecture)_en_v2_$(AspNetCoreVersion)$(InstallerExtension)
aspnetcore-targeting-pack-$(AspNetCoreVersion)$(ArchiveExtension)
aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxArchiveRid)$(ArchiveExtension)
@@ -71,18 +93,19 @@
$(CoreSetupBlobRootUrl)Runtime/
$(CoreSetupBlobRootUrl)aspnetcore/Runtime/
$(CoreSetupBlobRootUrl)WindowsDesktop/
- $(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppPackageVersion)
+ $(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension)
-
- win-x64
- win-x86
+
+ win-$(AlternateArchitecture)
+ win-arm
+ win-arm64
- $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(CombinedFrameworkHostArchiveFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -123,16 +146,30 @@
packs/%(PackageName)/%(PackageVersion)
+
+ Microsoft.NETCore.App.Host.$(ArmAppHostRid)
+ $(NetCoreAppHostPackVersion)
+ $(TargetFramework)
+ packs/%(PackageName)/%(PackageVersion)
+
+
+
+ Microsoft.NETCore.App.Host.$(Arm64AppHostRid)
+ $(NetCoreAppHostPackVersion)
+ $(TargetFramework)
+ packs/%(PackageName)/%(PackageVersion)
+
+
- $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(DownloadedRuntimeDepsInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
- $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(DownloadedSharedFrameworkInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -160,18 +197,40 @@
- $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+
+ $(CoreSetupRootUrl)3.0.0
$(DownloadedNetStandardTargetingPackInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
- $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(DownloadedNetCoreAppHostPackInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
+
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(DownloadedAlternateNetCoreAppHostPackInstallerFileName)
+ $(CoreSetupBlobAccessTokenParam)
+
+
+
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(DownloadedArmNetCoreAppHostPackInstallerFileName)
+ $(CoreSetupBlobAccessTokenParam)
+
+
+
+ $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)
+ $(DownloadedArm64NetCoreAppHostPackInstallerFileName)
+ $(CoreSetupBlobAccessTokenParam)
+
+
$(WinFormsAndWpfSharedFxRootUrl)$(WindowsDesktopTargetingPackVersion)
@@ -189,7 +248,7 @@
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(AspNetCoreSharedFxArchiveFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -199,7 +258,7 @@
https://github.com/aspnet/AspNetCore/issues/8806 -->
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(AspNetTargetingPackArchiveFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -207,35 +266,35 @@
- $(AspNetCoreSharedFxRootUrl)$(AspNetTargetingPackVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(DownloadedAspNetTargetingPackInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(DownloadedAspNetCoreSharedFxInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(DownloadedAspNetCoreSharedFxWixLibFileName)
$(CoreSetupBlobAccessTokenParam)
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(DownloadedAspNetCoreV2ModuleInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
- $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobDirectory)
$(AspNetCoreSharedFxBaseRuntimeVersionFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -256,14 +315,14 @@
- $(WinFormsAndWpfSharedFxRootUrl)$(MicrosoftWindowsDesktopPackageVersion)
+ $(WinFormsAndWpfSharedFxRootUrl)$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)
$(WinFormsAndWpfSharedFxArchiveFileName)
$(CoreSetupBlobAccessTokenParam)
- $(WinFormsAndWpfSharedFxRootUrl)$(MicrosoftWindowsDesktopPackageVersion)
+ $(WinFormsAndWpfSharedFxRootUrl)$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)
$(DownloadedWinFormsAndWpfSharedFrameworkInstallerFileName)
$(CoreSetupBlobAccessTokenParam)
@@ -285,7 +344,7 @@
@@ -355,7 +414,7 @@
"version": ".*"
- "version": "$(MicrosoftNETCoreAppPackageVersion)"
+ "version": "$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)"
diff --git a/src/redist/targets/GenerateMSIs.targets b/src/redist/targets/GenerateMSIs.targets
index 82d619de0..d8d3fed72 100644
--- a/src/redist/targets/GenerateMSIs.targets
+++ b/src/redist/targets/GenerateMSIs.targets
@@ -39,6 +39,7 @@
$(ArtifactsShippingPackagesDir)$(ArtifactNameWithVersionSdk)$(InstallerExtension)
Dotnet_CLI
+ $(ArtifactsShippingPackagesDir)dotnet-31templates-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
$(ArtifactsShippingPackagesDir)dotnet-30templates-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
$(ArtifactsShippingPackagesDir)dotnet-22templates-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
$(ArtifactsShippingPackagesDir)dotnet-21templates-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)
@@ -59,7 +60,7 @@
DependsOnTargets="GenerateLayout;SetupWixProperties;GetCoreSdkGitCommitInfo">
-
+
+
+
+
+
@@ -192,6 +198,14 @@
+
+ $(Templates31LayoutPath.TrimEnd('\'))
+ $(Templates31MSIInstallerFile)
+ $(BundledTemplates31BrandName)
+ $(BundledTemplates31MsiVersion)
+ $(Templates31InstallerUpgradeCode)
+ NetCore_Templates_3.1
+
$(Templates30LayoutPath.TrimEnd('\'))
$(Templates30MSIInstallerFile)
@@ -239,20 +253,23 @@
'$(DownloadsFolder)$(DownloadedNetCoreAppTargetingPackInstallerFileName)' ^
'$(DownloadsFolder)$(DownloadedNetStandardTargetingPackInstallerFileName)' ^
'$(DownloadsFolder)$(DownloadedNetCoreAppHostPackInstallerFileName)' ^
+ '$(DownloadsFolder)$(DownloadedAlternateNetCoreAppHostPackInstallerFileName)' ^
+ '$(DownloadsFolder)$(DownloadedArmNetCoreAppHostPackInstallerFileName)' ^
+ '$(DownloadsFolder)$(DownloadedArm64NetCoreAppHostPackInstallerFileName)' ^
'$(DownloadsFolder)$(DownloadedAspNetTargetingPackInstallerFileName)' ^
'$(DownloadsFolder)$(DownloadedWindowsDesktopTargetingPackInstallerFileName)' ^
- '$(Templates30MSIInstallerFile)' ^
+ '$(Templates31MSIInstallerFile)' ^
'$(CombinedFrameworkSdkHostMSIInstallerFile)' ^
'$(WixRoot)' ^
'$(SdkBrandName)' ^
'$(MsiVersion)' ^
'$(SDKBundleVersion)' ^
'$(NugetVersion)' ^
- '$(MicrosoftWindowsDesktopPackageVersion)' ^
+ '$(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)' ^
'$(CombinedFrameworkSDKHostInstallerUpgradeCode)' ^
'$(SdkDependencyKeyName)' ^
'$(Architecture)' ^
- '$(MicrosoftNETCoreAppPackageVersion)' ^
+ '$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)' ^
'$(AspNetCoreVersion)' ^
'$(CliProductBandVersion)' ^
-InformationAction Continue " />
@@ -318,6 +335,11 @@
+
+ $(Templates31MSIInstallerFile)
+ $(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.Templates.$(BundledTemplates31MajorMinorVersion).$(FullNugetVersion).nupkg
+ $(BundledTemplates31MajorMinorVersion)
+
$(Templates30MSIInstallerFile)
$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.Templates.$(BundledTemplates30MajorMinorVersion).$(FullNugetVersion).nupkg
diff --git a/src/redist/targets/GeneratePKG.targets b/src/redist/targets/GeneratePKG.targets
index 8f1cf9d65..6c88d2edb 100644
--- a/src/redist/targets/GeneratePKG.targets
+++ b/src/redist/targets/GeneratePKG.targets
@@ -94,7 +94,7 @@
$(SdkVersion)
- $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
$(AspNetCoreVersion)
diff --git a/src/redist/targets/GenerateRPMs.targets b/src/redist/targets/GenerateRPMs.targets
index 9ab337ed5..b82d06d1f 100644
--- a/src/redist/targets/GenerateRPMs.targets
+++ b/src/redist/targets/GenerateRPMs.targets
@@ -287,10 +287,12 @@
+
-
+
+
+
+
diff --git a/src/redist/targets/GetRuntimeInformation.targets b/src/redist/targets/GetRuntimeInformation.targets
index ff9ee1781..9248c46c8 100644
--- a/src/redist/targets/GetRuntimeInformation.targets
+++ b/src/redist/targets/GetRuntimeInformation.targets
@@ -28,15 +28,13 @@
$(Rid)
+ '$(Rid)' == 'linux-musl-x64' ">$(Rid)
$(OSName)-$(Architecture)
$(HostRid)
+ '$(HostRid)' == 'linux-musl-x64' ">$(HostRid)
$(HostOSName)-$(Architecture)
$(HostMonikerRid)
$(Architecture)
diff --git a/src/redist/targets/LinuxNativeInstallerDependencyVersions.targets b/src/redist/targets/LinuxNativeInstallerDependencyVersions.targets
index 41858080c..324bcdc37 100644
--- a/src/redist/targets/LinuxNativeInstallerDependencyVersions.targets
+++ b/src/redist/targets/LinuxNativeInstallerDependencyVersions.targets
@@ -2,25 +2,25 @@
- $([MSBuild]::Add($(MicrosoftNETCoreAppPackageVersion.IndexOf('.')), 1))
- $(MicrosoftNETCoreAppPackageVersion.IndexOf('.', $(MicrosoftNETCoreAppPatchSeparatorIndex)))
- $(MicrosoftNETCoreAppPackageVersion.Substring(0, $(MicrosoftNETCoreAppPatchSeparatorIndex)))
+ $([MSBuild]::Add($(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.IndexOf('.')), 1))
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.IndexOf('.', $(MicrosoftNETCoreAppPatchSeparatorIndex)))
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.Substring(0, $(MicrosoftNETCoreAppPatchSeparatorIndex)))
- $(MicrosoftNETCoreAppPackageVersion.IndexOf('-'))
- $(MicrosoftNETCoreAppPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion.Substring(0, $(MicrosoftNETCoreAppVersionPreReleaseSeparator)))
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.IndexOf('-'))
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion)
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.Substring(0, $(MicrosoftNETCoreAppVersionPreReleaseSeparator)))
$([MSBuild]::Add($(MicrosoftNETCoreAppVersionPreReleaseSeparator), 1))
- $(MicrosoftNETCoreAppPackageVersion.Substring($(MicrosoftNETCoreAppVersionPreReleaseSeparatorStartIndex)))
- $(MicrosoftNETCoreAppMajorMinorPatchVersion)
- $(MicrosoftNETCoreAppMajorMinorPatchVersion)~$(MicrosoftNETCoreVersionSuffix)
+ $(MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion.Substring($(MicrosoftNETCoreAppVersionPreReleaseSeparatorStartIndex)))
+ $(MicrosoftNETCoreAppMajorMinorPatchVersion)
+ $(MicrosoftNETCoreAppMajorMinorPatchVersion)~$(MicrosoftNETCoreVersionSuffix)
$(NETStandardLibraryRefPackageVersion.IndexOf('-'))
$(NETStandardLibraryRefPackageVersion)
$(NETStandardLibraryRefPackageVersion.Substring(0, $(NetStandardTargetingPackVersionPreReleaseSeparator)))
$([MSBuild]::Add($(NetStandardTargetingPackVersionPreReleaseSeparator), 1))
$(NETStandardLibraryRefPackageVersion.Substring($(NetStandardTargetingPackVersionPreReleaseSeparatorStartIndex)))
- $(NetStandardTargetingPackMajorMinorPatchVersion)
- $(NetStandardTargetingPackMajorMinorPatchVersion)~$(NetStandardTargetingPackVersionSuffix)
+ $(NetStandardTargetingPackMajorMinorPatchVersion)
+ $(NetStandardTargetingPackMajorMinorPatchVersion)~$(NetStandardTargetingPackVersionSuffix)
$([MSBuild]::Add($(AspNetCoreVersion.IndexOf('.')), 1))
$(AspNetCoreVersion.IndexOf('.', $(AspNetCoreVersionPatchSeparatorIndex)))
@@ -31,8 +31,8 @@
$(AspNetCoreVersion.Substring(0, $(AspNetCoreVersionPreReleaseSeparator)))
$([MSBuild]::Add($(AspNetCoreVersionPreReleaseSeparator), 1))
$(AspNetCoreVersion.Substring($(AspNetCoreVersionPreReleaseSeparatorStartIndex)))
- $(AspNetCoreMajorMinorPatchVersion)
- $(AspNetCoreMajorMinorPatchVersion)~$(AspNetCoreVersionSuffix)
+ $(AspNetCoreMajorMinorPatchVersion)
+ $(AspNetCoreMajorMinorPatchVersion)~$(AspNetCoreVersionSuffix)
$([MSBuild]::Add($(HostFxrVersion.IndexOf('.')), 1))
$(HostFxrVersion.IndexOf('.', $(HostFxrVersionPatchSeparatorIndex)))
diff --git a/src/redist/targets/SetBuildDefaults.targets b/src/redist/targets/SetBuildDefaults.targets
index 8d035b09f..b31e5350d 100644
--- a/src/redist/targets/SetBuildDefaults.targets
+++ b/src/redist/targets/SetBuildDefaults.targets
@@ -10,7 +10,6 @@
OR $(Rid.StartsWith('freebsd'))
OR $(Rid.StartsWith('linux-musl'))
OR $(Rid.StartsWith('fedora.27'))
- OR $(Rid.StartsWith('opensuse.42.3'))
OR $(Rid.StartsWith('ubuntu.18.04')))">true
false
@@ -20,7 +19,6 @@
AND '$(Rid)' != 'rhel.6-x64'
AND '$(Rid)' != 'linux-musl-x64'
AND '$(Rid)' != 'fedora.27-x64'
- AND '$(Rid)' != 'opensuse.42.3-x64'
AND '$(Rid)' != 'ubuntu.18.04-x64'">true-->
true
diff --git a/src/redist/targets/Signing.targets b/src/redist/targets/Signing.targets
index 38b397e21..c6f771010 100644
--- a/src/redist/targets/Signing.targets
+++ b/src/redist/targets/Signing.targets
@@ -175,6 +175,7 @@
DependsOnTargets="SetSignProps">
+
diff --git a/src/redist/targets/Versions.targets b/src/redist/targets/Versions.targets
index f53e3c8d9..0a5653a1e 100644
--- a/src/redist/targets/Versions.targets
+++ b/src/redist/targets/Versions.targets
@@ -5,6 +5,10 @@
1
00
alpha1
+
+ false
diff --git a/src/redist/targets/packaging/deb/dotnet-debian_config.json b/src/redist/targets/packaging/deb/dotnet-debian_config.json
index 836d41375..35a0f433f 100644
--- a/src/redist/targets/packaging/deb/dotnet-debian_config.json
+++ b/src/redist/targets/packaging/deb/dotnet-debian_config.json
@@ -32,6 +32,8 @@
"%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%": { "package_version": "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_VERSION%" }%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%,
"%NETCOREAPP_TARGETING_PACK_DEBIAN_PACKAGE_NAME%": { "package_version": "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_VERSION%" },
"%NETCORE_APPHOST_PACK_DEBIAN_PACKAGE_NAME%": { "package_version": "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_VERSION%" },
- "%NETSTANDARD_TARGETING_PACK_DEBIAN_PACKAGE_NAME%": { "package_version": "%NET_STANDARD_DEBIAN_PACKAGE_VERSION%" }
+ "%NETSTANDARD_TARGETING_PACK_DEBIAN_PACKAGE_NAME%": { "package_version": "%NET_STANDARD_DEBIAN_PACKAGE_VERSION%" },
+ "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_NAME%": { "package_version": "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_VERSION%" },
+ "%ASPNET_TARGETING_PACK_DEBIAN_PACKAGE_NAME%": { "package_version": "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_VERSION%" }
}
}
diff --git a/src/redist/targets/packaging/rpm/dotnet-config.json b/src/redist/targets/packaging/rpm/dotnet-config.json
index d06c428f1..fd090e2d8 100644
--- a/src/redist/targets/packaging/rpm/dotnet-config.json
+++ b/src/redist/targets/packaging/rpm/dotnet-config.json
@@ -37,6 +37,14 @@
{
"package_name": "%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_NAME%",
"package_version": "%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_VERSION%"
+ },
+ {
+ "package_name": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_NAME%",
+ "package_version": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_VERSION%"
+ },
+ {
+ "package_name": "%ASPNET_TARGETING_PACK_RPM_PACKAGE_NAME%",
+ "package_version": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_VERSION%"
}
],
"directories": [
diff --git a/src/redist/targets/packaging/windows/clisdk/LCID/1028/bundle.wxl b/src/redist/targets/packaging/windows/clisdk/LCID/1028/bundle.wxl
index 94e4d025b..b0a8a414f 100644
--- a/src/redist/targets/packaging/windows/clisdk/LCID/1028/bundle.wxl
+++ b/src/redist/targets/packaging/windows/clisdk/LCID/1028/bundle.wxl
@@ -51,9 +51,9 @@
下列項目已安裝在: '[DOTNETHOME]'
• .NET Core SDK [DOTNETSDKVERSION]
- • .NET Core 執行階段 [DOTNETRUNTIMEVERSION]
- • ASP.NET Core 執行階段 [ASPNETCOREVERSION]
- • .NET Core Windows Desktop 執行階段 [WINFORMSANDWPFVERSION]
+ • .NET Core Runtime [DOTNETRUNTIMEVERSION]
+ • ASP.NET Core Runtime [ASPNETCOREVERSION]
+ • .NET Core Windows Desktop Runtime [WINFORMSANDWPFVERSION]
此產品會收集使用方式資料
• 如需詳細資訊或退出,請前往 https://aka.ms/dotnet-cli-telemetry
diff --git a/src/redist/targets/packaging/windows/clisdk/LCID/1046/bundle.wxl b/src/redist/targets/packaging/windows/clisdk/LCID/1046/bundle.wxl
index 5960557c9..d5778532a 100644
--- a/src/redist/targets/packaging/windows/clisdk/LCID/1046/bundle.wxl
+++ b/src/redist/targets/packaging/windows/clisdk/LCID/1046/bundle.wxl
@@ -1,80 +1,80 @@
-
-
- Instalador do [WixBundleName]
- [BUNDLEMONIKER]
- Tem certeza de que deseja cancelar?
- Versão anterior
-
- /install | /repair | /uninstall | /layout [\[]"directory"[\]] – instala, repara, desinstala
- ou cria uma cópia local completa do pacote no diretório. '/install' é o padrão
-
-/passive | /quiet – exibe a interface do usuário mínima sem nenhum prompt ou não exibe nenhuma interface do usuário e
- nenhum prompt. Por padrão, a interface do usuário e todos os prompts são exibidos.
-
-/norestart – suprime qualquer tentativa de reiniciar. Por padrão, a interface do usuário perguntará antes de reiniciar.
-/log [\[]"log.txt"[\]] – registra em um arquivo específico. Por padrão, um arquivo de log é criado em %TEMP%.
- &Fechar
- &Concordo com os termos e condições da licença
- &Opções
- &Instalar
- &Fechar
-
- Processando:
- Inicializando...
- &Cancelar
-
- &Reparar
- &Desinstalar
- &Fechar
-
-
-
- &Iniciar
- É necessário reiniciar o computador para concluir a instalação do software.
- &Reiniciar
- &Fechar
-
-
-
-
- Um ou mais problemas causaram falha na instalação. Corrija-os e tente instalar novamente. Para obter mais informações, consulte o <a href="#">arquivo de log</a>.
- Você deve reiniciar seu computador para concluir a reversão do software.
- &Reiniciar
- &Fechar
-
- Os aplicativos a seguir estão usando arquivos que precisam ser atualizados:
- Feche os &aplicativos e tente reiniciá-los.
- &Não feche os aplicativos. Será necessária uma reinicialização.
- &OK
- &Cancelar
- A instalação foi bem-sucedida.
-
-O seguinte foi instalado em: '[DOTNETHOME]'
- • SDK do .NET Core [DOTNETSDKVERSION]
- • Tempo de Execução do .NET Core [DOTNETRUNTIMEVERSION]
- • Tempo de Execução do ASP.NET Core [ASPNETCOREVERSION]
- • Tempo de Execução da Área de Trabalho do Windows do .NET Core [WINFORMSANDWPFVERSION]
-
-Este produto coleta dados de uso
- • Para obter mais informações e recusar, acesse https://aka.ms/dotnet-cli-telemetry
-
-Recursos
- • Documentação do .NET Core: https://aka.ms/dotnet-docs
- • Documentação do SDK: https://aka.ms/dotnet-sdk-docs
- • Notas sobre a Versão: https://aka.ms/netcore3releasenotes
- • Tutoriais: https://aka.ms/dotnet-tutorials
-
-
- O .NET Core é um software livre, multiplataforma e com suporte da Microsoft. Você pode usá-lo para criar seu próximo aplicativo, com C#, F# ou VB. Esperamos que você goste!
- Saiba mais sobre o .NET Core
-
- <A HREF="https://aka.ms/dotnet-docs">Documentação Principal</A>
- <A HREF="https://aka.ms/dotnet-cli-docs">Documentação do SDK</A>
- <A HREF="https://aka.ms/dev-privacy">Política de Privacidade</A>
- <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">Termos de licença da Biblioteca do .NET</A>
- Nota de instalação
- Um comando será executado durante o processo de instalação que melhorará a velocidade de restauração do projeto e habilitará o acesso offline. Isso levará até um minuto para ser concluído.
-
- Se você planeja usar o .NET Core 3.0 com o Visual Studio, o Visual Studio 2019 ou mais recente será necessário. <A HREF="https://go.microsoft.com/fwlink/?linkid=866799">Saiba mais</A>.
-
-
+
+
+ Instalador do [WixBundleName]
+ [BUNDLEMONIKER]
+ Tem certeza de que deseja cancelar?
+ Versão anterior
+
+ /install | /repair | /uninstall | /layout [\[]"directory"[\]] – instala, repara, desinstala
+ ou cria uma cópia local completa do pacote no diretório. '/install' é o padrão
+
+/passive | /quiet – exibe a interface do usuário mínima sem nenhum prompt ou não exibe nenhuma interface do usuário e
+ nenhum prompt. Por padrão, a interface do usuário e todos os prompts são exibidos.
+
+/norestart – suprime qualquer tentativa de reiniciar. Por padrão, a interface do usuário perguntará antes de reiniciar.
+/log [\[]"log.txt"[\]] – registra em um arquivo específico. Por padrão, um arquivo de log é criado em %TEMP%.
+ &Fechar
+ &Concordo com os termos e condições da licença
+ &Opções
+ &Instalar
+ &Fechar
+
+ Processando:
+ Inicializando...
+ &Cancelar
+
+ &Reparar
+ &Desinstalar
+ &Fechar
+
+
+
+ &Iniciar
+ É necessário reiniciar o computador para concluir a instalação do software.
+ &Reiniciar
+ &Fechar
+
+
+
+
+ Um ou mais problemas causaram falha na instalação. Corrija-os e tente instalar novamente. Para obter mais informações, consulte o <a href="#">arquivo de log</a>.
+ Você deve reiniciar seu computador para concluir a reversão do software.
+ &Reiniciar
+ &Fechar
+
+ Os aplicativos a seguir estão usando arquivos que precisam ser atualizados:
+ Feche os &aplicativos e tente reiniciá-los.
+ &Não feche os aplicativos. Será necessária uma reinicialização.
+ &OK
+ &Cancelar
+ A instalação foi bem-sucedida.
+
+O seguinte foi instalado em: '[DOTNETHOME]'
+ • SDK do .NET Core [DOTNETSDKVERSION]
+ • Runtime do .NET Core [DOTNETRUNTIMEVERSION]
+ • Runtime do ASP.NET Core [ASPNETCOREVERSION]
+ • Runtime da Área de Trabalho do Windows do .NET Core [WINFORMSANDWPFVERSION]
+
+Este produto coleta dados de uso
+ • Para obter mais informações e recusar, acesse https://aka.ms/dotnet-cli-telemetry
+
+Recursos
+ • Documentação do .NET Core: https://aka.ms/dotnet-docs
+ • Documentação do SDK: https://aka.ms/dotnet-sdk-docs
+ • Notas sobre a Versão: https://aka.ms/netcore3releasenotes
+ • Tutoriais: https://aka.ms/dotnet-tutorials
+
+
+ O .NET Core é um software livre, multiplataforma e com suporte da Microsoft. Você pode usá-lo para criar seu próximo aplicativo, com C#, F# ou VB. Esperamos que você goste!
+ Saiba mais sobre o .NET Core
+
+ <A HREF="https://aka.ms/dotnet-docs">Documentação Principal</A>
+ <A HREF="https://aka.ms/dotnet-cli-docs">Documentação do SDK</A>
+ <A HREF="https://aka.ms/dev-privacy">Política de Privacidade</A>
+ <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">Termos de licença da Biblioteca do .NET</A>
+ Nota de instalação
+ Um comando será executado durante o processo de instalação que melhorará a velocidade de restauração do projeto e habilitará o acesso offline. Isso levará até um minuto para ser concluído.
+
+ Se você planeja usar o .NET Core 3.0 com o Visual Studio, o Visual Studio 2019 ou mais recente será necessário. <A HREF="https://go.microsoft.com/fwlink/?linkid=866799">Saiba mais</A>.
+
+
diff --git a/src/redist/targets/packaging/windows/clisdk/LCID/2052/bundle.wxl b/src/redist/targets/packaging/windows/clisdk/LCID/2052/bundle.wxl
index 421ed4114..37256afbf 100644
--- a/src/redist/targets/packaging/windows/clisdk/LCID/2052/bundle.wxl
+++ b/src/redist/targets/packaging/windows/clisdk/LCID/2052/bundle.wxl
@@ -2,7 +2,7 @@
[WixBundleName] 安装程序
[BUNDLEMONIKER]
- 是否确实要取消?
+ 您确定要取消吗?
上一版本
/install | /repair | /uninstall | /layout [\[]"directory"[\]] - 安装、修复、卸载
@@ -56,16 +56,16 @@
• .NET Core Windows Desktop Runtime [WINFORMSANDWPFVERSION]
此产品会收集用法数据
- •详细信息和选择退出选项: https://aka.ms/dotnet-cli-telemetry
+ • 详细信息和选择退出选项: https://aka.ms/dotnet-cli-telemetry
资源
• .NET Core 文档: https://aka.ms/dotnet-docs
• SDK 文档: https://aka.ms/dotnet-sdk-docs
- •发行说明: https://aka.ms/netcore3releasenotes
+ • 发行说明: https://aka.ms/netcore3releasenotes
• 教程: https://aka.ms/dotnet-tutorials
- .NET Core 是开源、跨平台的,且由 Microsoft 提供支持。通过它,可使用 C#、F# 或 VB 构建你的下一个应用。喜欢你喜欢它!
+ .NET Core 是开源、跨平台的,且由 Microsoft 提供支持。通过它,可使用 C#、F# 或 VB 构建你的下一个应用。希望你喜欢它!
了解有关 .NET Core 的详细信息
<A HREF="https://aka.ms/dotnet-docs">Core 文档</A>
diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.thm b/src/redist/targets/packaging/windows/clisdk/bundle.thm
index 4df41b683..a0271d416 100644
--- a/src/redist/targets/packaging/windows/clisdk/bundle.thm
+++ b/src/redist/targets/packaging/windows/clisdk/bundle.thm
@@ -92,7 +92,7 @@
#(loc.FailureRepairHeader)
#(loc.FailureHyperlinkLogText)
- #(loc.FailureRestartText)
+ #(loc.FailureRestartText)
diff --git a/src/redist/targets/packaging/windows/clisdk/bundle.wxs b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
index 27d2f03ba..2d3c31dd9 100644
--- a/src/redist/targets/packaging/windows/clisdk/bundle.wxs
+++ b/src/redist/targets/packaging/windows/clisdk/bundle.wxs
@@ -133,6 +133,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1 b/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
index 649fbdd5d..d4eb57dfa 100644
--- a/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
+++ b/src/redist/targets/packaging/windows/clisdk/generatebundle.ps1
@@ -9,8 +9,11 @@ param(
[Parameter(Mandatory=$true)][string]$SharedHostMSIFile,
[Parameter(Mandatory=$true)][string]$WinFormsAndWpfMSIFile,
[Parameter(Mandatory=$true)][string]$NetCoreAppTargetingPackMSIFile,
- [Parameter(Mandatory=$true)][string]$NetCoreAppHostPackMSIFile,
[Parameter(Mandatory=$true)][string]$NetStandardTargetingPackMSIFile,
+ [Parameter(Mandatory=$true)][string]$NetCoreAppHostPackMSIFile,
+ [Parameter(Mandatory=$true)][string]$AlternateNetCoreAppHostPackMSIFile,
+ [Parameter(Mandatory=$true)][string]$ArmNetCoreAppHostPackMSIFile,
+ [Parameter(Mandatory=$true)][string]$Arm64NetCoreAppHostPackMSIFile,
[Parameter(Mandatory=$true)][string]$AspNetTargetingPackMSIFile,
[Parameter(Mandatory=$true)][string]$WindowsDesktopTargetingPackMSIFile,
[Parameter(Mandatory=$true)][string]$TemplatesMSIFile,
@@ -53,6 +56,9 @@ function RunCandleForBundle
-dWinFormsAndWpfMsiSourcePath="$WinFormsAndWpfMSIFile" `
-dNetCoreAppTargetingPackMsiSourcePath="$NetCoreAppTargetingPackMSIFile" `
-dNetCoreAppHostPackMsiSourcePath="$NetCoreAppHostPackMSIFile" `
+ -dAlternateNetCoreAppHostPackMsiSourcePath="$AlternateNetCoreAppHostPackMSIFile" `
+ -dArmNetCoreAppHostPackMsiSourcePath="$ArmNetCoreAppHostPackMSIFile" `
+ -dArm64NetCoreAppHostPackMsiSourcePath="$Arm64NetCoreAppHostPackMSIFile" `
-dNetStandardTargetingPackMsiSourcePath="$NetStandardTargetingPackMSIFile" `
-dAspNetTargetingPackMsiSourcePath="$AspNetTargetingPackMSIFile" `
-dWindowsDesktopTargetingPackMsiSourcePath="$WindowsDesktopTargetingPackMSIFile" `
diff --git a/src/redist/targets/packaging/windows/clisdk/msi.ico b/src/redist/targets/packaging/windows/clisdk/msi.ico
new file mode 100644
index 000000000..c2e2717c2
Binary files /dev/null and b/src/redist/targets/packaging/windows/clisdk/msi.ico differ
diff --git a/src/redist/targets/packaging/windows/clisdk/sdkplaceholder.wxs b/src/redist/targets/packaging/windows/clisdk/sdkplaceholder.wxs
index a3d5b9e98..1576a03bd 100644
--- a/src/redist/targets/packaging/windows/clisdk/sdkplaceholder.wxs
+++ b/src/redist/targets/packaging/windows/clisdk/sdkplaceholder.wxs
@@ -18,6 +18,8 @@
+
+
diff --git a/test/EndToEnd/GivenFrameworkDependentApps.cs b/test/EndToEnd/GivenFrameworkDependentApps.cs
index 12d16337a..b871ac309 100644
--- a/test/EndToEnd/GivenFrameworkDependentApps.cs
+++ b/test/EndToEnd/GivenFrameworkDependentApps.cs
@@ -19,7 +19,7 @@ namespace EndToEnd
[ClassData(typeof(SupportedNetCoreAppVersions))]
public void ItDoesNotRollForwardToTheLatestVersionOfNetCore(string minorVersion)
{
- if (minorVersion == "3.0" || minorVersion == "5.0")
+ if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0")
{
// https://github.com/dotnet/core-sdk/issues/621
return;
@@ -31,7 +31,7 @@ namespace EndToEnd
[ClassData(typeof(SupportedAspNetCoreVersions))]
public void ItDoesNotRollForwardToTheLatestVersionOfAspNetCoreApp(string minorVersion)
{
- if (minorVersion == "3.0" || minorVersion == "5.0")
+ if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0")
{
// https://github.com/dotnet/core-sdk/issues/621
return;
diff --git a/test/EndToEnd/GivenSelfContainedAppsRollForward.cs b/test/EndToEnd/GivenSelfContainedAppsRollForward.cs
index fd47e3643..6b85a2400 100644
--- a/test/EndToEnd/GivenSelfContainedAppsRollForward.cs
+++ b/test/EndToEnd/GivenSelfContainedAppsRollForward.cs
@@ -23,7 +23,7 @@ namespace EndToEnd
[ClassData(typeof(SupportedNetCoreAppVersions))]
public void ItRollsForwardToTheLatestNetCoreVersion(string minorVersion)
{
- if (minorVersion == "3.0" || minorVersion == "5.0")
+ if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0")
{
// https://github.com/dotnet/core-sdk/issues/621
return;
@@ -35,7 +35,7 @@ namespace EndToEnd
[ClassData(typeof(SupportedAspNetCoreVersions))]
public void ItRollsForwardToTheLatestAspNetCoreAppVersion(string minorVersion)
{
- if (minorVersion == "3.0" || minorVersion == "5.0")
+ if (minorVersion == "3.0" || minorVersion == "3.1" || minorVersion == "5.0")
{
// https://github.com/dotnet/core-sdk/issues/621
return;
diff --git a/test/EndToEnd/ProjectBuildTests.cs b/test/EndToEnd/ProjectBuildTests.cs
index 354fbaadf..ab3558dc8 100644
--- a/test/EndToEnd/ProjectBuildTests.cs
+++ b/test/EndToEnd/ProjectBuildTests.cs
@@ -2,16 +2,15 @@
using System.IO;
using System.Linq;
using System.Xml.Linq;
+using Microsoft.DotNet.PlatformAbstractions;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
namespace EndToEnd.Tests
{
-
public class ProjectBuildTests : TestBase
{
-
[Fact]
public void ItCanNewRestoreBuildRunCleanMSBuildProject()
{
@@ -35,12 +34,11 @@ namespace EndToEnd.Tests
.Should().Pass();
var runCommand = new RunCommand()
- .WithWorkingDirectory(projectDirectory);
-
- runCommand.ExecuteWithCapturedOutput()
- // Templates are still at 3.0 and will not run on 5.0, revert to commented out assertion when 5.0 templates land
+ .WithWorkingDirectory(projectDirectory)
+ .ExecuteWithCapturedOutput()
+ // Templates are still at 3.1 and will not run on 5.0, revert to commented out assertion when 5.0 templates land
//.Should().Pass().And.HaveStdOutContaining("Hello World!");
- .Should().Fail().And.HaveStdErrContaining("https://aka.ms/dotnet-download");
+ .Should().Fail().And.HaveStdErrContaining("https://aka.ms/dotnet-core-applaunch");
var binDirectory = new DirectoryInfo(projectDirectory).Sub("bin");
binDirectory.Should().HaveFilesMatching("*.dll", SearchOption.AllDirectories);
@@ -53,7 +51,7 @@ namespace EndToEnd.Tests
binDirectory.Should().NotHaveFilesMatching("*.dll", SearchOption.AllDirectories);
}
- [Fact(Skip = "Need support for ASP.NET on .NET Core 3.1")]
+ [Fact]
public void ItCanRunAnAppUsingTheWebSdk()
{
var directory = TestAssets.CreateTestDirectory();
@@ -80,13 +78,11 @@ namespace EndToEnd.Tests
.Should().Pass();
var runCommand = new RunCommand()
- .WithWorkingDirectory(projectDirectory);
-
- runCommand.ExecuteWithCapturedOutput()
- // Templates are still at 3.0 and will not run on 5.0, revert to commented out assertion when 5.0 templates land
+ .WithWorkingDirectory(projectDirectory)
+ .ExecuteWithCapturedOutput()
+ // Templates are still at 3.1 and will not run on 5.0, revert to commented out assertion when 5.0 templates land
//.Should().Pass().And.HaveStdOutContaining("Hello World!");
- .Should().Fail().And.HaveStdErrContaining("https://aka.ms/dotnet-download");
-
+ .Should().Fail().And.HaveStdErrContaining("https://aka.ms/dotnet-core-applaunch");
}
@@ -110,7 +106,22 @@ namespace EndToEnd.Tests
TestTemplateBuild(templateName);
}
- private void TestTemplateBuild(string templateName)
+ [WindowsOnlyTheory]
+ [InlineData("wpf")]
+ public void ItCanBuildDesktopTemplatesSelfContained(string templateName)
+ {
+ TestTemplateBuild(templateName);
+ }
+
+ [Theory]
+ [InlineData("web")]
+ [InlineData("console")]
+ public void ItCanBuildTemplatesSelfContained(string templateName)
+ {
+ TestTemplateBuild(templateName, selfContained: true);
+ }
+
+ private void TestTemplateBuild(string templateName, bool selfContained = false)
{
var directory = TestAssets.CreateTestDirectory(identifier: templateName);
string projectDirectory = directory.FullName;
@@ -121,17 +132,13 @@ namespace EndToEnd.Tests
.Execute(newArgs)
.Should().Pass();
- // Work-around for MVC template test until ASP.Net publishes Preview 5 'Microsoft.AspNetCore.Mvc.NewtonsoftJson' to NuGet.org
- string restoreArgs = string.Equals(templateName, "mvc", StringComparison.OrdinalIgnoreCase) ? "/p:RestoreAdditionalProjectSources=https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json" : "";
- new RestoreCommand()
- .WithWorkingDirectory(projectDirectory)
- .Execute(restoreArgs)
- .Should().Pass();
-
+ var buildArgs = selfContained ? "" :$"-r {RuntimeEnvironment.GetRuntimeIdentifier()}";
+ var dotnetRoot = Path.GetDirectoryName(RepoDirectoriesProvider.DotnetUnderTest);
new BuildCommand()
- .WithWorkingDirectory(projectDirectory)
- .Execute()
- .Should().Pass();
+ .WithEnvironmentVariable("PATH", dotnetRoot) // override PATH since razor rely on PATH to find dotnet
+ .WithWorkingDirectory(projectDirectory)
+ .Execute(buildArgs)
+ .Should().Pass();
}
}
}
diff --git a/test/EndToEnd/SupportedNetCoreAppVersions.cs b/test/EndToEnd/SupportedNetCoreAppVersions.cs
index b40043bf0..512b9e78a 100644
--- a/test/EndToEnd/SupportedNetCoreAppVersions.cs
+++ b/test/EndToEnd/SupportedNetCoreAppVersions.cs
@@ -22,6 +22,7 @@ namespace EndToEnd
"2.1",
"2.2",
"3.0",
+ "3.1",
"5.0"
};
}
diff --git a/test/SdkTests/SdkTests.csproj b/test/SdkTests/SdkTests.csproj
new file mode 100644
index 000000000..b50468b7f
--- /dev/null
+++ b/test/SdkTests/SdkTests.csproj
@@ -0,0 +1,293 @@
+
+
+
+ false
+ false
+ Library
+ false
+ false
+ false
+ true
+ true
+ true
+
+
+
+
+
+ $(MSBuildToolsPath)\Microsoft.CSharp.targets
+
+ false
+
+ false
+ $(CoreSdkTargetFramework)
+
+
+
+ $(ArtifactsBinDir)redist\$(Configuration)\dotnet\
+ $(ArtifactsBinDir)redist\$(Configuration)\dotnet-with-previous-runtimes\
+ $([MSBuild]::NormalizePath($(ArtifactsTmpDir), 'dotnetSdkTests'))
+ $(ArtifactsTmpDir)DOTNET_CLI_HOME\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+ Windows
+
+
+
+ false
+
+
+
+ false
+
+
+
+ false
+
+
+
+ false
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(DotnetToTestPath)%(RecursiveDir)%(Filename)%(Extension)
+
+
+
+
+
+
+
+
+
+ $(DotnetToTestPath)shared\Microsoft.NETCore.App\$(RuntimeVersionToInstall)
+
+
+ powershell -NoLogo -NoProfile -ExecutionPolicy ByPass
+ $(InstallRuntimeCommand) "$(_DotNetRoot)dotnet-install.ps1"
+ $(InstallRuntimeCommand) -Version $(RuntimeVersionToInstall)
+ $(InstallRuntimeCommand) -InstallDir $(DotnetToTestPath)
+ $(InstallRuntimeCommand) -Runtime "dotnet"
+ $(InstallRuntimeCommand) -Architecture "$(Architecture)"
+
+
+ /bin/bash
+ $(InstallRuntimeCommand) "$(_DotNetRoot)dotnet-install.sh"
+ $(InstallRuntimeCommand) --version $(RuntimeVersionToInstall)
+ $(InstallRuntimeCommand) --install-dir "$(DotnetToTestPath)"
+ $(InstallRuntimeCommand) --runtime "dotnet"
+ $(InstallRuntimeCommand) --architecture "$(Architecture)"
+
+
+
+
+
+
+
+
+
+
+
+
+ $(TestExecutionDirectory)\NuGet.config
+
+
+
+
+
+
+
+
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ToolTestName=%(SdkTest.Identity)
+
+
+
+
+
+
+
+
+ testSdk$(ToolTestName)
+ Microsoft.NET.$(ToolTestName).Tests
+ $(ArtifactsTmpDir)$(ToolCommandName)\
+
+
+
+
+
+
+
+
+ $(ToolRunPrefix)set MSBuildSDKsPath=&&
+ $(ToolRunPrefix)set DOTNET_HOST_PATH=&&
+ $(ToolRunPrefix)set DOTNET_INSTALLDIR=&&
+
+
+ $(ToolRunPrefix)unset MSBuildSDKsPath &&
+ $(ToolRunPrefix)unset DOTNET_HOST_PATH &&
+ $(ToolRunPrefix)unset DOTNET_INSTALLDIR &&
+
+
+
+
+
+ $(MicrosoftNETSdkPackageVersion)
+ https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+
+ dotnet tool install --local $(ToolCommandName)
+
+ $(InstallToolCommand) --version $(SdkTestPackageVersion)
+ $(InstallToolCommand) --add-source $(SdkTestPackageFeed)
+
+
+
+
+
+
+
+ $(ArtifactsTestResultsDir)$(TestProjectName).xml
+ $(ArtifactsTestResultsDir)$(TestProjectName).html
+ $(ArtifactsLogDir)$(TestProjectName).log
+
+ -noautoreporters -noRepoInference
+ $(TestArgs) -dotnetPath $(DotnetToTestPath)\dotnet
+ $(TestArgs) -testExecutionDirectory $(TestExecutionDirectory)
+ $(TestArgs) -testConfigFile "$(MSBuildThisFileDirectory)TestConfig.xml"
+ $(TestArgs) -xml "$(ResultsXmlPath)"
+ $(TestArgs) -html "$(ResultsHtmlPath)" $(TestRunnerAdditionalArguments)
+ $(TestArgs) > $(ResultsStdOutPath) 2>&1
+ $(TestArgs) -testList SdkIntegrationTests
+
+
+
+
+
+ $(TestArgs) -testConfigFile "$(MSBuildThisFileDirectory)TestsToSkipx86.xml"
+
+
+
+
+ $(TestArgs) -testConfigFile "$(MSBuildThisFileDirectory)TestsToSkipPortableLinux.xml"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/SdkTests/TestConfig.xml b/test/SdkTests/TestConfig.xml
new file mode 100644
index 000000000..441cc6cc7
--- /dev/null
+++ b/test/SdkTests/TestConfig.xml
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/SdkTests/TestsToSkipPortableLinux.xml b/test/SdkTests/TestsToSkipPortableLinux.xml
new file mode 100644
index 000000000..d0ea16a8d
--- /dev/null
+++ b/test/SdkTests/TestsToSkipPortableLinux.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/test/SdkTests/TestsToSkipx86.xml b/test/SdkTests/TestsToSkipx86.xml
new file mode 100644
index 000000000..c4cde72c5
--- /dev/null
+++ b/test/SdkTests/TestsToSkipx86.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+