diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 20ed99836..c9e6f8836 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -47,10 +47,10 @@ stages: - job: Publish_Build_Configuration pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Svc-Public + name: NetCore1ESPool-Public demands: ImageOverride -equals build.windows.10.amd64.vs2019.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: NetCore1ESPool-Internal demands: ImageOverride -equals build.windows.10.amd64.vs2019 steps: - publish: $(Build.SourcesDirectory)\eng\BuildConfiguration @@ -61,10 +61,10 @@ stages: agentOs: Windows_NT pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Svc-Public + name: NetCore1ESPool-Public demands: ImageOverride -equals build.windows.10.amd64.vs2019.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: NetCore1ESPool-Internal demands: ImageOverride -equals build.windows.10.amd64.vs2019 timeoutInMinutes: 180 strategy: @@ -77,12 +77,6 @@ stages: _DOTNET_CLI_UI_LANGUAGE: '' _AdditionalBuildParameters: '' _TestArg: $(_WindowsTestArg) - Build_ES_Debug_x64: - _BuildConfig: Debug - _BuildArchitecture: x64 - _DOTNET_CLI_UI_LANGUAGE: es - _AdditionalBuildParameters: '' - _TestArg: '' # Internal-only builds ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: Build_Release_x86: @@ -118,10 +112,10 @@ stages: agentOs: Windows_NT pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Svc-Public + name: NetCore1ESPool-Public demands: ImageOverride -equals build.windows.10.amd64.vs2019.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: NetCore1ESPool-Internal demands: ImageOverride -equals build.windows.10.amd64.vs2019 timeoutInMinutes: 180 strategy: @@ -147,10 +141,10 @@ stages: agentOs: Linux pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Svc-Public + name: NetCore1ESPool-Public demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 timeoutInMinutes: 180 strategy: @@ -170,7 +164,7 @@ stages: _RuntimeIdentifier: '' _BuildArchitecture: 'x64' _TestArg: $(_NonWindowsTestArg) - Build_CentOS_7_1_Debug_x64: + Build_CentOS_7_Debug_x64: _BuildConfig: Debug _DockerParameter: '--docker centos' _LinuxPortable: '' @@ -187,14 +181,14 @@ stages: _TestArg: $(_NonWindowsTestArg) Build_Rhel_7_2_Release_x64: _BuildConfig: Release - _DockerParameter: '--docker rhel' + _DockerParameter: '--docker centos' _LinuxPortable: '' _RuntimeIdentifier: '' _BuildArchitecture: 'x64' _TestArg: $(_NonWindowsTestArg) Build_Rhel_7_2_Release_Arm64: _BuildConfig: Release - _DockerParameter: '--docker rhel' + _DockerParameter: '--docker centos' _LinuxPortable: '' _RuntimeIdentifier: '--runtime-id linux-arm64' _BuildArchitecture: 'arm64' @@ -301,7 +295,7 @@ stages: _TestArg: $(_NonWindowsTestArg) Build_Linux_Portable_Rpm_Release_x64: _BuildConfig: Release - _DockerParameter: '--docker rhel' + _DockerParameter: '--docker centos' _LinuxPortable: '--linux-portable' _RuntimeIdentifier: '' _BuildArchitecture: 'x64' @@ -311,7 +305,7 @@ stages: _TestArg: $(_NonWindowsTestArg) Build_Linux_Portable_Rpm_Release_Arm64: _BuildConfig: Release - _DockerParameter: '--docker rhel' + _DockerParameter: '--docker centos' _LinuxPortable: '--linux-portable' _RuntimeIdentifier: '--runtime-id linux-arm64' _BuildArchitecture: 'arm64' @@ -333,10 +327,10 @@ stages: agentOs: Linux pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Svc-Public + name: NetCore1ESPool-Public demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Svc-Internal + name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 timeoutInMinutes: 180 strategy: diff --git a/Directory.Build.props b/Directory.Build.props index c373c9beb..15c9d27b7 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -24,7 +24,7 @@ true true - net6.0 + net7.0 - - - - - - - - - - - - - @@ -28,6 +14,8 @@ + + @@ -37,13 +25,9 @@ - - - - diff --git a/README.md b/README.md index 2b1e76a0f..0668e2554 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![GitHub pulls-merged](https://img.shields.io/github/issues-search/dotnet/installer?label=merged%20pull%20requests&query=is%3Apr%20is%3Aclosed%20is%3Amerged&color=darkviolet)](https://github.com/dotnet/installer/pulls?q=is%3Apr+is%3Aclosed+is%3Amerged) [![GitHub pulls-unmerged](https://img.shields.io/github/issues-search/dotnet/installer?label=unmerged%20pull%20requests&query=is%3Apr%20is%3Aclosed%20is%3Aunmerged&color=red)](https://github.com/dotnet/installer/pulls?q=is%3Apr+is%3Aclosed+is%3Aunmerged) [![GitHub contributors](https://img.shields.io/github/contributors/dotnet/installer.svg)](https://GitHub.com/dotnet/installer/graphs/contributors/) -[![Commit Activity](https://img.shields.io/github/commit-activity/m/badges/shields)]() +[![Commit Activity](https://img.shields.io/github/commit-activity/m/dotnet/installer)]() This repo contains the source code for the cross-platform [.NET Core](http://github.com/dotnet/core) SDK. It aggregates the .NET Toolchain, the .NET Core runtime, the templates, and the .NET Core Windows Desktop runtime. It produces zip, tarballs, and native packages for various supported platforms. @@ -63,8 +63,7 @@ Visibility|All legs| |Public|[![Status](https://dev.azure.com/dnceng/public/_apis/build/status/176)](https://dev.azure.com/dnceng/public/_build?definitionId=176)| |Microsoft Internal|[![Status](https://dev.azure.com/dnceng/internal/_apis/build/status/286)](https://dev.azure.com/dnceng/internal/_build?definitionId=286)| -Installers and Binaries ------------------------ +## Installers and Binaries You can download the .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET Core SDK contains both the .NET Core runtime and CLI tools. @@ -73,6 +72,16 @@ want to install the latest released versions, check out the [preceding section]( With development builds, internal NuGet feeds are necessary for some scenarios (for example, to acquire the runtime pack for self-contained apps). You can use the following NuGet.config to configure these feeds. See the following document [Configuring NuGet behavior](https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior) for more information on where to modify your NuGet.config to apply the changes. > Example: +**For .NET 7 builds** + +``` + + + + + +``` + **For .NET 6 builds** ``` @@ -82,9 +91,9 @@ With development builds, internal NuGet feeds are necessary for some scenarios ( ``` -**Note:** that you may need to add the dotnet5 feed for a short period of time while .NET transitions to .NET 6 **For .NET 6 Optional workloads** +_The below feed is needed for 6.0 releases before RC1_ We strongly recommend using `--skip-manifest-update` with `dotnet workload install` as otherwise you could pick up a random build of various workloads as we'll automatically update to the newest one available on the feed. @@ -116,442 +125,269 @@ We strongly recommend using `--skip-manifest-update` with `dotnet workload insta ``` -Please do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. +Please do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. Daily servicing builds have been removed as all servicing is done in private repos to avoid disclosure of critical security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download. -| Platform | Release/6.0.1XX
(6.0.x Runtime) | Release/6.0.1XX-rc1
(6.0 Runtime) | Release/5.0.4XX
(5.0 Runtime) | Release/5.0.2XX
(5.0 Runtime) | Release/3.1.4XX
(3.1.x Runtime) | Release/3.1.1XX
(3.1.x Runtime) | -| :--------- | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | -| **Windows x64** | [![][win-x64-badge-6.0.1XX]][win-x64-version-6.0.1XX]
[Installer][win-x64-installer-6.0.1XX] - [Checksum][win-x64-installer-checksum-6.0.1XX]
[zip][win-x64-zip-6.0.1XX] - [Checksum][win-x64-zip-checksum-6.0.1XX] | [![][win-x64-badge-6.0.1XX-rc1]][win-x64-version-6.0.1XX-rc1]
[Installer][win-x64-installer-6.0.1XX-rc1] - [Checksum][win-x64-installer-checksum-6.0.1XX-rc1]
[zip][win-x64-zip-6.0.1XX-rc1] - [Checksum][win-x64-zip-checksum-6.0.1XX-rc1] | [![][win-x64-badge-5.0.4XX]][win-x64-version-5.0.4XX]
[Installer][win-x64-installer-5.0.4XX] - [Checksum][win-x64-installer-checksum-5.0.4XX]
[zip][win-x64-zip-5.0.4XX] - [Checksum][win-x64-zip-checksum-5.0.4XX] | [![][win-x64-badge-5.0.2XX]][win-x64-version-5.0.2XX]
[Installer][win-x64-installer-5.0.2XX] - [Checksum][win-x64-installer-checksum-5.0.2XX]
[zip][win-x64-zip-5.0.2XX] - [Checksum][win-x64-zip-checksum-5.0.2XX] | [![][win-x64-badge-3.1.4XX]][win-x64-version-3.1.4XX]
[Installer][win-x64-installer-3.1.4XX] - [Checksum][win-x64-installer-checksum-3.1.4XX]
[zip][win-x64-zip-3.1.4XX] - [Checksum][win-x64-zip-checksum-3.1.4XX] | [![][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] | -| **Windows x86** | [![][win-x86-badge-6.0.1XX]][win-x86-version-6.0.1XX]
[Installer][win-x86-installer-6.0.1XX] - [Checksum][win-x86-installer-checksum-6.0.1XX]
[zip][win-x86-zip-6.0.1XX] - [Checksum][win-x86-zip-checksum-6.0.1XX] | [![][win-x86-badge-6.0.1XX-rc1]][win-x86-version-6.0.1XX-rc1]
[Installer][win-x86-installer-6.0.1XX-rc1] - [Checksum][win-x86-installer-checksum-6.0.1XX-rc1]
[zip][win-x86-zip-6.0.1XX-rc1] - [Checksum][win-x86-zip-checksum-6.0.1XX-rc1] | [![][win-x86-badge-5.0.4XX]][win-x86-version-5.0.4XX]
[Installer][win-x86-installer-5.0.4XX] - [Checksum][win-x86-installer-checksum-5.0.4XX]
[zip][win-x86-zip-5.0.4XX] - [Checksum][win-x86-zip-checksum-5.0.4XX] | [![][win-x86-badge-5.0.2XX]][win-x86-version-5.0.2XX]
[Installer][win-x86-installer-5.0.2XX] - [Checksum][win-x86-installer-checksum-5.0.2XX]
[zip][win-x86-zip-5.0.2XX] - [Checksum][win-x86-zip-checksum-5.0.2XX] | [![][win-x86-badge-3.1.4XX]][win-x86-version-3.1.4XX]
[Installer][win-x86-installer-3.1.4XX] - [Checksum][win-x86-installer-checksum-3.1.4XX]
[zip][win-x86-zip-3.1.4XX] - [Checksum][win-x86-zip-checksum-3.1.4XX] | [![][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] | -| **Windows arm** | **N/A** | **N/A** | **N/A** | **N/A** | [![][win-arm-badge-3.1.4XX]][win-arm-version-3.1.4XX]
[zip][win-arm-zip-3.1.4XX] - [Checksum][win-arm-zip-checksum-3.1.4XX] | [![][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] | -| **Windows arm64** | [![][win-arm64-badge-6.0.1XX]][win-arm64-version-6.0.1XX]
[Installer][win-arm64-installer-6.0.1XX] - [Checksum][win-arm64-installer-checksum-6.0.1XX]
[zip][win-arm64-zip-6.0.1XX] | [![][win-arm64-badge-6.0.1XX-rc1]][win-arm64-version-6.0.1XX-rc1]
[Installer][win-arm64-installer-6.0.1XX-rc1] - [Checksum][win-arm64-installer-checksum-6.0.1XX-rc1]
[zip][win-arm64-zip-6.0.1XX-rc1] | [![][win-arm64-badge-5.0.4XX]][win-arm64-version-5.0.4XX]
[Installer][win-arm64-installer-5.0.4XX] - [Checksum][win-arm64-installer-checksum-5.0.4XX]
[zip][win-arm64-zip-5.0.4XX] | [![][win-arm64-badge-5.0.2XX]][win-arm64-version-5.0.2XX]
[Installer][win-arm64-installer-5.0.2XX] - [Checksum][win-arm64-installer-checksum-5.0.2XX]
[zip][win-arm64-zip-5.0.2XX] | **N/A** | **N/A** | -| **macOS x64** | [![][osx-x64-badge-6.0.1XX]][osx-x64-version-6.0.1XX]
[Installer][osx-x64-installer-6.0.1XX] - [Checksum][osx-x64-installer-checksum-6.0.1XX]
[tar.gz][osx-x64-targz-6.0.1XX] - [Checksum][osx-x64-targz-checksum-6.0.1XX] | [![][osx-x64-badge-6.0.1XX-rc1]][osx-x64-version-6.0.1XX-rc1]
[Installer][osx-x64-installer-6.0.1XX-rc1] - [Checksum][osx-x64-installer-checksum-6.0.1XX-rc1]
[tar.gz][osx-x64-targz-6.0.1XX-rc1] - [Checksum][osx-x64-targz-checksum-6.0.1XX-rc1] | [![][osx-x64-badge-5.0.4XX]][osx-x64-version-5.0.4XX]
[Installer][osx-x64-installer-5.0.4XX] - [Checksum][osx-x64-installer-checksum-5.0.4XX]
[tar.gz][osx-x64-targz-5.0.4XX] - [Checksum][osx-x64-targz-checksum-5.0.4XX] | [![][osx-x64-badge-5.0.2XX]][osx-x64-version-5.0.2XX]
[Installer][osx-x64-installer-5.0.2XX] - [Checksum][osx-x64-installer-checksum-5.0.2XX]
[tar.gz][osx-x64-targz-5.0.2XX] - [Checksum][osx-x64-targz-checksum-5.0.2XX] | [![][osx-x64-badge-3.1.4XX]][osx-x64-version-3.1.4XX]
[Installer][osx-x64-installer-3.1.4XX] - [Checksum][osx-x64-installer-checksum-3.1.4XX]
[tar.gz][osx-x64-targz-3.1.4XX] - [Checksum][osx-x64-targz-checksum-3.1.4XX] | [![][osx-x64-badge-3.1.1XX]][osx-x64-version-3.1.1XX]
[Installer][osx-x64-installer-3.1.1XX] - [Checksum][osx-x64-installer-checksum-3.1.1XX]
[tar.gz][osx-x64-targz-3.1.1XX] - [Checksum][osx-x64-targz-checksum-3.1.1XX] | -| **macOS arm64** | [![][osx-arm64-badge-6.0.1XX]][osx-arm64-version-6.0.1XX]
[Installer][osx-arm64-installer-6.0.1XX] - [Checksum][osx-arm64-installer-checksum-6.0.1XX]
[tar.gz][osx-arm64-targz-6.0.1XX] - [Checksum][osx-arm64-targz-checksum-6.0.1XX] | [![][osx-arm64-badge-6.0.1XX-rc1]][osx-arm64-version-6.0.1XX-rc1]
[Installer][osx-arm64-installer-6.0.1XX-rc1] - [Checksum][osx-arm64-installer-checksum-6.0.1XX-rc1]
[tar.gz][osx-arm64-targz-6.0.1XX-rc1] - [Checksum][osx-arm64-targz-checksum-6.0.1XX-rc1] | **N/A** | **N/A** | **N/A** | **N/A** | -| **Linux x64** | [![][linux-badge-6.0.1XX]][linux-version-6.0.1XX]
[DEB Installer][linux-DEB-installer-6.0.1XX] - [Checksum][linux-DEB-installer-checksum-6.0.1XX]
[RPM Installer][linux-RPM-installer-6.0.1XX] - [Checksum][linux-RPM-installer-checksum-6.0.1XX]
_see installer note below_1
[tar.gz][linux-targz-6.0.1XX] - [Checksum][linux-targz-checksum-6.0.1XX] | [![][linux-badge-6.0.1XX-rc1]][linux-version-6.0.1XX-rc1]
[DEB Installer][linux-DEB-installer-6.0.1XX-rc1] - [Checksum][linux-DEB-installer-checksum-6.0.1XX-rc1]
[RPM Installer][linux-RPM-installer-6.0.1XX-rc1] - [Checksum][linux-RPM-installer-checksum-6.0.1XX-rc1]
_see installer note below_1
[tar.gz][linux-targz-6.0.1XX-rc1] - [Checksum][linux-targz-checksum-6.0.1XX-rc1] | [![][linux-badge-5.0.4XX]][linux-version-5.0.4XX]
[DEB Installer][linux-DEB-installer-5.0.4XX] - [Checksum][linux-DEB-installer-checksum-5.0.4XX]
[RPM Installer][linux-RPM-installer-5.0.4XX] - [Checksum][linux-RPM-installer-checksum-5.0.4XX]
_see installer note below_1
[tar.gz][linux-targz-5.0.4XX] - [Checksum][linux-targz-checksum-5.0.4XX] | [![][linux-badge-5.0.2XX]][linux-version-5.0.2XX]
[DEB Installer][linux-DEB-installer-5.0.2XX] - [Checksum][linux-DEB-installer-checksum-5.0.2XX]
[RPM Installer][linux-RPM-installer-5.0.2XX] - [Checksum][linux-RPM-installer-checksum-5.0.2XX]
_see installer note below_1
[tar.gz][linux-targz-5.0.2XX] - [Checksum][linux-targz-checksum-5.0.2XX] | [![][linux-badge-3.1.4XX]][linux-version-3.1.4XX]
[DEB Installer][linux-DEB-installer-3.1.4XX] - [Checksum][linux-DEB-installer-checksum-3.1.4XX]
[RPM Installer][linux-RPM-installer-3.1.4XX] - [Checksum][linux-RPM-installer-checksum-3.1.4XX]
_see installer note below_1
[tar.gz][linux-targz-3.1.4XX] - [Checksum][linux-targz-checksum-3.1.4XX] | [![][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 arm** | [![][linux-arm-badge-6.0.1XX]][linux-arm-version-6.0.1XX]
[tar.gz][linux-arm-targz-6.0.1XX] - [Checksum][linux-arm-targz-checksum-6.0.1XX] | [![][linux-arm-badge-6.0.1XX-rc1]][linux-arm-version-6.0.1XX-rc1]
[tar.gz][linux-arm-targz-6.0.1XX-rc1] - [Checksum][linux-arm-targz-checksum-6.0.1XX-rc1] | [![][linux-arm-badge-5.0.4XX]][linux-arm-version-5.0.4XX]
[tar.gz][linux-arm-targz-5.0.4XX] - [Checksum][linux-arm-targz-checksum-5.0.4XX] | [![][linux-arm-badge-5.0.2XX]][linux-arm-version-5.0.2XX]
[tar.gz][linux-arm-targz-5.0.2XX] - [Checksum][linux-arm-targz-checksum-5.0.2XX] | [![][linux-arm-badge-3.1.4XX]][linux-arm-version-3.1.4XX]
[tar.gz][linux-arm-targz-3.1.4XX] - [Checksum][linux-arm-targz-checksum-3.1.4XX] | [![][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 arm64** | [![][linux-arm64-badge-6.0.1XX]][linux-arm64-version-6.0.1XX]
[tar.gz][linux-arm64-targz-6.0.1XX] - [Checksum][linux-arm64-targz-checksum-6.0.1XX] | [![][linux-arm64-badge-6.0.1XX-rc1]][linux-arm64-version-6.0.1XX-rc1]
[tar.gz][linux-arm64-targz-6.0.1XX-rc1] - [Checksum][linux-arm64-targz-checksum-6.0.1XX-rc1] | [![][linux-arm64-badge-5.0.4XX]][linux-arm64-version-5.0.4XX]
[tar.gz][linux-arm64-targz-5.0.4XX] - [Checksum][linux-arm64-targz-checksum-5.0.4XX] | [![][linux-arm64-badge-5.0.2XX]][linux-arm64-version-5.0.2XX]
[tar.gz][linux-arm64-targz-5.0.2XX] - [Checksum][linux-arm64-targz-checksum-5.0.2XX] | [![][linux-arm64-badge-3.1.4XX]][linux-arm64-version-3.1.4XX]
[tar.gz][linux-arm64-targz-3.1.4XX] - [Checksum][linux-arm64-targz-checksum-3.1.4XX] | [![][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-musl-x64** | [![][linux-musl-x64-badge-6.0.1XX]][linux-musl-x64-version-6.0.1XX]
[tar.gz][linux-musl-x64-targz-6.0.1XX] - [Checksum][linux-musl-x64-targz-checksum-6.0.1XX] | [![][linux-musl-x64-badge-6.0.1XX-rc1]][linux-musl-x64-version-6.0.1XX-rc1]
[tar.gz][linux-musl-x64-targz-6.0.1XX-rc1] - [Checksum][linux-musl-x64-targz-checksum-6.0.1XX-rc1] | [![][linux-musl-x64-badge-5.0.4XX]][linux-musl-x64-version-5.0.4XX]
[tar.gz][linux-musl-x64-targz-5.0.4XX] - [Checksum][linux-musl-x64-targz-checksum-5.0.4XX] | [![][linux-musl-x64-badge-5.0.2XX]][linux-musl-x64-version-5.0.2XX]
[tar.gz][linux-musl-x64-targz-5.0.2XX] - [Checksum][linux-musl-x64-targz-checksum-5.0.2XX] | [![][linux-musl-x64-badge-3.1.4XX]][linux-musl-x64-version-3.1.4XX]
[tar.gz][linux-musl-x64-targz-3.1.4XX] - [Checksum][linux-musl-x64-targz-checksum-3.1.4XX] | [![][linux-musl-x64-badge-3.1.1XX]][linux-musl-x64-version-3.1.1XX]
[tar.gz][linux-musl-x64-targz-3.1.1XX] - [Checksum][linux-musl-x64-targz-checksum-3.1.1XX] | -| **Linux-musl-arm** | [![][linux-musl-arm-badge-6.0.1XX]][linux-musl-arm-version-6.0.1XX]
[tar.gz][linux-musl-arm-targz-6.0.1XX] - [Checksum][linux-musl-arm-targz-checksum-6.0.1XX] | [![][linux-musl-arm-badge-6.0.1XX-rc1]][linux-musl-arm-version-6.0.1XX-rc1]
[tar.gz][linux-musl-arm-targz-6.0.1XX-rc1] - [Checksum][linux-musl-arm-targz-checksum-6.0.1XX-rc1] | [![][linux-musl-arm-badge-5.0.4XX]][linux-musl-arm-version-5.0.4XX]
[tar.gz][linux-musl-arm-targz-5.0.4XX] - [Checksum][linux-musl-arm-targz-checksum-5.0.4XX] | [![][linux-musl-arm-badge-5.0.2XX]][linux-musl-arm-version-5.0.2XX]
[tar.gz][linux-musl-arm-targz-5.0.2XX] - [Checksum][linux-musl-arm-targz-checksum-5.0.2XX] | **N/A** | **N/A** | -| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-6.0.1XX]][linux-musl-arm64-version-6.0.1XX]
[tar.gz][linux-musl-arm64-targz-6.0.1XX] - [Checksum][linux-musl-arm64-targz-checksum-6.0.1XX] | [![][linux-musl-arm64-badge-6.0.1XX-rc1]][linux-musl-arm64-version-6.0.1XX-rc1]
[tar.gz][linux-musl-arm64-targz-6.0.1XX-rc1] - [Checksum][linux-musl-arm64-targz-checksum-6.0.1XX-rc1] | [![][linux-musl-arm64-badge-5.0.4XX]][linux-musl-arm64-version-5.0.4XX]
[tar.gz][linux-musl-arm64-targz-5.0.4XX] - [Checksum][linux-musl-arm64-targz-checksum-5.0.4XX] | [![][linux-musl-arm64-badge-5.0.2XX]][linux-musl-arm64-version-5.0.2XX]
[tar.gz][linux-musl-arm64-targz-5.0.2XX] - [Checksum][linux-musl-arm64-targz-checksum-5.0.2XX] | **N/A** | **N/A** | -| **RHEL 6** | **N/A** | **N/A** | **N/A** | **N/A** | [![][rhel-6-badge-3.1.4XX]][rhel-6-version-3.1.4XX]
[tar.gz][rhel-6-targz-3.1.4XX] - [Checksum][rhel-6-targz-checksum-3.1.4XX] | [![][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] | +### Table + +| Platform | main
(7.0.x Runtime) | Release/7.0.1xx-preview5
(7.0.x Runtime) | Release/6.0.4XX
(6.0.x Runtime) | +| :--------- | :----------: | :----------: | :----------: | +| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]
[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]
[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.1XX-preview5]][win-x64-version-7.0.1XX-preview5]
[Installer][win-x64-installer-7.0.1XX-preview5] - [Checksum][win-x64-installer-checksum-7.0.1XX-preview5]
[zip][win-x64-zip-7.0.1XX-preview5] - [Checksum][win-x64-zip-checksum-7.0.1XX-preview5] | [![][win-x64-badge-6.0.4XX]][win-x64-version-6.0.4XX]
[Installer][win-x64-installer-6.0.4XX] - [Checksum][win-x64-installer-checksum-6.0.4XX]
[zip][win-x64-zip-6.0.4XX] - [Checksum][win-x64-zip-checksum-6.0.4XX] | +| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]
[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]
[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.1XX-preview5]][win-x86-version-7.0.1XX-preview5]
[Installer][win-x86-installer-7.0.1XX-preview5] - [Checksum][win-x86-installer-checksum-7.0.1XX-preview5]
[zip][win-x86-zip-7.0.1XX-preview5] - [Checksum][win-x86-zip-checksum-7.0.1XX-preview5] | [![][win-x86-badge-6.0.4XX]][win-x86-version-6.0.4XX]
[Installer][win-x86-installer-6.0.4XX] - [Checksum][win-x86-installer-checksum-6.0.4XX]
[zip][win-x86-zip-6.0.4XX] - [Checksum][win-x86-zip-checksum-6.0.4XX] | +| **Windows arm** | **N/A** | **N/A** | **N/A** | +| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]
[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]
[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.1XX-preview5]][win-arm64-version-7.0.1XX-preview5]
[Installer][win-arm64-installer-7.0.1XX-preview5] - [Checksum][win-arm64-installer-checksum-7.0.1XX-preview5]
[zip][win-arm64-zip-7.0.1XX-preview5] | [![][win-arm64-badge-6.0.4XX]][win-arm64-version-6.0.4XX]
[Installer][win-arm64-installer-6.0.4XX] - [Checksum][win-arm64-installer-checksum-6.0.4XX]
[zip][win-arm64-zip-6.0.4XX] | +| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]
[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]
[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.1XX-preview5]][osx-x64-version-7.0.1XX-preview5]
[Installer][osx-x64-installer-7.0.1XX-preview5] - [Checksum][osx-x64-installer-checksum-7.0.1XX-preview5]
[tar.gz][osx-x64-targz-7.0.1XX-preview5] - [Checksum][osx-x64-targz-checksum-7.0.1XX-preview5] | [![][osx-x64-badge-6.0.4XX]][osx-x64-version-6.0.4XX]
[Installer][osx-x64-installer-6.0.4XX] - [Checksum][osx-x64-installer-checksum-6.0.4XX]
[tar.gz][osx-x64-targz-6.0.4XX] - [Checksum][osx-x64-targz-checksum-6.0.4XX] | +| **macOS arm64** | [![][osx-arm64-badge-main]][osx-arm64-version-main]
[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]
[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.1XX-preview5]][osx-arm64-version-7.0.1XX-preview5]
[Installer][osx-arm64-installer-7.0.1XX-preview5] - [Checksum][osx-arm64-installer-checksum-7.0.1XX-preview5]
[tar.gz][osx-arm64-targz-7.0.1XX-preview5] - [Checksum][osx-arm64-targz-checksum-7.0.1XX-preview5] | [![][osx-arm64-badge-6.0.4XX]][osx-arm64-version-6.0.4XX]
[Installer][osx-arm64-installer-6.0.4XX] - [Checksum][osx-arm64-installer-checksum-6.0.4XX]
[tar.gz][osx-arm64-targz-6.0.4XX] - [Checksum][osx-arm64-targz-checksum-6.0.4XX] | +| **Linux x64** | [![][linux-badge-main]][linux-version-main]
[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]
[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]
_see installer note below_1
[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.1XX-preview5]][linux-version-7.0.1XX-preview5]
[DEB Installer][linux-DEB-installer-7.0.1XX-preview5] - [Checksum][linux-DEB-installer-checksum-7.0.1XX-preview5]
[RPM Installer][linux-RPM-installer-7.0.1XX-preview5] - [Checksum][linux-RPM-installer-checksum-7.0.1XX-preview5]
_see installer note below_1
[tar.gz][linux-targz-7.0.1XX-preview5] - [Checksum][linux-targz-checksum-7.0.1XX-preview5] | [![][linux-badge-6.0.4XX]][linux-version-6.0.4XX]
[DEB Installer][linux-DEB-installer-6.0.4XX] - [Checksum][linux-DEB-installer-checksum-6.0.4XX]
[RPM Installer][linux-RPM-installer-6.0.4XX] - [Checksum][linux-RPM-installer-checksum-6.0.4XX]
_see installer note below_1
[tar.gz][linux-targz-6.0.4XX] - [Checksum][linux-targz-checksum-6.0.4XX] | +| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.1XX-preview5]][linux-arm-version-7.0.1XX-preview5]
[tar.gz][linux-arm-targz-7.0.1XX-preview5] - [Checksum][linux-arm-targz-checksum-7.0.1XX-preview5] | [![][linux-arm-badge-6.0.4XX]][linux-arm-version-6.0.4XX]
[tar.gz][linux-arm-targz-6.0.4XX] - [Checksum][linux-arm-targz-checksum-6.0.4XX] | +| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]
[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.1XX-preview5]][linux-arm64-version-7.0.1XX-preview5]
[tar.gz][linux-arm64-targz-7.0.1XX-preview5] - [Checksum][linux-arm64-targz-checksum-7.0.1XX-preview5] | [![][linux-arm64-badge-6.0.4XX]][linux-arm64-version-6.0.4XX]
[tar.gz][linux-arm64-targz-6.0.4XX] - [Checksum][linux-arm64-targz-checksum-6.0.4XX] | +| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]
[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.1XX-preview5]][linux-musl-x64-version-7.0.1XX-preview5]
[tar.gz][linux-musl-x64-targz-7.0.1XX-preview5] - [Checksum][linux-musl-x64-targz-checksum-7.0.1XX-preview5] | [![][linux-musl-x64-badge-6.0.4XX]][linux-musl-x64-version-6.0.4XX]
[tar.gz][linux-musl-x64-targz-6.0.4XX] - [Checksum][linux-musl-x64-targz-checksum-6.0.4XX] | +| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]
[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.1XX-preview5]][linux-musl-arm-version-7.0.1XX-preview5]
[tar.gz][linux-musl-arm-targz-7.0.1XX-preview5] - [Checksum][linux-musl-arm-targz-checksum-7.0.1XX-preview5] | [![][linux-musl-arm-badge-6.0.4XX]][linux-musl-arm-version-6.0.4XX]
[tar.gz][linux-musl-arm-targz-6.0.4XX] - [Checksum][linux-musl-arm-targz-checksum-6.0.4XX] | +| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]
[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.1XX-preview5]][linux-musl-arm64-version-7.0.1XX-preview5]
[tar.gz][linux-musl-arm64-targz-7.0.1XX-preview5] - [Checksum][linux-musl-arm64-targz-checksum-7.0.1XX-preview5] | [![][linux-musl-arm64-badge-6.0.4XX]][linux-musl-arm64-version-6.0.4XX]
[tar.gz][linux-musl-arm64-targz-6.0.4XX] - [Checksum][linux-musl-arm64-targz-checksum-6.0.4XX] | +| **RHEL 6** | **N/A** | **N/A** | **N/A** | Reference notes: > **1**: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing the SDK from the .deb file (via dpkg or similar), then you'll need to install the corresponding dependencies first: -> * [Host, Host FX Resolver, and Shared Framework](https://github.com/dotnet/runtime#daily-builds) +> * [Host, Host FX Resolver, and Shared Framework](https://github.com/dotnet/runtime/blob/main/docs/project/dogfooding.md#nightly-builds-table) > * [ASP.NET Core Shared Framework](https://github.com/aspnet/AspNetCore/blob/main/docs/DailyBuilds.md) .NET Core SDK 2.x downloads can be found here: [.NET Core SDK 2.x Installers and Binaries](Downloads2.x.md) -[win-x64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/win_x64_Release_version_badge.svg -[win-x64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-win-x64.txt -[win-x64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x64.zip.sha - -[win-x64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/win_x64_Release_version_badge.svg -[win-x64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-win-x64.txt -[win-x64-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x64.zip.sha - -[win-x64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/win_x64_Release_version_badge.svg -[win-x64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-win-x64.txt -[win-x64-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x64.zip.sha - -[win-x64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/win_x64_Release_version_badge.svg -[win-x64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-x64.txt -[win-x64-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.exe -[win-x64-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.exe.sha -[win-x64-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.zip -[win-x64-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.zip.sha - -[win-x64-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/win_x64_Release_version_badge.svg -[win-x64-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[win-x64-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x64.zip.sha - -[win-x64-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/win_x64_Release_version_badge.svg -[win-x64-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[win-x64-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x64.zip.sha - -[win-x86-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/win_x86_Release_version_badge.svg -[win-x86-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-win-x86.txt -[win-x86-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.zip.sha - -[win-x86-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/win_x86_Release_version_badge.svg -[win-x86-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-win-x86.txt -[win-x86-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.zip.sha - -[win-x86-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/win_x86_Release_version_badge.svg -[win-x86-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-win-x86.txt -[win-x86-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.zip.sha - -[win-x86-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/win_x86_Release_version_badge.svg -[win-x86-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-x86.txt -[win-x86-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.exe -[win-x86-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.exe.sha -[win-x86-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.zip -[win-x86-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.zip.sha - -[win-x86-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/win_x86_Release_version_badge.svg -[win-x86-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[win-x86-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x86.zip.sha - -[win-x86-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/win_x86_Release_version_badge.svg -[win-x86-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[win-x86-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x86.zip.sha - -[osx-x64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-osx-x64.txt -[osx-x64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha - -[osx-x64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-osx-x64.txt -[osx-x64-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha - -[osx-x64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/osx_x64_Release_version_badge.svg -[osx-x64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-osx-x64.txt -[osx-x64-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha - -[osx-x64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/osx_x64_Release_version_badge.svg -[osx-x64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-osx-x64.txt -[osx-x64-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg -[osx-x64-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg.sha -[osx-x64-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.tar.gz -[osx-x64-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg.tar.gz.sha - -[osx-x64-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/osx_x64_Release_version_badge.svg -[osx-x64-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[osx-x64-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-osx-x64.pkg -[osx-x64-installer-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-x64-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-osx-x64.tar.gz -[osx-x64-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-osx-x64.tar.gz.sha - -[osx-x64-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/osx_x64_Release_version_badge.svg -[osx-x64-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[osx-x64-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-osx-x64.pkg -[osx-x64-installer-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-x64-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz -[osx-x64-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz.sha - -[osx-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/osx_arm64_Release_version_badge.svg -[osx-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-osx-arm64.txt -[osx-arm64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.pkg -[osx-arm64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.pkg.sha -[osx-arm64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.tar.gz -[osx-arm64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha - -[osx-arm64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/osx_arm64_Release_version_badge.svg -[osx-arm64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-osx-arm64.txt -[osx-arm64-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-arm64.pkg -[osx-arm64-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-arm64.pkg.sha -[osx-arm64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-arm64.tar.gz -[osx-arm64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha - -[linux-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_x64_Release_version_badge.svg -[linux-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-x64.txt -[linux-DEB-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-x64.tar.gz.sha - -[linux-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_x64_Release_version_badge.svg -[linux-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-x64.txt -[linux-DEB-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-x64.tar.gz.sha - -[linux-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_x64_Release_version_badge.svg -[linux-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-x64.txt -[linux-DEB-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.rpm.sha -[linux-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz.sha - -[linux-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_x64_Release_version_badge.svg -[linux-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-x64.txt -[linux-DEB-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.deb -[linux-DEB-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.deb.sha -[linux-RPM-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.rpm -[linux-RPM-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.rpm.sha -[linux-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-x64.tar.gz -[linux-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-x64.tar.gz.sha - -[linux-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/linux_x64_Release_version_badge.svg -[linux-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[linux-DEB-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-x64.deb -[linux-DEB-installer-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-x64.deb.sha -[linux-RPM-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-x64.rpm -[linux-RPM-installer-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-x64.rpm.sha -[linux-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-x64.tar.gz.sha - -[linux-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/linux_x64_Release_version_badge.svg -[linux-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[linux-DEB-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.deb -[linux-DEB-installer-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.deb.sha -[linux-RPM-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.rpm -[linux-RPM-installer-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.rpm.sha -[linux-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz.sha - -[linux-arm-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-arm.txt -[linux-arm-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm.tar.gz.sha - -[linux-arm-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-arm.txt -[linux-arm-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm.tar.gz.sha - -[linux-arm-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_arm_Release_version_badge.svg -[linux-arm-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-arm.txt -[linux-arm-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz.sha - -[linux-arm-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_arm_Release_version_badge.svg -[linux-arm-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-arm.txt -[linux-arm-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-arm.tar.gz -[linux-arm-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-arm.tar.gz.sha - -[linux-arm-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/linux_arm_Release_version_badge.svg -[linux-arm-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[linux-arm-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-arm.tar.gz -[linux-arm-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-arm.tar.gz.sha - -[linux-arm-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/linux_arm_Release_version_badge.svg -[linux-arm-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[linux-arm-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-arm.tar.gz -[linux-arm-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-arm.tar.gz.sha - -[linux-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm64.tar.gz.sha - -[linux-arm64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm64.tar.gz.sha - -[linux-arm64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_arm64_Release_version_badge.svg -[linux-arm64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-arm64.txt -[linux-arm64-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha - -[linux-arm64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_arm64_Release_version_badge.svg -[linux-arm64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-arm64.txt -[linux-arm64-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-arm64.tar.gz -[linux-arm64-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-arm64.tar.gz.sha - -[linux-arm64-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/linux_arm64_Release_version_badge.svg -[linux-arm64-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[linux-arm64-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-arm64.tar.gz -[linux-arm64-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-arm64.tar.gz.sha - -[linux-arm64-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/linux_arm64_Release_version_badge.svg -[linux-arm64-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[linux-arm64-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-arm64.tar.gz -[linux-arm64-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-arm64.tar.gz.sha - -[rhel-6-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha - -[rhel-6-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha - -[rhel-6-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-rhel.6-x64.txt -[rhel-6-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha - -[rhel-6-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-rhel.6-x64.txt -[rhel-6-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-rhel.6-x64.tar.gz.sha - -[rhel-6-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[rhel-6-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha - -[rhel-6-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/rhel.6_x64_Release_version_badge.svg -[rhel-6-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[rhel-6-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-rhel.6-x64.tar.gz -[rhel-6-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha - -[linux-musl-x64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha - -[linux-musl-x64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha - -[linux-musl-x64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha - -[linux-musl-x64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-musl-x64.txt -[linux-musl-x64-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-x64.tar.gz.sha - -[linux-musl-x64-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[linux-musl-x64-targz-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-linux-musl-x64.tar.gz.sha - -[linux-musl-x64-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/linux_musl_x64_Release_version_badge.svg -[linux-musl-x64-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[linux-musl-x64-targz-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-musl-x64.tar.gz -[linux-musl-x64-targz-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-linux-musl-x64.tar.gz.sha - -[linux-musl-arm-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha - -[linux-musl-arm-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha - -[linux-musl-arm-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha - -[linux-musl-arm-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_musl_arm_Release_version_badge.svg -[linux-musl-arm-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-musl-arm.txt -[linux-musl-arm-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-arm.tar.gz -[linux-musl-arm-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-arm.tar.gz.sha - -[linux-musl-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha - -[linux-musl-arm64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha - -[linux-musl-arm64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha - -[linux-musl-arm64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_musl_arm64_Release_version_badge.svg -[linux-musl-arm64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-musl-arm64.txt -[linux-musl-arm64-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-arm64.tar.gz -[linux-musl-arm64-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-musl-arm64.tar.gz.sha - -[win-arm-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/win_arm_Release_version_badge.svg -[win-arm-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-win-arm.txt -[win-arm-zip-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm.zip.sha - -[win-arm-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/win_arm_Release_version_badge.svg -[win-arm-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-win-arm.txt -[win-arm-zip-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm.zip.sha - -[win-arm-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/win_arm_Release_version_badge.svg -[win-arm-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-win-arm.txt -[win-arm-zip-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm.zip.sha - -[win-arm-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/win_arm_Release_version_badge.svg -[win-arm-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-arm.txt -[win-arm-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm.zip -[win-arm-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm.zip.sha - -[win-arm-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/win_arm_Release_version_badge.svg -[win-arm-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version -[win-arm-zip-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-arm.zip -[win-arm-zip-checksum-3.1.4XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-arm.zip.sha - -[win-arm-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/win_arm_Release_version_badge.svg -[win-arm-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version -[win-arm-zip-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-arm.zip -[win-arm-zip-checksum-3.1.1XX]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-arm.zip.sha - -[win-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-win-arm64.txt -[win-arm64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-arm64.zip.sha - -[win-arm64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-win-arm64.txt -[win-arm64-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-arm64.zip.sha - -[win-arm64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/win_arm64_Release_version_badge.svg -[win-arm64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-win-arm64.txt -[win-arm64-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-arm64.zip.sha - -[win-arm64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/win_arm64_Release_version_badge.svg -[win-arm64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-arm64.txt -[win-arm64-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm64.exe -[win-arm64-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm64.exe.sha -[win-arm64-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm64.zip -[win-arm64-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-arm64.zip.sha +[win-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_x64_Release_version_badge.svg +[win-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x64.txt +[win-x64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.zip.sha + +[win-x64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/win_x64_Release_version_badge.svg +[win-x64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-win-x64.txt +[win-x64-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x64.zip.sha + +[win-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_x64_Release_version_badge.svg +[win-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-x64.txt +[win-x64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.exe +[win-x64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.exe.sha +[win-x64-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.zip +[win-x64-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x64.zip.sha + +[win-x86-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_x86_Release_version_badge.svg +[win-x86-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x86.txt +[win-x86-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip.sha + +[win-x86-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/win_x86_Release_version_badge.svg +[win-x86-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-win-x86.txt +[win-x86-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-x86.zip.sha + +[win-x86-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_x86_Release_version_badge.svg +[win-x86-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-x86.txt +[win-x86-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.exe +[win-x86-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.exe.sha +[win-x86-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.zip +[win-x86-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.zip.sha + +[osx-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-x64.txt +[osx-x64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha + +[osx-x64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-osx-x64.txt +[osx-x64-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha + +[osx-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_x64_Release_version_badge.svg +[osx-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-x64.txt +[osx-x64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg +[osx-x64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.sha +[osx-x64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.tar.gz +[osx-x64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha + +[osx-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha + +[osx-arm64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha + +[osx-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_arm64_Release_version_badge.svg +[osx-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-arm64.txt +[osx-arm64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg +[osx-arm64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.sha +[osx-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.tar.gz +[osx-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha + +[linux-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_x64_Release_version_badge.svg +[linux-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-x64.txt +[linux-DEB-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha + +[linux-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_x64_Release_version_badge.svg +[linux-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-x64.txt +[linux-DEB-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-x64.tar.gz.sha + +[linux-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_x64_Release_version_badge.svg +[linux-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-x64.txt +[linux-DEB-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.deb +[linux-DEB-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.deb.sha +[linux-RPM-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm +[linux-RPM-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm.sha +[linux-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz +[linux-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz.sha + +[linux-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm.txt +[linux-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha + +[linux-arm-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-arm.txt +[linux-arm-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-arm.tar.gz.sha + +[linux-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm_Release_version_badge.svg +[linux-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm.txt +[linux-arm-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz +[linux-arm-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz.sha + +[linux-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha + +[linux-arm64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-arm64.tar.gz.sha + +[linux-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm64_Release_version_badge.svg +[linux-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm64.txt +[linux-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz +[linux-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha + +[rhel-6-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha + +[rhel-6-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha + +[rhel-6-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/rhel.6_x64_Release_version_badge.svg +[rhel-6-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-rhel.6-x64.txt +[rhel-6-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz +[rhel-6-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha + +[linux-musl-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha + +[linux-musl-x64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha + +[linux-musl-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_x64_Release_version_badge.svg +[linux-musl-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-x64.txt +[linux-musl-x64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz +[linux-musl-x64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha + +[linux-musl-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha + +[linux-musl-arm-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha + +[linux-musl-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm_Release_version_badge.svg +[linux-musl-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-arm.txt +[linux-musl-arm-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz +[linux-musl-arm-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha + +[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha + +[linux-musl-arm64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha + +[linux-musl-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm64_Release_version_badge.svg +[linux-musl-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-arm64.txt +[linux-musl-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz +[linux-musl-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha + +[win-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm_Release_version_badge.svg +[win-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm.txt +[win-arm-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip.sha + +[win-arm-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/win_arm_Release_version_badge.svg +[win-arm-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-win-arm.txt +[win-arm-zip-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm.zip.sha + +[win-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm_Release_version_badge.svg +[win-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-arm.txt +[win-arm-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm.zip +[win-arm-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm.zip.sha + +[win-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-arm64.txt +[win-arm64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha + +[win-arm64-badge-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/productCommit-win-arm64.txt +[win-arm64-installer-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-7.0.1XX-preview5]: https://aka.ms/dotnet/7.0.1xx-preview5/daily/dotnet-sdk-win-arm64.zip.sha + +[win-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm64_Release_version_badge.svg +[win-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-arm64.txt +[win-arm64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.exe +[win-arm64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.exe.sha +[win-arm64-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip +[win-arm64-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip.sha [sdk-shas-2.2.1XX]: https://github.com/dotnet/versions/tree/master/build-info/dotnet/product/cli/release/2.2#built-repositories diff --git a/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj b/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj index 85367b5e2..1ae6518fc 100644 --- a/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj +++ b/TestAssets/TestProjects/UseCswinrt/consolecswinrt.csproj @@ -1,7 +1,7 @@ Exe - net6.0 + net7.0 Windows diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 769c9c145..56225aad3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,46 +1,46 @@ - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - ad940638f459efe0d17d60ccf52454a32ea7e561 + + https://github.com/dotnet/windowsdesktop + 4b1cef2bc674dc9861549838d4b3159e7df9cf2c - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - ad940638f459efe0d17d60ccf52454a32ea7e561 + + https://github.com/dotnet/windowsdesktop + 4b1cef2bc674dc9861549838d4b3159e7df9cf2c - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - ad940638f459efe0d17d60ccf52454a32ea7e561 + + https://github.com/dotnet/windowsdesktop + 4b1cef2bc674dc9861549838d4b3159e7df9cf2c - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - ad940638f459efe0d17d60ccf52454a32ea7e561 + + https://github.com/dotnet/windowsdesktop + 4b1cef2bc674dc9861549838d4b3159e7df9cf2c - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 70ae3df4a6f3c92fb6b315afc405edd10ff38579 + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 @@ -48,96 +48,100 @@ https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - be98e88c760526452df94ef452fff4602fb5bded + + https://github.com/dotnet/runtime + e026f392b2bb93bc9509ac5403d3e8cd7d3eee72 - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - e5f183b656a0e8bc087108130a5a9b54ae94494e + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed - + + https://github.com/dotnet/aspnetcore + d94b4873c1aebc1681df4507e1f0c14f059d8bed + + https://github.com/dotnet/test-templates - 9388790ba9ed8fef11584b2c74fe6789782a1592 + 135655caa47549d5598f08e433aa66557b8a7695 - + https://github.com/dotnet/test-templates - 9388790ba9ed8fef11584b2c74fe6789782a1592 + 135655caa47549d5598f08e433aa66557b8a7695 - + https://github.com/dotnet/test-templates - 9388790ba9ed8fef11584b2c74fe6789782a1592 + 135655caa47549d5598f08e433aa66557b8a7695 + + + https://github.com/dotnet/test-templates + 135655caa47549d5598f08e433aa66557b8a7695 - + https://github.com/dotnet/templating - 843e80279c4bd0a2ea876c51a33e0a99be9a3116 + aa1ee83aab36ef8ef862b1061f5cdcec39dbe0c0 - + https://github.com/dotnet/templating - 843e80279c4bd0a2ea876c51a33e0a99be9a3116 + aa1ee83aab36ef8ef862b1061f5cdcec39dbe0c0 - - https://github.com/dotnet/templating - 843e80279c4bd0a2ea876c51a33e0a99be9a3116 - - + https://github.com/dotnet/sdk - 1b3ebc6ec06435ae11d9215b6e35f9208f2f5adb + 0d72b2f3089e4e96f94d143a056b3f04fc74552a - + https://github.com/dotnet/sdk - 1b3ebc6ec06435ae11d9215b6e35f9208f2f5adb + 0d72b2f3089e4e96f94d143a056b3f04fc74552a - - https://dev.azure.com/dnceng/internal/_git/dotnet-winforms - 0c636f9d7cf5e0d9f23cf070c36711e7ac4d66ee + + https://github.com/dotnet/winforms + 9aaa6140abf7a6fd17e49f9163b1a8858bb97a53 - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 14bf2e54800ba75bfd06cbb4f2e470cbfffc9a5b + + https://github.com/dotnet/wpf + 4d085cdc03ca829f80ff12085f31fab319bf9108 - + https://github.com/dotnet/fsharp - 45ecfa9e9c543b773045a719db82396376a42d0f + 211fd760c2315d73cfa0d375fe64abb346bc1096 - + https://github.com/dotnet/fsharp - 45ecfa9e9c543b773045a719db82396376a42d0f + 211fd760c2315d73cfa0d375fe64abb346bc1096 - + https://github.com/microsoft/vstest - 717d0cf94925e9cf67466dbee46c1019930eb212 + 6311e6c5dcd2fd955fa9a63b27dff0dcf279e9b1 - + https://github.com/dotnet/linker - 28db36b95cf83c8e2ad11e67a2ad0de301b4cad6 + 978b631362f2ffdccdf63fbe3ffe59dfe985ae3d linker @@ -151,9 +155,9 @@ 1c045cf58dcb0d2f0474364550eeab37877257a1 - + https://github.com/nuget/nuget.client - 9c469e4dbfa8ba6085f0cd47d58207de90304a5a + b8a61266d9a6780cb7eb9c1942695cf813fdef0a @@ -166,23 +170,13 @@ 698fdad58fa64a55f16cd9562c90224cc498ed02 - + https://github.com/dotnet/emsdk - 52e9452f82e26f9fcae791e84c082ae22f1ef66f + ea10b4e5534de1806cc2e84ddd3b00eabcab962f - - https://github.com/dotnet/source-build - 10d0f7e94aa45889155c312f51cfc01bf326b853 - - - - https://github.com/dotnet/clicommandlineparser - 3198bf5660cad3dab85f5475bf1fda9688146e3f - - - + https://github.com/dotnet/deployment-tools - 7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6 + 4c51edf694fe99622fdcf77a1906c59e14dd311d @@ -190,6 +184,11 @@ ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1 + + https://github.com/dotnet/source-build-externals + 929686f9bb080937b5cd8f496527f4c02123a11e + + https://github.com/dotnet/symreader 7b9791daa3a3477eb22ec805946c9fff8b42d8ca @@ -197,33 +196,33 @@ - + https://github.com/dotnet/arcade - e3cbecc5b0e51374e3d71dbb976004ab9cc90430 + d681cd3568168a97aa4cf50a61af9ec74d307eb8 - + https://github.com/dotnet/arcade - e3cbecc5b0e51374e3d71dbb976004ab9cc90430 + d681cd3568168a97aa4cf50a61af9ec74d307eb8 - + https://github.com/dotnet/arcade - e3cbecc5b0e51374e3d71dbb976004ab9cc90430 + d681cd3568168a97aa4cf50a61af9ec74d307eb8 - + https://github.com/dotnet/source-build-reference-packages - 07eecddb8505ad0dccb6ff6f23379d6b67aedc64 + c71ce108eda9f657c9f58a613a1fe56b6b08235d - + https://github.com/dotnet/sourcelink - 8031e5220baf2acad991e661d8308b783d2acf3e + 9dd9f81089f875d2452db9d6c8397a8e0b19d688 - + https://github.com/dotnet/xliff-tasks - bc3233146e1fcd393ed471d5005333c83363e0fe + c43ace141b8666f030d87f84c01526d64d5223d4 diff --git a/eng/Versions.props b/eng/Versions.props index 7e2180674..7cffea256 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -5,38 +5,46 @@ true - 6 + 7 0 - 4 + 1 00 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) preview + 6 $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor) false release + + + + https://dotnetbuilds.blob.core.windows.net/public/ + https://dotnetclimsrc.blob.core.windows.net/dotnet/ + - 6.0.0-beta.22261.7 + 7.0.0-beta.22308.5 - 6.0.4-servicing.22164.7 + 7.0.0-preview.6.22309.2 - 6.0.5-servicing.22215.9 + 7.0.0-preview.6.22309.2 - 6.0.400-preview.22309.5 + 7.0.100-preview.6.22309.2 - 1.0.2-beta4.22207.1 - 1.0.2-beta4.22207.1 + 1.0.2-beta4.22307.1 + 1.0.2-beta4.22307.1 + 1.0.2-beta4.22307.1 @@ -44,44 +52,45 @@ - 6.0.5 - 6.0.5 - 6.0.5-servicing.22218.2 - 6.0.5-servicing.22218.2 - 6.0.5-servicing.22218.2 - 6.0.5-servicing.22218.2 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 + 7.0.0-preview.6.22309.19 0.2.0 - 6.0.400-preview.22310.5 - 6.0.400-preview.22310.5 + 7.0.100-preview.6.22310.4 + 7.0.100-preview.6.22310.4 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) - 6.0.3 + 7.0.0-preview.6.22309.9 - 6.0.5-servicing.22213.9 - 6.0.5-servicing.22213.9 - 6.0.5 - 6.0.5 - 6.0.5 - 6.0.5 + 7.0.0-preview.6.22309.9 + 7.0.0-preview.6.22309.9 + 7.0.0-preview.6.22309.9 + 7.0.0-preview.6.22309.9 + 7.0.0-preview.6.22309.9 + 7.0.0-preview.6.22309.9 2.1.0 - 6.0.5-servicing.22215.11 - 6.0.5-servicing.22215.11 - 6.0.5 - 6.0.5 + 7.0.0-preview.6.22309.5 + 7.0.0-preview.6.22309.5 + 7.0.0-preview.6.22309.5 + 7.0.0-preview.6.22309.5 @@ -98,7 +107,9 @@ 5.0.3 - 5.0.0-rc.2.20474.4 + 6.0.100 + 5.0.13 + 6.0.1 $(MicrosoftNETCoreAppRuntimePackageVersion) @@ -108,13 +119,20 @@ 1.0.0-v3.14.0.5722 + + $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + $(NUnit3DotNetNewTemplatePackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftAspNetCoreAppRuntimePackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(NUnit3DotNetNewTemplatePackageVersion) - $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - 6.0.400-preview.22309.5 - $(MicrosoftAspNetCoreAppRuntimePackageVersion) + $(MicrosoftDotNetCommonItemTemplates60PackageVersion) + $(MicrosoftDotNetCommonItemTemplates60PackageVersion) + 6.0.5 $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) @@ -143,14 +161,14 @@ 1.5.3 1.0.2-beta3 $(MicrosoftDotNetCommonItemTemplates21PackageVersion) - 1.0.2-beta4.22207.1 + 1.0.2-beta4.22307.1 2.1.34 2.2.0-beta.19072.10 2.0.0 - 17.2.0-release-20220408-11 + 17.3.0-preview-20220609-01 @@ -182,9 +200,9 @@ 15.4.303 12.3.303 15.4.303 - 6.0.5 - 6.0.4 - $(MicrosoftNETWorkloadEmscriptenManifest60200Version) + $(MicrosoftNETCoreAppRefPackageVersion) + 7.0.0-preview.6.22281.1 + $(MicrosoftNETWorkloadEmscriptenManifest70100Version) diff --git a/eng/common/build.sh b/eng/common/build.sh index a16e18b17..55b298f16 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -187,7 +187,6 @@ function InitializeCustomToolset { } function Build { - InitializeToolset InitializeCustomToolset diff --git a/eng/common/cross/arm/tizen-build-rootfs.sh b/eng/common/cross/arm/tizen-build-rootfs.sh new file mode 100644 index 000000000..9fdb32e92 --- /dev/null +++ b/eng/common/cross/arm/tizen-build-rootfs.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -e + +__ARM_HARDFP_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +__TIZEN_CROSSDIR="$__ARM_HARDFP_CrossDir/tizen" + +if [[ -z "$ROOTFS_DIR" ]]; then + echo "ROOTFS_DIR is not defined." + exit 1; +fi + +TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp +mkdir -p $TIZEN_TMP_DIR + +# Download files +echo ">>Start downloading files" +VERBOSE=1 $__ARM_HARDFP_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR +echo "<>Start constructing Tizen rootfs" +TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm` +cd $ROOTFS_DIR +for f in $TIZEN_RPM_FILES; do + rpm2cpio $f | cpio -idm --quiet +done +echo "<>Start configuring Tizen rootfs" +ln -sfn asm-arm ./usr/include/asm +patch -p1 < $__TIZEN_CROSSDIR/tizen.patch +echo "</dev/null; then + VERBOSE=0 +fi + +Log() +{ + if [ $VERBOSE -ge $1 ]; then + echo ${@:2} + fi +} + +Inform() +{ + Log 1 -e "\x1B[0;34m$@\x1B[m" +} + +Debug() +{ + Log 2 -e "\x1B[0;32m$@\x1B[m" +} + +Error() +{ + >&2 Log 0 -e "\x1B[0;31m$@\x1B[m" +} + +Fetch() +{ + URL=$1 + FILE=$2 + PROGRESS=$3 + if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then + CURL_OPT="--progress-bar" + else + CURL_OPT="--silent" + fi + curl $CURL_OPT $URL > $FILE +} + +hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; } +hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; } +hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; } + +TMPDIR=$1 +if [ ! -d $TMPDIR ]; then + TMPDIR=./tizen_tmp + Debug "Create temporary directory : $TMPDIR" + mkdir -p $TMPDIR +fi + +TIZEN_URL=http://download.tizen.org/snapshots/tizen +BUILD_XML=build.xml +REPOMD_XML=repomd.xml +PRIMARY_XML=primary.xml +TARGET_URL="http://__not_initialized" + +Xpath_get() +{ + XPATH_RESULT='' + XPATH=$1 + XML_FILE=$2 + RESULT=$(xmllint --xpath $XPATH $XML_FILE) + if [[ -z ${RESULT// } ]]; then + Error "Can not find target from $XML_FILE" + Debug "Xpath = $XPATH" + exit 1 + fi + XPATH_RESULT=$RESULT +} + +fetch_tizen_pkgs_init() +{ + TARGET=$1 + PROFILE=$2 + Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE" + + TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs + if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi + mkdir -p $TMP_PKG_DIR + + PKG_URL=$TIZEN_URL/$PROFILE/latest + + BUILD_XML_URL=$PKG_URL/$BUILD_XML + TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML + TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML + TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML + TMP_PRIMARYGZ=${TMP_PRIMARY}.gz + + Fetch $BUILD_XML_URL $TMP_BUILD + + Debug "fetch $BUILD_XML_URL to $TMP_BUILD" + + TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()" + Xpath_get $TARGET_XPATH $TMP_BUILD + TARGET_PATH=$XPATH_RESULT + TARGET_URL=$PKG_URL/$TARGET_PATH + + REPOMD_URL=$TARGET_URL/repodata/repomd.xml + PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)' + + Fetch $REPOMD_URL $TMP_REPOMD + + Debug "fetch $REPOMD_URL to $TMP_REPOMD" + + Xpath_get $PRIMARY_XPATH $TMP_REPOMD + PRIMARY_XML_PATH=$XPATH_RESULT + PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH + + Fetch $PRIMARY_URL $TMP_PRIMARYGZ + + Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ" + + gunzip $TMP_PRIMARYGZ + + Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY" +} + +fetch_tizen_pkgs() +{ + ARCH=$1 + PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)' + + PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())' + + for pkg in ${@:2} + do + Inform "Fetching... $pkg" + XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg} + XPATH=${XPATH/_ARCH_/$ARCH} + Xpath_get $XPATH $TMP_PRIMARY + PKG_PATH=$XPATH_RESULT + + XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg} + XPATH=${XPATH/_ARCH_/$ARCH} + Xpath_get $XPATH $TMP_PRIMARY + CHECKSUM=$XPATH_RESULT + + PKG_URL=$TARGET_URL/$PKG_PATH + PKG_FILE=$(basename $PKG_PATH) + PKG_PATH=$TMPDIR/$PKG_FILE + + Debug "Download $PKG_URL to $PKG_PATH" + Fetch $PKG_URL $PKG_PATH true + + echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null + if [ $? -ne 0 ]; then + Error "Fail to fetch $PKG_URL to $PKG_PATH" + Debug "Checksum = $CHECKSUM" + exit 1 + fi + done +} + +Inform "Initialize arm base" +fetch_tizen_pkgs_init standard base +Inform "fetch common packages" +fetch_tizen_pkgs armv7hl gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils +Inform "fetch coreclr packages" +fetch_tizen_pkgs armv7hl lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu +Inform "fetch corefx packages" +fetch_tizen_pkgs armv7hl libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel + +Inform "Initialize standard unified" +fetch_tizen_pkgs_init standard unified +Inform "fetch corefx packages" +fetch_tizen_pkgs armv7hl gssdp gssdp-devel tizen-release + diff --git a/eng/common/cross/arm/tizen/tizen.patch b/eng/common/cross/arm/tizen/tizen.patch new file mode 100644 index 000000000..fb12ade72 --- /dev/null +++ b/eng/common/cross/arm/tizen/tizen.patch @@ -0,0 +1,9 @@ +diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so +--- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900 ++++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900 +@@ -2,4 +2,4 @@ + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ + OUTPUT_FORMAT(elf32-littlearm) +-GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) ) ++GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-armhf.so.3 ) ) diff --git a/eng/common/cross/armv6/sources.list.buster b/eng/common/cross/armv6/sources.list.buster new file mode 100644 index 000000000..f27fc4fb3 --- /dev/null +++ b/eng/common/cross/armv6/sources.list.buster @@ -0,0 +1,2 @@ +deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi +deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 5c05b39f1..5a59dcff2 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -4,12 +4,13 @@ set -e usage() { - echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir ]" + echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" echo "BuildArch can be: arm(default), armel, arm64, x86" - echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine, alpine3.9 or alpine3.13. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." - echo " for FreeBSD can be: freebsd11, freebsd12, freebsd13" + echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine, alpine3.13 or alpine3.14. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." + echo " for FreeBSD can be: freebsd12, freebsd13" echo " for illumos can be: illumos." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD" + echo "llvmx[.y] - optional, LLVM version for LLVM related packages." echo "--skipunmount - optional, will skip the unmount of rootfs folder." echo "--use-mirror - optional, use mirror URL to fetch resources, when available." exit 1 @@ -32,9 +33,9 @@ __UbuntuPackages="build-essential" __AlpinePackages="alpine-base" __AlpinePackages+=" build-base" __AlpinePackages+=" linux-headers" -__AlpinePackagesEdgeCommunity=" lldb-dev" -__AlpinePackagesEdgeMain+=" python3" -__AlpinePackagesEdgeMain+=" libedit" +__AlpinePackages+=" lldb-dev" +__AlpinePackages+=" python3" +__AlpinePackages+=" libedit" # symlinks fixer __UbuntuPackages+=" symlinks" @@ -48,6 +49,7 @@ __AlpinePackages+=" gettext-dev" __AlpinePackages+=" icu-dev" __AlpinePackages+=" libunwind-dev" __AlpinePackages+=" lttng-ust-dev" +__AlpinePackages+=" compiler-rt-static" # CoreFX dependencies __UbuntuPackages+=" libcurl4-openssl-dev" @@ -60,13 +62,13 @@ __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" -__FreeBSDBase="12.2-RELEASE" -__FreeBSDPkg="1.12.0" +__FreeBSDBase="12.3-RELEASE" +__FreeBSDPkg="1.17.0" __FreeBSDABI="12" __FreeBSDPackages="libunwind" __FreeBSDPackages+=" icu" __FreeBSDPackages+=" libinotify" -__FreeBSDPackages+=" lttng-ust" +__FreeBSDPackages+=" openssl" __FreeBSDPackages+=" krb5" __FreeBSDPackages+=" terminfo-db" @@ -99,6 +101,15 @@ while :; do __AlpineArch=armv7 __QEMUArch=arm ;; + armv6) + __BuildArch=armv6 + __UbuntuArch=armhf + __QEMUArch=arm + __UbuntuRepo="http://raspbian.raspberrypi.org/raspbian/" + __CodeName=buster + __LLDB_Package="liblldb-6.0-dev" + __Keyring="/usr/share/keyrings/raspbian-archive-keyring.gpg" + ;; arm64) __BuildArch=arm64 __UbuntuArch=arm64 @@ -111,6 +122,15 @@ while :; do __UbuntuRepo="http://ftp.debian.org/debian/" __CodeName=jessie ;; + ppc64le) + __BuildArch=ppc64le + __UbuntuArch=ppc64el + __UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/" + __UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libunwind8-dev//') + __UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libomp-dev//') + __UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libomp5//') + unset __LLDB_Package + ;; s390x) __BuildArch=s390x __UbuntuArch=s390x @@ -146,6 +166,15 @@ while :; do no-lldb) unset __LLDB_Package ;; + llvm*) + version="$(echo "$lowerI" | tr -d '[:alpha:]-=')" + parts=(${version//./ }) + __LLVM_MajorVersion="${parts[0]}" + __LLVM_MinorVersion="${parts[1]}" + if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then + __LLVM_MinorVersion=0; + fi + ;; xenial) # Ubuntu 16.04 if [ "$__CodeName" != "jessie" ]; then __CodeName=xenial @@ -176,8 +205,8 @@ while :; do __LLDB_Package="liblldb-6.0-dev" ;; tizen) - if [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ]; then - echo "Tizen is available only for armel and arm64." + if [ "$__BuildArch" != "arm" ] && [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ] && [ "$__BuildArch" != "x86" ] ; then + echo "Tizen is available only for arm, armel, arm64 and x86." usage; exit 1; fi @@ -185,28 +214,18 @@ while :; do __UbuntuRepo= __Tizen=tizen ;; - alpine|alpine3.9) - __CodeName=alpine - __UbuntuRepo= - __AlpineVersion=3.9 - __AlpinePackagesEdgeMain+=" llvm11-libs" - __AlpinePackagesEdgeMain+=" clang-libs" - ;; - alpine3.13) + alpine|alpine3.13) __CodeName=alpine __UbuntuRepo= __AlpineVersion=3.13 - # Alpine 3.13 has all the packages we need in the 3.13 repository - __AlpinePackages+=$__AlpinePackagesEdgeCommunity - __AlpinePackagesEdgeCommunity= - __AlpinePackages+=$__AlpinePackagesEdgeMain - __AlpinePackagesEdgeMain= __AlpinePackages+=" llvm10-libs" ;; - freebsd11) - __FreeBSDBase="11.3-RELEASE" - __FreeBSDABI="11" - ;& + alpine3.14) + __CodeName=alpine + __UbuntuRepo= + __AlpineVersion=3.14 + __AlpinePackages+=" llvm11-libs" + ;; freebsd12) __CodeName=freebsd __BuildArch=x64 @@ -242,11 +261,21 @@ while :; do shift done +if [ -e "$__Keyring" ]; then + __Keyring="--keyring=$__Keyring" +else + __Keyring="" +fi + if [ "$__BuildArch" == "armel" ]; then __LLDB_Package="lldb-3.5-dev" fi __UbuntuPackages+=" ${__LLDB_Package:-}" +if [ ! -z "$__LLVM_MajorVersion" ]; then + __UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev" +fi + if [ -z "$__RootfsDir" ] && [ ! -z "$ROOTFS_DIR" ]; then __RootfsDir=$ROOTFS_DIR fi @@ -279,20 +308,6 @@ if [[ "$__CodeName" == "alpine" ]]; then -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ add $__AlpinePackages - if [[ -n "$__AlpinePackagesEdgeMain" ]]; then - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeMain - fi - - if [[ -n "$__AlpinePackagesEdgeCommunity" ]]; then - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeCommunity - fi - rm -r $__ApkToolsDir elif [[ "$__CodeName" == "freebsd" ]]; then mkdir -p $__RootfsDir/usr/local/etc @@ -357,7 +372,7 @@ elif [[ "$__CodeName" == "illumos" ]]; then wget -P "$__RootfsDir"/usr/include/netpacket https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/inet/sockmods/netpacket/packet.h wget -P "$__RootfsDir"/usr/include/sys https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/sys/sdt.h elif [[ -n $__CodeName ]]; then - qemu-debootstrap --arch $__UbuntuArch $__CodeName $__RootfsDir $__UbuntuRepo + qemu-debootstrap $__Keyring --arch $__UbuntuArch $__CodeName $__RootfsDir $__UbuntuRepo cp $__CrossDir/$__BuildArch/sources.list.$__CodeName $__RootfsDir/etc/apt/sources.list chroot $__RootfsDir apt-get update chroot $__RootfsDir apt-get -f -y install diff --git a/eng/common/cross/ppc64le/sources.list.bionic b/eng/common/cross/ppc64le/sources.list.bionic new file mode 100644 index 000000000..210955740 --- /dev/null +++ b/eng/common/cross/ppc64le/sources.list.bionic @@ -0,0 +1,11 @@ +deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe +deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe + +deb http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted +deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted + +deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse +deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index ec8971eb0..eaeeab38f 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -3,18 +3,26 @@ set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version) set(CMAKE_SYSTEM_NAME FreeBSD) + set(FREEBSD 1) elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc) set(CMAKE_SYSTEM_NAME SunOS) set(ILLUMOS 1) else() set(CMAKE_SYSTEM_NAME Linux) + set(LINUX 1) endif() set(CMAKE_SYSTEM_VERSION 1) +if(EXISTS ${CROSS_ROOTFS}/etc/tizen-release) + set(TIZEN 1) +elseif(EXISTS ${CROSS_ROOTFS}/android_platform) + set(ANDROID 1) +endif() + if(TARGET_ARCH_NAME STREQUAL "armel") set(CMAKE_SYSTEM_PROCESSOR armv7l) set(TOOLCHAIN "arm-linux-gnueabi") - if("$ENV{__DistroRid}" MATCHES "tizen.*") + if(TIZEN) set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0") endif() elseif(TARGET_ARCH_NAME STREQUAL "arm") @@ -26,6 +34,16 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm") else() set(TOOLCHAIN "arm-linux-gnueabihf") endif() + if(TIZEN) + set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0") + endif() +elseif(TARGET_ARCH_NAME STREQUAL "armv6") + set(CMAKE_SYSTEM_PROCESSOR armv6l) + if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf) + set(TOOLCHAIN "armv6-alpine-linux-musleabihf") + else() + set(TOOLCHAIN "arm-linux-gnueabihf") + endif() elseif(TARGET_ARCH_NAME STREQUAL "arm64") set(CMAKE_SYSTEM_PROCESSOR aarch64) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl) @@ -33,23 +51,29 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") else() set(TOOLCHAIN "aarch64-linux-gnu") endif() - if("$ENV{__DistroRid}" MATCHES "tizen.*") + if(TIZEN) set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0") endif() +elseif(TARGET_ARCH_NAME STREQUAL "ppc64le") + set(CMAKE_SYSTEM_PROCESSOR ppc64le) + set(TOOLCHAIN "powerpc64le-linux-gnu") elseif(TARGET_ARCH_NAME STREQUAL "s390x") set(CMAKE_SYSTEM_PROCESSOR s390x) set(TOOLCHAIN "s390x-linux-gnu") elseif(TARGET_ARCH_NAME STREQUAL "x86") set(CMAKE_SYSTEM_PROCESSOR i686) set(TOOLCHAIN "i686-linux-gnu") -elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + if(TIZEN) + set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0") + endif() +elseif (FREEBSD) set(CMAKE_SYSTEM_PROCESSOR "x86_64") - set(triple "x86_64-unknown-freebsd11") + set(triple "x86_64-unknown-freebsd12") elseif (ILLUMOS) set(CMAKE_SYSTEM_PROCESSOR "x86_64") set(TOOLCHAIN "x86_64-illumos") else() - message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64, s390x and x86 are supported!") + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, armv6, arm64, ppc64le, s390x and x86 are supported!") endif() if(DEFINED ENV{TOOLCHAIN}) @@ -57,7 +81,11 @@ if(DEFINED ENV{TOOLCHAIN}) endif() # Specify include paths -if(DEFINED TIZEN_TOOLCHAIN) +if(TIZEN) + if(TARGET_ARCH_NAME STREQUAL "arm") + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf) + endif() if(TARGET_ARCH_NAME STREQUAL "armel") include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi) @@ -66,9 +94,13 @@ if(DEFINED TIZEN_TOOLCHAIN) include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/) include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu) endif() + if(TARGET_ARCH_NAME STREQUAL "x86") + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu) + endif() endif() -if("$ENV{__DistroRid}" MATCHES "android.*") +if(ANDROID) if(TARGET_ARCH_NAME STREQUAL "arm") set(ANDROID_ABI armeabi-v7a) elseif(TARGET_ARCH_NAME STREQUAL "arm64") @@ -76,7 +108,9 @@ if("$ENV{__DistroRid}" MATCHES "android.*") endif() # extract platform number required by the NDK's toolchain - string(REGEX REPLACE ".*\\.([0-9]+)-.*" "\\1" ANDROID_PLATFORM "$ENV{__DistroRid}") + file(READ "${CROSS_ROOTFS}/android_platform" RID_FILE_CONTENTS) + string(REPLACE "RID=" "" ANDROID_RID "${RID_FILE_CONTENTS}") + string(REGEX REPLACE ".*\\.([0-9]+)-.*" "\\1" ANDROID_PLATFORM "${ANDROID_RID}") set(ANDROID_TOOLCHAIN clang) set(FEATURE_EVENT_TRACE 0) # disable event trace as there is no lttng-ust package in termux repository @@ -85,12 +119,15 @@ if("$ENV{__DistroRid}" MATCHES "android.*") # include official NDK toolchain script include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake) -elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") +elseif(FREEBSD) # we cross-compile by instructing clang set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER_TARGET ${triple}) set(CMAKE_ASM_COMPILER_TARGET ${triple}) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld") elseif(ILLUMOS) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") @@ -142,20 +179,20 @@ function(add_toolchain_linker_flag Flag) set("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT" "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT} ${Flag}" PARENT_SCOPE) endfunction() -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +if(LINUX) add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib/${TOOLCHAIN}") add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}") endif() -if(TARGET_ARCH_NAME STREQUAL "armel") - if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only +if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$") + if(TIZEN) add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") endif() elseif(TARGET_ARCH_NAME STREQUAL "arm64") - if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only + if(TIZEN) add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64") @@ -167,6 +204,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") endif() elseif(TARGET_ARCH_NAME STREQUAL "x86") add_toolchain_linker_flag(-m32) + + if(TIZEN) + add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib") + add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib") + add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + endif() elseif(ILLUMOS) add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib") @@ -174,7 +218,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|s390x)$" AND NOT "$ENV{__DistroRid}" MATCHES "android.*") OR ILLUMOS) +if((TARGET_ARCH_NAME MATCHES "^(arm|armv6|armel|arm64|ppc64le|s390x)$" AND NOT ANDROID) OR ILLUMOS) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) @@ -201,8 +245,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") add_compile_options(-Wno-error=unused-command-line-argument) endif() -if(DEFINED TIZEN_TOOLCHAIN) - if(TARGET_ARCH_NAME MATCHES "^(armel|arm64)$") +if(TIZEN) + if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|x86)$") add_compile_options(-Wno-deprecated-declarations) # compile-time option add_compile_options(-D__extern_always_inline=inline) # compile-time option endif() diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh index 39abdbecd..84c1d0cc2 100755 --- a/eng/common/darc-init.sh +++ b/eng/common/darc-init.sh @@ -53,7 +53,7 @@ fi function InstallDarcCli { local darc_cli_package_name="microsoft.dotnet.darc" - InitializeDotNetCli + InitializeDotNetCli true local dotnet_root=$_InitializeDotNetCli if [ -z "$toolpath" ]; then diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh index fdfeea66e..abd045a32 100755 --- a/eng/common/dotnet-install.sh +++ b/eng/common/dotnet-install.sh @@ -52,16 +52,19 @@ done # Use uname to determine what the CPU is, see https://en.wikipedia.org/wiki/Uname#Examples cpuname=$(uname -m) case $cpuname in - aarch64) + arm64|aarch64) buildarch=arm64 ;; + loongarch64) + buildarch=loongarch64 + ;; amd64|x86_64) buildarch=x64 ;; armv*l) buildarch=arm ;; - i686) + i[3-6]86) buildarch=x86 ;; *) diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1 index db830c00a..24a5e65de 100644 --- a/eng/common/init-tools-native.ps1 +++ b/eng/common/init-tools-native.ps1 @@ -31,6 +31,10 @@ Wait time between retry attempts in seconds .PARAMETER GlobalJsonFile File path to global.json file +.PARAMETER PathPromotion +Optional switch to enable either promote native tools specified in the global.json to the path (in Azure Pipelines) +or break the build if a native tool is not found on the path (on a local dev machine) + .NOTES #> [CmdletBinding(PositionalBinding=$false)] @@ -41,7 +45,8 @@ Param ( [switch] $Force = $False, [int] $DownloadRetries = 5, [int] $RetryWaitTimeInSeconds = 30, - [string] $GlobalJsonFile + [string] $GlobalJsonFile, + [switch] $PathPromotion ) if (!$GlobalJsonFile) { @@ -77,53 +82,98 @@ try { ConvertFrom-Json | Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue if ($NativeTools) { - $NativeTools.PSObject.Properties | ForEach-Object { - $ToolName = $_.Name - $ToolVersion = $_.Value - $LocalInstallerArguments = @{ ToolName = "$ToolName" } - $LocalInstallerArguments += @{ InstallPath = "$InstallBin" } - $LocalInstallerArguments += @{ BaseUri = "$BaseUri" } - $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" } - $LocalInstallerArguments += @{ Version = "$ToolVersion" } + if ($PathPromotion -eq $True) { + if ($env:SYSTEM_TEAMPROJECT) { # check to see if we're in an Azure pipelines build + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value - if ($Verbose) { - $LocalInstallerArguments += @{ Verbose = $True } + if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) { + if ($ToolVersion -eq "latest") { + $ToolVersion = "" + } + $ArcadeToolsDirectory = "C:\arcade-tools" + if (-not (Test-Path $ArcadeToolsDirectory)) { + Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed." + exit 1 + } + $ToolDirectory = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)[0] + if ([string]::IsNullOrWhiteSpace($ToolDirectory)) { + Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image." + exit 1 + } + $BinPathFile = "$($ToolDirectory.FullName)\binpath.txt" + if (-not (Test-Path -Path "$BinPathFile")) { + Write-Error "Unable to find binpath.txt in '$($ToolDirectory.FullName)' ($ToolName $ToolVersion); artifact is either installed incorrectly or is not a bootstrappable tool." + exit 1 + } + $BinPath = Get-Content "$BinPathFile" + $ToolPath = Convert-Path -Path $BinPath + Write-Host "Adding $ToolName to the path ($ToolPath)..." + Write-Host "##vso[task.prependpath]$ToolPath" + } + } + exit 0 + } else { + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value + + if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) { + Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "$ToolName not found on path. Please install $ToolName $ToolVersion before proceeding." + } + } + exit 0 } - if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') { - if($Force) { - $LocalInstallerArguments += @{ Force = $True } + } else { + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value + $LocalInstallerArguments = @{ ToolName = "$ToolName" } + $LocalInstallerArguments += @{ InstallPath = "$InstallBin" } + $LocalInstallerArguments += @{ BaseUri = "$BaseUri" } + $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" } + $LocalInstallerArguments += @{ Version = "$ToolVersion" } + + if ($Verbose) { + $LocalInstallerArguments += @{ Verbose = $True } + } + if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') { + if($Force) { + $LocalInstallerArguments += @{ Force = $True } + } + } + if ($Clean) { + $LocalInstallerArguments += @{ Clean = $True } + } + + Write-Verbose "Installing $ToolName version $ToolVersion" + Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'" + & $InstallerPath @LocalInstallerArguments + if ($LASTEXITCODE -Ne "0") { + $errMsg = "$ToolName installation failed" + if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) { + $showNativeToolsWarning = $true + if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) { + $showNativeToolsWarning = $false + } + if ($showNativeToolsWarning) { + Write-Warning $errMsg + } + $toolInstallationFailure = $true + } else { + # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 + Write-Host $errMsg + exit 1 + } } } - if ($Clean) { - $LocalInstallerArguments += @{ Clean = $True } + + if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) { + # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 + Write-Host 'Native tools bootstrap failed' + exit 1 } - - Write-Verbose "Installing $ToolName version $ToolVersion" - Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'" - & $InstallerPath @LocalInstallerArguments - if ($LASTEXITCODE -Ne "0") { - $errMsg = "$ToolName installation failed" - if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) { - $showNativeToolsWarning = $true - if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) { - $showNativeToolsWarning = $false - } - if ($showNativeToolsWarning) { - Write-Warning $errMsg - } - $toolInstallationFailure = $true - } else { - # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 - Write-Host $errMsg - exit 1 - } - } - } - - if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) { - # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 - Write-Host 'Native tools bootstrap failed' - exit 1 } } else { @@ -139,7 +189,7 @@ try { Write-Host "##vso[task.prependpath]$(Convert-Path -Path $InstallBin)" return $InstallBin } - else { + elseif (-not ($PathPromotion)) { Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message 'Native tools install directory does not exist, installation failed' exit 1 } diff --git a/eng/common/internal/NuGet.config b/eng/common/internal/NuGet.config new file mode 100644 index 000000000..19d3d311b --- /dev/null +++ b/eng/common/internal/NuGet.config @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj index beb9c4648..7f5ce6d60 100644 --- a/eng/common/internal/Tools.csproj +++ b/eng/common/internal/Tools.csproj @@ -8,6 +8,9 @@ + + + diff --git a/eng/common/msbuild.ps1 b/eng/common/msbuild.ps1 index eea19cd84..f041e5ddd 100644 --- a/eng/common/msbuild.ps1 +++ b/eng/common/msbuild.ps1 @@ -6,6 +6,7 @@ Param( [switch] $ci, [switch] $prepareMachine, [switch] $excludePrereleaseVS, + [string] $msbuildEngine = $null, [Parameter(ValueFromRemainingArguments=$true)][String[]]$extraArgs ) diff --git a/eng/common/native/CommonLibrary.psm1 b/eng/common/native/CommonLibrary.psm1 index adf707c8f..ca38268c4 100644 --- a/eng/common/native/CommonLibrary.psm1 +++ b/eng/common/native/CommonLibrary.psm1 @@ -276,7 +276,8 @@ function Get-MachineArchitecture { } if (($ProcessorArchitecture -Eq "AMD64") -Or ($ProcessorArchitecture -Eq "IA64") -Or - ($ProcessorArchitecture -Eq "ARM64")) { + ($ProcessorArchitecture -Eq "ARM64") -Or + ($ProcessorArchitecture -Eq "LOONGARCH64")) { return "x64" } return "x86" diff --git a/eng/common/native/find-native-compiler.sh b/eng/common/native/find-native-compiler.sh deleted file mode 100644 index aed19d07d..000000000 --- a/eng/common/native/find-native-compiler.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env bash -# -# This file locates the native compiler with the given name and version and sets the environment variables to locate it. -# - -source="${BASH_SOURCE[0]}" - -# resolve $SOURCE until the file is no longer a symlink -while [[ -h $source ]]; do - scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" - source="$(readlink "$source")" - - # if $source was a relative symlink, we need to resolve it relative to the path where the - # symlink file was located - [[ $source != /* ]] && source="$scriptroot/$source" -done -scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" - -if [ $# -lt 0 ] -then - echo "Usage..." - echo "find-native-compiler.sh " - echo "Specify the name of compiler (clang or gcc)." - echo "Specify the major version of compiler." - echo "Specify the minor version of compiler." - exit 1 -fi - -. $scriptroot/../pipeline-logging-functions.sh - -compiler="$1" -cxxCompiler="$compiler++" -majorVersion="$2" -minorVersion="$3" - -if [ "$compiler" = "gcc" ]; then cxxCompiler="g++"; fi - -check_version_exists() { - desired_version=-1 - - # Set up the environment to be used for building with the desired compiler. - if command -v "$compiler-$1.$2" > /dev/null; then - desired_version="-$1.$2" - elif command -v "$compiler$1$2" > /dev/null; then - desired_version="$1$2" - elif command -v "$compiler-$1$2" > /dev/null; then - desired_version="-$1$2" - fi - - echo "$desired_version" -} - -if [ -z "$CLR_CC" ]; then - - # Set default versions - if [ -z "$majorVersion" ]; then - # note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero. - if [ "$compiler" = "clang" ]; then versions=( 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 ) - elif [ "$compiler" = "gcc" ]; then versions=( 9 8 7 6 5 4.9 ); fi - - for version in "${versions[@]}"; do - parts=(${version//./ }) - desired_version="$(check_version_exists "${parts[0]}" "${parts[1]}")" - if [ "$desired_version" != "-1" ]; then majorVersion="${parts[0]}"; break; fi - done - - if [ -z "$majorVersion" ]; then - if command -v "$compiler" > /dev/null; then - if [ "$(uname)" != "Darwin" ]; then - Write-PipelineTelemetryError -category "Build" -type "warning" "Specific version of $compiler not found, falling back to use the one in PATH." - fi - export CC="$(command -v "$compiler")" - export CXX="$(command -v "$cxxCompiler")" - else - Write-PipelineTelemetryError -category "Build" "No usable version of $compiler found." - exit 1 - fi - else - if [ "$compiler" = "clang" ] && [ "$majorVersion" -lt 5 ]; then - if [ "$build_arch" = "arm" ] || [ "$build_arch" = "armel" ]; then - if command -v "$compiler" > /dev/null; then - Write-PipelineTelemetryError -category "Build" -type "warning" "Found clang version $majorVersion which is not supported on arm/armel architectures, falling back to use clang from PATH." - export CC="$(command -v "$compiler")" - export CXX="$(command -v "$cxxCompiler")" - else - Write-PipelineTelemetryError -category "Build" "Found clang version $majorVersion which is not supported on arm/armel architectures, and there is no clang in PATH." - exit 1 - fi - fi - fi - fi - else - desired_version="$(check_version_exists "$majorVersion" "$minorVersion")" - if [ "$desired_version" = "-1" ]; then - Write-PipelineTelemetryError -category "Build" "Could not find specific version of $compiler: $majorVersion $minorVersion." - exit 1 - fi - fi - - if [ -z "$CC" ]; then - export CC="$(command -v "$compiler$desired_version")" - export CXX="$(command -v "$cxxCompiler$desired_version")" - if [ -z "$CXX" ]; then export CXX="$(command -v "$cxxCompiler")"; fi - fi -else - if [ ! -f "$CLR_CC" ]; then - Write-PipelineTelemetryError -category "Build" "CLR_CC is set but path '$CLR_CC' does not exist" - exit 1 - fi - export CC="$CLR_CC" - export CXX="$CLR_CXX" -fi - -if [ -z "$CC" ]; then - Write-PipelineTelemetryError -category "Build" "Unable to find $compiler." - exit 1 -fi - -export CCC_CC="$CC" -export CCC_CXX="$CXX" -export SCAN_BUILD_COMMAND="$(command -v "scan-build$desired_version")" diff --git a/eng/common/native/init-compiler.sh b/eng/common/native/init-compiler.sh new file mode 100644 index 000000000..6d7ba15e5 --- /dev/null +++ b/eng/common/native/init-compiler.sh @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# +# This file detects the C/C++ compiler and exports it to the CC/CXX environment variables +# +# NOTE: some scripts source this file and rely on stdout being empty, make sure to not output anything here! + +if [[ "$#" -lt 3 ]]; then + echo "Usage..." + echo "init-compiler.sh