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 - Ajuda de Instalação - /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 - Progresso da Instalação - Processando: - Inicializando... - &Cancelar - Modificar Instalação - &Reparar - &Desinstalar - &Fechar - Reparação Concluída com Êxito - Desinstalação Concluída com Êxito - Instalação com Êxito - &Iniciar - É necessário reiniciar o computador para concluir a instalação do software. - &Reiniciar - &Fechar - Falha na Instalação - Falha na Instalação - Falha na Desinstalação - Falha na Reparação - 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 - Arquivos em Uso - 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 - SDK do .NET Core - - 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 - Recursos - <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 + Ajuda de Instalação + /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 + Progresso da Instalação + Processando: + Inicializando... + &Cancelar + Modificar Instalação + &Reparar + &Desinstalar + &Fechar + Reparação Concluída com Êxito + Desinstalação Concluída com Êxito + Instalação com Êxito + &Iniciar + É necessário reiniciar o computador para concluir a instalação do software. + &Reiniciar + &Fechar + Falha na Instalação + Falha na Instalação + Falha na Desinstalação + Falha na Reparação + 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 + Arquivos em Uso + 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 + SDK do .NET Core + + 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 + Recursos + <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 SDK - .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 @@ + + + + + + + + + + + +