Merge branch 'main' into merge/release/6.0.4xx-to-main

This commit is contained in:
Marc Paine 2022-08-09 14:04:34 -07:00 committed by GitHub
commit eeb9ec1382
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
186 changed files with 2963 additions and 2685 deletions

View file

@ -0,0 +1,23 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet
{
"name": "Source-Build w/ Built Tarball",
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2",
// A completely built .NET source-tarball is >64 GB
"hostRequirements": {
"storage": "128gb"
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-dotnettools.csharp",
"eamodio.gitlens"
]
}
},
// Use 'onCreateCommand' to run pre-build commands inside the codespace.
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/source-build-scripts/buildTarball.sh"
}

View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
./.devcontainer/source-build-scripts/createTarball.sh
cd $(realpath ..)/dotnet-source/
./prep.sh
./build.sh --online --clean-while-building || true

View file

@ -0,0 +1,7 @@
#!/usr/bin/env bash
# Always return exit code 0 so that we can use the codespaces prebuild to diagnose build errors.
./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=$(realpath ..)/dotnet-source/ /p:PreserveTarballGitFolders=true || true
# Save the commit hash of the currently built repo, so developers know which version was built
git rev-parse HEAD > ./artifacts/prebuild.sha

View file

@ -0,0 +1,20 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.238.0/containers/dotnet
{
"name": "Source-Build w/ Tarball",
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2",
// A completely built .NET source tarball is >64 GB
"hostRequirements": {
"storage": "128gb"
},
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csharp",
"eamodio.gitlens"
]
}
},
// Use 'onCreateCommand' to run pre-build commands inside the codespace.
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/scripts/createTarball.sh"
}

View file

@ -0,0 +1,5 @@
// Use this devcontainer if you don't need the full context of a source-build tarball
{
"name": "Source-Build",
"image": "mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2"
}

View file

@ -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,96 +61,86 @@ 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:
matrix:
# Public-only builds
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
Build_Debug_x86:
_BuildConfig: Debug
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
Build_ES_Debug_x64:
Build_Release_x64:
_BuildConfig: Debug
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: es
_AdditionalBuildParameters: ''
_TestArg: ''
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true'
_TestArg: $(_WindowsTestArg)
# Internal-only builds
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true'
_TestArg: $(_WindowsTestArg)
Build_Release_x86:
_BuildConfig: Release
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
# Always run builds
Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true'
_TestArg: $(_WindowsTestArg)
Build_Release_arm:
_BuildConfig: Release
_BuildArchitecture: arm
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
- template: /eng/build.yml
parameters:
agentOs: Windows_NT
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore1ESPool-Svc-Public
demands: ImageOverride -equals build.windows.10.amd64.vs2019.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals build.windows.10.amd64.vs2019
timeoutInMinutes: 180
strategy:
matrix:
# Always run builds
Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true'
# Never run tests on PGO bits
_TestArg: ''
Build_Release_x86:
_BuildConfig: Release
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: ''
pgoInstrument: true
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/build.yml
parameters:
agentOs: Windows_NT
pool:
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals build.windows.10.amd64.vs2019
timeoutInMinutes: 180
strategy:
matrix:
Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true'
# Never run tests on PGO bits
_TestArg: ''
Build_Release_x86:
_BuildConfig: Release
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
pgoInstrument: true
- template: /eng/build.yml
parameters:
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:
@ -163,14 +153,14 @@ stages:
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Fedora_29_Debug_x64:
Build_Fedora_36_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker fedora.29'
_DockerParameter: '--docker fedora.36'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_CentOS_7_1_Debug_x64:
Build_CentOS_7_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker centos'
_LinuxPortable: ''
@ -185,30 +175,6 @@ stages:
_BuildArchitecture: 'x64'
_AdditionalBuildParameters: '/p:BuildSdkDeb=true'
_TestArg: $(_NonWindowsTestArg)
Build_Rhel_7_2_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Rhel_7_2_Release_Arm64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64'
# Never run tests on arm
_TestArg: ''
_AdditionalBuildParameters: '/p:CLIBUILD_SKIP_TESTS=true'
Build_Arm_Debug:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm'
_BuildArchitecture: 'arm'
# Never run tests on arm
_TestArg: ''
Build_Arm64_Debug:
_BuildConfig: Debug
_DockerParameter: ''
@ -217,25 +183,6 @@ stages:
_BuildArchitecture: 'arm64'
# Never run tests on arm64
_TestArg: ''
Build_Linux_musl_Debug_arm:
_BuildConfig: Debug
# linux-musl-arm cross gen depends on glibc 2.27 (this OS has it)
_DockerParameter: '--docker ubuntu.18.04'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-arm'
_BuildArchitecture: 'arm'
_AdditionalBuildParameters: '/p:OSName="linux-musl"'
# Never run tests on arm
_TestArg: ''
Build_Linux_musl_Debug_arm64:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-arm64'
_BuildArchitecture: 'arm64'
_AdditionalBuildParameters: '/p:OSName="linux-musl"'
# Never run tests on arm64
_TestArg: ''
Build_Linux_musl_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker alpine.3.15'
@ -301,7 +248,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 +258,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'
@ -328,28 +275,32 @@ stages:
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
- template: /eng/build.yml
parameters:
agentOs: Linux
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore1ESPool-Svc-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
timeoutInMinutes: 180
strategy:
matrix:
# Always run builds
Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: ''
pgoInstrument: true
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/build.yml
parameters:
agentOs: Linux
pool:
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
timeoutInMinutes: 180
strategy:
matrix:
Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
pgoInstrument: true
- template: /eng/build.yml
parameters:
@ -364,12 +315,13 @@ stages:
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Release_arm64:
_BuildConfig: Release
_RuntimeIdentifier: '--runtime-id osx-arm64'
_BuildArchitecture: 'arm64'
# Never run tests on arm64
_TestArg: ''
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Release_arm64:
_BuildConfig: Release
_RuntimeIdentifier: '--runtime-id osx-arm64'
_BuildArchitecture: 'arm64'
# Never run tests on arm64
_TestArg: ''
- template: /eng/common/templates/jobs/source-build.yml

View file

@ -24,7 +24,7 @@
<DebugSymbols>true</DebugSymbols>
<IsShipping>true</IsShipping>
<CoreSdkTargetFramework>net6.0</CoreSdkTargetFramework>
<CoreSdkTargetFramework>net7.0</CoreSdkTargetFramework>
<!-- MSB3243 and MSB3247 fire when attempting to resolve references to the same assembly from different cultures.
This is a prevalent problem in building the precomputed assembly reference cache. Limiting the assemblies resolved

View file

@ -5,20 +5,6 @@
</solution>
<packageSources>
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-aspnetcore -->
<!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-emsdk -->
<!-- End: Package sources from dotnet-emsdk -->
<!-- Begin: Package sources from DotNet-msbuild-Trusted -->
<!-- End: Package sources from DotNet-msbuild-Trusted -->
<!-- Begin: Package sources from dotnet-runtime -->
<!-- End: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-templating -->
<!-- End: Package sources from dotnet-templating -->
<!-- Begin: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-windowsdesktop -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
@ -28,6 +14,8 @@
<add key="dotnet5-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json" />
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
<add key="dotnet6-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
<add key="dotnet7-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7-transport/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<!-- Temporary feed for Xamarin workload manifest -->
<add key="xamarin" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
@ -37,13 +25,9 @@
<!-- Begin: Package sources from dotnet-aspnetcore -->
<!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-templating -->
<!-- End: Package sources from dotnet-templating -->
<!-- Begin: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-windowsdesktop -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
</disabledPackageSources>
</configuration>

720
README.md
View file

@ -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.
@ -107,15 +107,23 @@ 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.
**Note:** Be aware that the following installers are the **latest bits**. If you
want to install the latest released versions, check out the [preceding section](#looking-for-released-versions-of-the-net-core-tooling).
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**
```
<configuration>
<packageSources>
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
</packageSources>
</configuration>
```
**For .NET 6 builds**
@ -126,9 +134,9 @@ With development builds, internal NuGet feeds are necessary for some scenarios (
</packageSources>
</configuration>
```
**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.
@ -139,463 +147,269 @@ We strongly recommend using `--skip-manifest-update` with `dotnet workload insta
</packageSources>
</configuration>
```
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.
**For .NET 5 builds**
### Table
```
<configuration>
<packageSources>
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
</packageSources>
</configuration>
```
**For .NET 3.1 builds**
```
<configuration>
<packageSources>
<add key="dotnet3.1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json" />
</packageSources>
</configuration>
```
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.
| Platform | Release/6.0.1XX<br>(6.0.x&nbsp;Runtime) | Release/6.0.1XX-rc1<br>(6.0 Runtime) | Release/5.0.4XX<br>(5.0 Runtime) | Release/5.0.2XX<br>(5.0 Runtime) | Release/3.1.4XX<br>(3.1.x Runtime) | Release/3.1.1XX<br>(3.1.x Runtime) |
| :--------- | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: |
| **Windows x64** | [![][win-x64-badge-6.0.1XX]][win-x64-version-6.0.1XX]<br>[Installer][win-x64-installer-6.0.1XX] - [Checksum][win-x64-installer-checksum-6.0.1XX]<br>[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]<br>[Installer][win-x64-installer-6.0.1XX-rc1] - [Checksum][win-x64-installer-checksum-6.0.1XX-rc1]<br>[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]<br>[Installer][win-x64-installer-5.0.4XX] - [Checksum][win-x64-installer-checksum-5.0.4XX]<br>[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]<br>[Installer][win-x64-installer-5.0.2XX] - [Checksum][win-x64-installer-checksum-5.0.2XX]<br>[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]<br>[Installer][win-x64-installer-3.1.4XX] - [Checksum][win-x64-installer-checksum-3.1.4XX]<br>[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]<br>[Installer][win-x64-installer-3.1.1XX] - [Checksum][win-x64-installer-checksum-3.1.1XX]<br>[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]<br>[Installer][win-x86-installer-6.0.1XX] - [Checksum][win-x86-installer-checksum-6.0.1XX]<br>[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]<br>[Installer][win-x86-installer-6.0.1XX-rc1] - [Checksum][win-x86-installer-checksum-6.0.1XX-rc1]<br>[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]<br>[Installer][win-x86-installer-5.0.4XX] - [Checksum][win-x86-installer-checksum-5.0.4XX]<br>[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]<br>[Installer][win-x86-installer-5.0.2XX] - [Checksum][win-x86-installer-checksum-5.0.2XX]<br>[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]<br>[Installer][win-x86-installer-3.1.4XX] - [Checksum][win-x86-installer-checksum-3.1.4XX]<br>[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]<br>[Installer][win-x86-installer-3.1.1XX] - [Checksum][win-x86-installer-checksum-3.1.1XX]<br>[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]<br>[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]<br>[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]<br>[Installer][win-arm64-installer-6.0.1XX] - [Checksum][win-arm64-installer-checksum-6.0.1XX]<br>[zip][win-arm64-zip-6.0.1XX] | [![][win-arm64-badge-6.0.1XX-rc1]][win-arm64-version-6.0.1XX-rc1]<br>[Installer][win-arm64-installer-6.0.1XX-rc1] - [Checksum][win-arm64-installer-checksum-6.0.1XX-rc1]<br>[zip][win-arm64-zip-6.0.1XX-rc1] | [![][win-arm64-badge-5.0.4XX]][win-arm64-version-5.0.4XX]<br>[Installer][win-arm64-installer-5.0.4XX] - [Checksum][win-arm64-installer-checksum-5.0.4XX]<br>[zip][win-arm64-zip-5.0.4XX] | [![][win-arm64-badge-5.0.2XX]][win-arm64-version-5.0.2XX]<br>[Installer][win-arm64-installer-5.0.2XX] - [Checksum][win-arm64-installer-checksum-5.0.2XX]<br>[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]<br>[Installer][osx-x64-installer-6.0.1XX] - [Checksum][osx-x64-installer-checksum-6.0.1XX]<br>[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]<br>[Installer][osx-x64-installer-6.0.1XX-rc1] - [Checksum][osx-x64-installer-checksum-6.0.1XX-rc1]<br>[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]<br>[Installer][osx-x64-installer-5.0.4XX] - [Checksum][osx-x64-installer-checksum-5.0.4XX]<br>[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]<br>[Installer][osx-x64-installer-5.0.2XX] - [Checksum][osx-x64-installer-checksum-5.0.2XX]<br>[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]<br>[Installer][osx-x64-installer-3.1.4XX] - [Checksum][osx-x64-installer-checksum-3.1.4XX]<br>[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]<br>[Installer][osx-x64-installer-3.1.1XX] - [Checksum][osx-x64-installer-checksum-3.1.1XX]<br>[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]<br>[Installer][osx-arm64-installer-6.0.1XX] - [Checksum][osx-arm64-installer-checksum-6.0.1XX]<br>[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]<br>[Installer][osx-arm64-installer-6.0.1XX-rc1] - [Checksum][osx-arm64-installer-checksum-6.0.1XX-rc1]<br>[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]<br>[DEB Installer][linux-DEB-installer-6.0.1XX] - [Checksum][linux-DEB-installer-checksum-6.0.1XX]<br>[RPM Installer][linux-RPM-installer-6.0.1XX] - [Checksum][linux-RPM-installer-checksum-6.0.1XX]<br>_see installer note below_<sup>1</sup><br>[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]<br>[DEB Installer][linux-DEB-installer-6.0.1XX-rc1] - [Checksum][linux-DEB-installer-checksum-6.0.1XX-rc1]<br>[RPM Installer][linux-RPM-installer-6.0.1XX-rc1] - [Checksum][linux-RPM-installer-checksum-6.0.1XX-rc1]<br>_see installer note below_<sup>1</sup><br>[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]<br>[DEB Installer][linux-DEB-installer-5.0.4XX] - [Checksum][linux-DEB-installer-checksum-5.0.4XX]<br>[RPM Installer][linux-RPM-installer-5.0.4XX] - [Checksum][linux-RPM-installer-checksum-5.0.4XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-5.0.4XX] - [Checksum][linux-targz-checksum-5.0.4XX] | [![][linux-badge-5.0.2XX]][linux-version-5.0.2XX]<br>[DEB Installer][linux-DEB-installer-5.0.2XX] - [Checksum][linux-DEB-installer-checksum-5.0.2XX]<br>[RPM Installer][linux-RPM-installer-5.0.2XX] - [Checksum][linux-RPM-installer-checksum-5.0.2XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-5.0.2XX] - [Checksum][linux-targz-checksum-5.0.2XX] | [![][linux-badge-3.1.4XX]][linux-version-3.1.4XX]<br>[DEB Installer][linux-DEB-installer-3.1.4XX] - [Checksum][linux-DEB-installer-checksum-3.1.4XX]<br>[RPM Installer][linux-RPM-installer-3.1.4XX] - [Checksum][linux-RPM-installer-checksum-3.1.4XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-3.1.4XX] - [Checksum][linux-targz-checksum-3.1.4XX] | [![][linux-badge-3.1.1XX]][linux-version-3.1.1XX]<br>[DEB Installer][linux-DEB-installer-3.1.1XX] - [Checksum][linux-DEB-installer-checksum-3.1.1XX]<br>[RPM Installer][linux-RPM-installer-3.1.1XX] - [Checksum][linux-RPM-installer-checksum-3.1.1XX]<br>_see installer note below_<sup>1</sup><br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[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]<br>[tar.gz][rhel-6-targz-3.1.1XX] - [Checksum][rhel-6-targz-checksum-3.1.1XX] |
| Platform | main<br>(7.0.x&nbsp;Runtime) | Release/7.0.1xx-preview7<br>(7.0.x&nbsp;Runtime) | Release/6.0.4XX<br>(6.0.x&nbsp;Runtime) |
| :--------- | :----------: | :----------: | :----------: |
| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]<br>[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]<br>[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-7.0.1XX-preview7]][win-x64-version-7.0.1XX-preview7]<br>[Installer][win-x64-installer-7.0.1XX-preview7] - [Checksum][win-x64-installer-checksum-7.0.1XX-preview7]<br>[zip][win-x64-zip-7.0.1XX-preview7] - [Checksum][win-x64-zip-checksum-7.0.1XX-preview7] | [![][win-x64-badge-6.0.4XX]][win-x64-version-6.0.4XX]<br>[Installer][win-x64-installer-6.0.4XX] - [Checksum][win-x64-installer-checksum-6.0.4XX]<br>[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]<br>[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]<br>[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-7.0.1XX-preview7]][win-x86-version-7.0.1XX-preview7]<br>[Installer][win-x86-installer-7.0.1XX-preview7] - [Checksum][win-x86-installer-checksum-7.0.1XX-preview7]<br>[zip][win-x86-zip-7.0.1XX-preview7] - [Checksum][win-x86-zip-checksum-7.0.1XX-preview7] | [![][win-x86-badge-6.0.4XX]][win-x86-version-6.0.4XX]<br>[Installer][win-x86-installer-6.0.4XX] - [Checksum][win-x86-installer-checksum-6.0.4XX]<br>[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]<br>[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]<br>[zip][win-arm64-zip-main] | [![][win-arm64-badge-7.0.1XX-preview7]][win-arm64-version-7.0.1XX-preview7]<br>[Installer][win-arm64-installer-7.0.1XX-preview7] - [Checksum][win-arm64-installer-checksum-7.0.1XX-preview7]<br>[zip][win-arm64-zip-7.0.1XX-preview7] | [![][win-arm64-badge-6.0.4XX]][win-arm64-version-6.0.4XX]<br>[Installer][win-arm64-installer-6.0.4XX] - [Checksum][win-arm64-installer-checksum-6.0.4XX]<br>[zip][win-arm64-zip-6.0.4XX] |
| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]<br>[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]<br>[tar.gz][osx-x64-targz-main] - [Checksum][osx-x64-targz-checksum-main] | [![][osx-x64-badge-7.0.1XX-preview7]][osx-x64-version-7.0.1XX-preview7]<br>[Installer][osx-x64-installer-7.0.1XX-preview7] - [Checksum][osx-x64-installer-checksum-7.0.1XX-preview7]<br>[tar.gz][osx-x64-targz-7.0.1XX-preview7] - [Checksum][osx-x64-targz-checksum-7.0.1XX-preview7] | [![][osx-x64-badge-6.0.4XX]][osx-x64-version-6.0.4XX]<br>[Installer][osx-x64-installer-6.0.4XX] - [Checksum][osx-x64-installer-checksum-6.0.4XX]<br>[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]<br>[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]<br>[tar.gz][osx-arm64-targz-main] - [Checksum][osx-arm64-targz-checksum-main] | [![][osx-arm64-badge-7.0.1XX-preview7]][osx-arm64-version-7.0.1XX-preview7]<br>[Installer][osx-arm64-installer-7.0.1XX-preview7] - [Checksum][osx-arm64-installer-checksum-7.0.1XX-preview7]<br>[tar.gz][osx-arm64-targz-7.0.1XX-preview7] - [Checksum][osx-arm64-targz-checksum-7.0.1XX-preview7] | [![][osx-arm64-badge-6.0.4XX]][osx-arm64-version-6.0.4XX]<br>[Installer][osx-arm64-installer-6.0.4XX] - [Checksum][osx-arm64-installer-checksum-6.0.4XX]<br>[tar.gz][osx-arm64-targz-6.0.4XX] - [Checksum][osx-arm64-targz-checksum-6.0.4XX] |
| **Linux x64** | [![][linux-badge-main]][linux-version-main]<br>[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]<br>[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-7.0.1XX-preview7]][linux-version-7.0.1XX-preview7]<br>[DEB Installer][linux-DEB-installer-7.0.1XX-preview7] - [Checksum][linux-DEB-installer-checksum-7.0.1XX-preview7]<br>[RPM Installer][linux-RPM-installer-7.0.1XX-preview7] - [Checksum][linux-RPM-installer-checksum-7.0.1XX-preview7]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.1XX-preview7] - [Checksum][linux-targz-checksum-7.0.1XX-preview7] | [![][linux-badge-6.0.4XX]][linux-version-6.0.4XX]<br>[DEB Installer][linux-DEB-installer-6.0.4XX] - [Checksum][linux-DEB-installer-checksum-6.0.4XX]<br>[RPM Installer][linux-RPM-installer-6.0.4XX] - [Checksum][linux-RPM-installer-checksum-6.0.4XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-6.0.4XX] - [Checksum][linux-targz-checksum-6.0.4XX] |
| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]<br>[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] | [![][linux-arm-badge-7.0.1XX-preview7]][linux-arm-version-7.0.1XX-preview7]<br>[tar.gz][linux-arm-targz-7.0.1XX-preview7] - [Checksum][linux-arm-targz-checksum-7.0.1XX-preview7] | [![][linux-arm-badge-6.0.4XX]][linux-arm-version-6.0.4XX]<br>[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]<br>[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] | [![][linux-arm64-badge-7.0.1XX-preview7]][linux-arm64-version-7.0.1XX-preview7]<br>[tar.gz][linux-arm64-targz-7.0.1XX-preview7] - [Checksum][linux-arm64-targz-checksum-7.0.1XX-preview7] | [![][linux-arm64-badge-6.0.4XX]][linux-arm64-version-6.0.4XX]<br>[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]<br>[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-7.0.1XX-preview7]][linux-musl-x64-version-7.0.1XX-preview7]<br>[tar.gz][linux-musl-x64-targz-7.0.1XX-preview7] - [Checksum][linux-musl-x64-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-x64-badge-6.0.4XX]][linux-musl-x64-version-6.0.4XX]<br>[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]<br>[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-7.0.1XX-preview7]][linux-musl-arm-version-7.0.1XX-preview7]<br>[tar.gz][linux-musl-arm-targz-7.0.1XX-preview7] - [Checksum][linux-musl-arm-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-arm-badge-6.0.4XX]][linux-musl-arm-version-6.0.4XX]<br>[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]<br>[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-7.0.1XX-preview7]][linux-musl-arm64-version-7.0.1XX-preview7]<br>[tar.gz][linux-musl-arm64-targz-7.0.1XX-preview7] - [Checksum][linux-musl-arm64-targz-checksum-7.0.1XX-preview7] | [![][linux-musl-arm64-badge-6.0.4XX]][linux-musl-arm64-version-6.0.4XX]<br>[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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_x64_Release_version_badge.svg
[win-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-x64.txt
[win-x64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.exe
[win-x64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.exe.sha
[win-x64-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x64.zip
[win-x64-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_x86_Release_version_badge.svg
[win-x86-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-x86.txt
[win-x86-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.exe
[win-x86-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.exe.sha
[win-x86-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.zip
[win-x86-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_x64_Release_version_badge.svg
[osx-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-x64.txt
[osx-x64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg
[osx-x64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg.sha
[osx-x64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.tar.gz
[osx-x64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_arm64_Release_version_badge.svg
[osx-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-arm64.txt
[osx-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg
[osx-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg.sha
[osx-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.tar.gz
[osx-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_x64_Release_version_badge.svg
[linux-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-x64.txt
[linux-DEB-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.deb
[linux-DEB-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.deb.sha
[linux-RPM-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.rpm
[linux-RPM-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.rpm.sha
[linux-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-x64.tar.gz
[linux-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_arm_Release_version_badge.svg
[linux-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-arm.txt
[linux-arm-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm.tar.gz
[linux-arm-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_arm64_Release_version_badge.svg
[linux-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-arm64.txt
[linux-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm64.tar.gz
[linux-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/rhel.6_x64_Release_version_badge.svg
[rhel-6-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-rhel.6-x64.txt
[rhel-6-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-rhel.6-x64.tar.gz
[rhel-6-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_x64_Release_version_badge.svg
[linux-musl-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-x64.txt
[linux-musl-x64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-musl-x64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm_Release_version_badge.svg
[linux-musl-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-arm.txt
[linux-musl-arm-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm.tar.gz
[linux-musl-arm-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm64_Release_version_badge.svg
[linux-musl-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-arm64.txt
[linux-musl-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-musl-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm_Release_version_badge.svg
[win-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-arm.txt
[win-arm-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm.zip
[win-arm-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm64_Release_version_badge.svg
[win-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-arm64.txt
[win-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe
[win-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe.sha
[win-arm64-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.zip
[win-arm64-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
</PropertyGroup>
</Project>

View file

@ -1,12 +1,19 @@
<Project>
<ItemGroup>
<!-- Do not sign non-shipping packages when doing in-build signing -->
<ItemsToSign Remove="$(ArtifactsNonShippingPackagesDir)**\*.nupkg" Condition="'$(PostBuildSign)' != 'true'" />
<!-- Remove the wixpacks from items to sign post build. These will be added explicitly by the
custom publishing target. And should not be picked up by arcade's default publishing logic. -->
<ItemsToSignPostBuild Remove="*.wixpack.zip" />
</ItemGroup>
<ItemGroup Condition="'$(PostBuildSign)' != 'true'">
<ItemsToSign Remove="@(ItemsToSign)" />
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.zip" Condition=" '$(PublishBinariesAndBadge)' == 'true' " />
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.exe" />
<ItemsToSign Include="$(ArtifactsShippingPackagesDir)*.msi" />
<ItemsToSign Include="$(ArtifactsNonShippingPackagesDir)*.msi" />
<ItemsToSign Include="$(ArtifactsNonShippingPackagesDir)*.zip" Condition=" '$(PublishBinariesAndBadge)' == 'true' " />
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.wixpack.zip" />
</ItemGroup>
<PropertyGroup>
<ExternalCertificateId Condition="'$(ExternalCertificateId)' == ''">3PartySHA2</ExternalCertificateId>

View file

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>657c81c5cd1ec6a66f64f3103d53047087a65163</Sha>
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="7.0.0-rc.1.22379.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>d5046afdd2d0e6234ae3fc5bd4ae878594079cc7</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.6.0" Version="6.0.7-servicing.22322.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>657c81c5cd1ec6a66f64f3103d53047087a65163</Sha>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.7.0" Version="7.0.0-rc.1.22379.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>d5046afdd2d0e6234ae3fc5bd4ae878594079cc7</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.6.0" Version="6.0.7-servicing.22322.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>657c81c5cd1ec6a66f64f3103d53047087a65163</Sha>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.7.0" Version="7.0.0-rc.1.22379.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>d5046afdd2d0e6234ae3fc5bd4ae878594079cc7</Sha>
</Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri>
<Sha>657c81c5cd1ec6a66f64f3103d53047087a65163</Sha>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="7.0.0-rc.1.22379.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>d5046afdd2d0e6234ae3fc5bd4ae878594079cc7</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.7-servicing.22322.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.7.0" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.6.0" Version="6.0.7-servicing.22322.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.7.0" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
<SourceBuildTarball RepoName="runtime" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<!-- Change blob version in GenerateLayout.targets if this is unpinned to service targeting pack -->
<!-- No new netstandard.library planned for 3.1 timeframe at this time. -->
@ -48,112 +48,116 @@
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="6.0.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha>
<Dependency Name="Microsoft.NETCore.Platforms" Version="7.0.0-rc.1.22403.8" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>26a71c61fbda229f151afb14e274604b4926df5c</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="6.0.7-servicing.22322.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="6.0.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
<SourceBuildTarball RepoName="aspnetcore" ManagedOnly="true" />
</Dependency>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.6.0" Version="6.0.7-servicing.22322.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="dotnet-dev-certs" Version="6.0.7-servicing.22322.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="dotnet-dev-certs" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="dotnet-user-secrets" Version="6.0.7-servicing.22322.5" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri>
<Sha>773e8cc3fbdc2c4ffbd57c1f53f21649ef94c35c</Sha>
<Dependency Name="dotnet-user-jwts" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22207.1">
<Dependency Name="dotnet-user-secrets" Version="7.0.0-rc.1.22404.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>80ea57377a90fa2750f46662be3642b59ad0feed</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22406.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha>
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.0.2-beta4.22207.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.0.2-beta4.22406.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha>
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.0.2-beta4.22207.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.0.2-beta4.22406.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha>
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.0.2-beta4.22406.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="6.0.400-preview.22358.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="7.0.100-rc.1.22404.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/templating</Uri>
<Sha>d8d193bf161de2a50a251035e4f9df2e2e85d7e7</Sha>
<Sha>225ce682f0578db2db5644df5e7024276b39785e</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="6.0.400-preview.22358.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="7.0.100-rc.1.22404.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/templating</Uri>
<Sha>d8d193bf161de2a50a251035e4f9df2e2e85d7e7</Sha>
<Sha>225ce682f0578db2db5644df5e7024276b39785e</Sha>
<SourceBuild RepoName="templating" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Common.ProjectTemplates.6.0" Version="6.0.400-preview.22358.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/templating</Uri>
<Sha>d8d193bf161de2a50a251035e4f9df2e2e85d7e7</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk" Version="6.0.400-preview.22364.3">
<Dependency Name="Microsoft.NET.Sdk" Version="7.0.100-rc.1.22404.18">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>4445b8be251722225295d23ad8c7607b294ba353</Sha>
<Sha>6e00e543bbeb8e0491420e2f6b3f7d235166596d</Sha>
<SourceBuild RepoName="sdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="6.0.400-preview.22364.3">
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="7.0.100-rc.1.22404.18">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>4445b8be251722225295d23ad8c7607b294ba353</Sha>
<Sha>6e00e543bbeb8e0491420e2f6b3f7d235166596d</Sha>
</Dependency>
<!-- For coherency purposes, these versions should be gated by the versions of winforms and wpf routed via windowsdesktop -->
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="6.0.7-servicing.22322.3" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-winforms</Uri>
<Sha>24977050704b627e631caf7b1ca4bcb0543f3ab2</Sha>
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="7.0.0-rc.1.22377.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/winforms</Uri>
<Sha>55b296932065022705a6af218ab04a9d90049a28</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="6.0.7-servicing.22322.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-wpf</Uri>
<Sha>5063a17b211e70ca0ff6fed1b57e9d04727c25a8</Sha>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="7.0.0-rc.1.22379.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/wpf</Uri>
<Sha>cd58f79f496337e608662e168c80ac8abd0d151b</Sha>
</Dependency>
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.0.4-beta.22363.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.0.6-beta.22403.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>1b94f89d4d1f41f20f9be73c76f4b229d4e49078</Sha>
<Sha>fa2b1d3ec056f43f64c07c800efa28ab396c2e38</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="6.0.5-beta.22363.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="6.0.6-beta.22403.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>1b94f89d4d1f41f20f9be73c76f4b229d4e49078</Sha>
<Sha>fa2b1d3ec056f43f64c07c800efa28ab396c2e38</Sha>
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.3.0-release-20220708-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.4.0-preview-20220727-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/microsoft/vstest</Uri>
<Sha>c7ba2ca721808f830482ace6be06ae93077e0e7b</Sha>
<Sha>63149fdc913835956b51759399e0d0ede3ad0ac3</Sha>
<SourceBuildTarball RepoName="vstest" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="6.0.200-1.22219.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="7.0.100-1.22377.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/linker</Uri>
<Sha>28db36b95cf83c8e2ad11e67a2ad0de301b4cad6</Sha>
<Sha>f09bacf09ef10b61cf9f19825f8782171a816dab</Sha>
<SourceBuild RepoName="linker" ManagedOnly="true" />
<RepoName>linker</RepoName>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.3.0-3.22363.19" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.4.0-1.22404.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>8b86c2058266c6069e71705623fe9f3b26b648cf</Sha>
<Sha>83ae84b2a99a0bb1cb83525db21d467b99fd0159</Sha>
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Build" Version="17.3.0-preview-22330-02" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Build" Version="17.4.0-preview-22403-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>77c72dd0f1758e994cf2ebd2ddd6d1ada695d261</Sha>
<Sha>4e58a8330e87412ff43ebe71712394aadfdee208</Sha>
<SourceBuildTarball RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="NuGet.Build.Tasks" Version="6.3.0-rc.128" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="NuGet.Build.Tasks" Version="6.4.0-preview.1.34" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/nuget/nuget.client</Uri>
<Sha>222ff7a5329be15520034b76fa1a84098d2ae9fd</Sha>
<Sha>421801a875b876882ffe24d87e7ea0862bb1b41f</Sha>
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.ApplicationInsights" Version="2.0.0">
@ -166,23 +170,13 @@
<Sha>698fdad58fa64a55f16cd9562c90224cc498ed02</Sha>
<SourceBuildTarball RepoName="xdt" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-6.0.300" Version="6.0.4">
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="7.0.0-rc.1.22368.1" CoherentParentDependency="VS.Redist.Common.NetCore.SharedFramework.x64.7.0">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>52e9452f82e26f9fcae791e84c082ae22f1ef66f</Sha>
<Sha>7b2cd1ee7169143248a7da9fd749caf22affa624</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build" Version="0.1.0-alpha.1.21519.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/source-build</Uri>
<Sha>10d0f7e94aa45889155c312f51cfc01bf326b853</Sha>
<SourceBuild RepoName="source-build" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Cli.CommandLine" Version="1.0.0-preview.21310.2">
<Uri>https://github.com/dotnet/clicommandlineparser</Uri>
<Sha>3198bf5660cad3dab85f5475bf1fda9688146e3f</Sha>
<SourceBuildTarball RepoName="clicommandlineparser" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.247101">
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.0-preview5.1.22263.1">
<Uri>https://github.com/dotnet/deployment-tools</Uri>
<Sha>7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6</Sha>
<Sha>c3ad00ae84489071080a606f6a8e43c9a91a5cc2</Sha>
<SourceBuildTarball RepoName="deployment-tools" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.diagnostics" Version="5.0.0-preview.21506.1">
@ -190,6 +184,11 @@
<Sha>ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1</Sha>
<SourceBuildTarball RepoName="diagnostics" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="7.0.0-alpha.1.22408.1">
<Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>6f5f48cccd982448d5568744dd6656fe4421c6dc</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="1.4.0-beta2-21475-02">
<Uri>https://github.com/dotnet/symreader</Uri>
<Sha>7b9791daa3a3477eb22ec805946c9fff8b42d8ca</Sha>
@ -197,33 +196,32 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22314.7">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22408.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
<Sha>13b342360ba81ca3fdf911fda985dc8420d51627</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.22314.7">
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="7.0.0-beta.22408.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
<Sha>13b342360ba81ca3fdf911fda985dc8420d51627</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22314.7">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="7.0.0-beta.22408.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
<Sha>13b342360ba81ca3fdf911fda985dc8420d51627</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.22405.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="7.0.0-alpha.1.22408.1">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>3e4a01565292638b4e9841bd4a93f00155ccdebe</Sha>
<Sha>ddc5b4880b0bf18783fc6808c4d407214f7bdae1</Sha>
<SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceLink.GitHub" Version="1.1.0-beta-21480-02" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Dependency Name="Microsoft.SourceLink.GitHub" Version="1.2.0-beta-22407-01" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/sourcelink</Uri>
<Sha>8031e5220baf2acad991e661d8308b783d2acf3e</Sha>
<Sha>ec063efc0c81f061ec3a91e343f135135cd27418</Sha>
<SourceBuild RepoName="sourcelink" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.21431.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.22407.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/xliff-tasks</Uri>
<Sha>bc3233146e1fcd393ed471d5005333c83363e0fe</Sha>
<Sha>e1f318960e0e5dbea923349c8aea12f58626fdfa</Sha>
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
</Dependency>
</ToolsetDependencies>

View file

@ -5,38 +5,46 @@
<UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies>
</PropertyGroup>
<PropertyGroup>
<VersionMajor>6</VersionMajor>
<VersionMajor>7</VersionMajor>
<VersionMinor>0</VersionMinor>
<VersionSDKMinor>4</VersionSDKMinor>
<VersionFeature>01</VersionFeature>
<VersionSDKMinor>1</VersionSDKMinor>
<VersionFeature>00</VersionFeature>
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel>
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
<!-- Enable to remove prerelease label. -->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion>
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
</PropertyGroup>
<!-- Restore feeds -->
<PropertyGroup Label="Restore feeds">
<!-- In an orchestrated build, this may be overridden to other Azure feeds. -->
<DotNetAssetRootUrl Condition="'$(DotNetAssetRootUrl)'==''">https://dotnetbuilds.blob.core.windows.net/public/</DotNetAssetRootUrl>
<DotNetPrivateAssetRootUrl Condition="'$(DotNetPrivateAssetRootUrl)'==''">https://dotnetclimsrc.blob.core.windows.net/dotnet/</DotNetPrivateAssetRootUrl>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>7.0.0-beta.22408.3</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms -->
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>6.0.7-servicing.22322.3</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>7.0.0-rc.1.22377.2</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/wpf -->
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>6.0.7-servicing.22322.2</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>7.0.0-rc.1.22379.2</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/templating -->
<MicrosoftDotNetCommonItemTemplatesPackageVersion>6.0.400-preview.22358.2</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftDotNetCommonItemTemplatesPackageVersion>7.0.100-rc.1.22404.7</MicrosoftDotNetCommonItemTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates -->
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
@ -44,44 +52,45 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>6.0.7</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>6.0.7</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>6.0.7-servicing.22322.5</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6460PackageVersion>6.0.7-servicing.22322.5</VSRedistCommonAspNetCoreSharedFrameworkx6460PackageVersion>
<dotnetdevcertsPackageVersion>6.0.7-servicing.22322.5</dotnetdevcertsPackageVersion>
<dotnetusersecretsPackageVersion>6.0.7-servicing.22322.5</dotnetusersecretsPackageVersion>
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>7.0.0-rc.1.22404.6</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>7.0.0-rc.1.22404.6</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>7.0.0-rc.1.22404.6</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion>7.0.0-rc.1.22404.6</VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion>
<dotnetdevcertsPackageVersion>7.0.0-rc.1.22404.6</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>7.0.0-rc.1.22404.6</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>7.0.0-rc.1.22404.6</dotnetusersecretsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sdk -->
<MicrosoftNETSdkPackageVersion>6.0.400-preview.22364.3</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>6.0.400-preview.22364.3</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETSdkPackageVersion>7.0.100-rc.1.22404.18</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>7.0.100-rc.1.22404.18</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/corefx -->
<MicrosoftNETCorePlatformsPackageVersion>6.0.5</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>7.0.0-rc.1.22403.8</MicrosoftNETCorePlatformsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/core-setup -->
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.7-servicing.22322.2</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6460PackageVersion>6.0.7-servicing.22322.2</VSRedistCommonNetCoreTargetingPackx6460PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>6.0.7</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>6.0.7</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>6.0.7</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>6.0.7</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion>7.0.0-rc.1.22403.8</VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6470PackageVersion>7.0.0-rc.1.22403.8</VSRedistCommonNetCoreTargetingPackx6470PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>7.0.0-rc.1.22403.8</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>7.0.0-rc.1.22403.8</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>7.0.0-rc.1.22403.8</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>7.0.0-rc.1.22403.8</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
<VSRedistCommonWindowsDesktopSharedFrameworkx6460PackageVersion>6.0.7-servicing.22322.3</VSRedistCommonWindowsDesktopSharedFrameworkx6460PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6460PackageVersion>6.0.7-servicing.22322.3</VSRedistCommonWindowsDesktopTargetingPackx6460PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>6.0.7</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>6.0.7</MicrosoftWindowsDesktopAppRefPackageVersion>
<VSRedistCommonWindowsDesktopSharedFrameworkx6470PackageVersion>7.0.0-rc.1.22379.3</VSRedistCommonWindowsDesktopSharedFrameworkx6470PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6470PackageVersion>7.0.0-rc.1.22379.3</VSRedistCommonWindowsDesktopTargetingPackx6470PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>7.0.0-rc.1.22379.3</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>7.0.0-rc.1.22379.3</MicrosoftWindowsDesktopAppRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
@ -97,10 +106,10 @@
</PropertyGroup>
<PropertyGroup>
<!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.3</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.0-rc.2.20474.4</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.403</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.13</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.1</MicrosoftAspNetCoreAppRuntime60PackageVersion>
</PropertyGroup>
<PropertyGroup>
<HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion>
@ -110,16 +119,23 @@
<WixPackageVersion>1.0.0-v3.14.0.5722</WixPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- 7.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>$(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)</MicrosoftDotnetWinFormsProjectTemplates70PackageVersion>
<MicrosoftDotNetWpfProjectTemplates70PackageVersion>$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)</MicrosoftDotNetWpfProjectTemplates70PackageVersion>
<NUnit3Templates70PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates70PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftDotNetCommonProjectTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonProjectTemplates70PackageVersion>
<AspNetCorePackageVersionFor70Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor70Templates>
<!-- 6.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>
<MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion>
<NUnit3Templates60PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>6.0.400-preview.22358.2</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor60Templates>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>6.0.8</AspNetCorePackageVersionFor60Templates>
<!-- 5.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
<NUnit3Templates50PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates50PackageVersion>$(MicrosoftDotNetCommonItemTemplates50PackageVersion)</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftDotNetCommonProjectTemplates50PackageVersion>$(MicrosoftDotNetCommonItemTemplates50PackageVersion)</MicrosoftDotNetCommonProjectTemplates50PackageVersion>
@ -128,7 +144,7 @@
<MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>4.8.1-servicing.19605.5</MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>
<MicrosoftDotNetWpfProjectTemplates31PackageVersion>3.1.2-servicing.20066.4</MicrosoftDotNetWpfProjectTemplates31PackageVersion>
<NUnit3Templates31PackageVersion>1.7.2</NUnit3Templates31PackageVersion>
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.15</MicrosoftDotNetCommonItemTemplates31PackageVersion>
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.27</MicrosoftDotNetCommonItemTemplates31PackageVersion>
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
<AspNetCorePackageVersionFor31Templates>3.1.28</AspNetCorePackageVersionFor31Templates>
@ -145,14 +161,14 @@
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
<MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion>
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates21PackageVersion>
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates21PackageVersion>
<AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates>
</PropertyGroup>
<!-- infrastructure and test only dependencies -->
<PropertyGroup>
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
<MicrosoftNETTestSdkVersion>17.3.0-release-20220708-01</MicrosoftNETTestSdkVersion>
<MicrosoftNETTestSdkVersion>17.4.0-preview-20220727-01</MicrosoftNETTestSdkVersion>
</PropertyGroup>
<!-- dependencies for source-build tarball -->
<PropertyGroup>
@ -174,7 +190,8 @@
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
necessary, and this property is removed from the file.
-->
<PrivateSourceBuiltArtifactsPackageVersion>6.0.107</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-7.0.100-bootstrap.10</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltPrebuiltsPackageVersion>0.1.0-7.0.100-3</PrivateSourceBuiltPrebuiltsPackageVersion>
</PropertyGroup>
<!-- Workload manifest package versions -->
<PropertyGroup>
@ -184,13 +201,20 @@
<XamarinMacCatalystWorkloadManifestVersion>15.4.303</XamarinMacCatalystWorkloadManifestVersion>
<XamarinMacOSWorkloadManifestVersion>12.3.303</XamarinMacOSWorkloadManifestVersion>
<XamarinTvOSWorkloadManifestVersion>15.4.303</XamarinTvOSWorkloadManifestVersion>
<MonoWorkloadManifestVersion>6.0.5</MonoWorkloadManifestVersion>
<MicrosoftNETWorkloadEmscriptenManifest60200Version>6.0.4</MicrosoftNETWorkloadEmscriptenManifest60200Version>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenManifest60200Version)</EmscriptenWorkloadManifestVersion>
<MonoWorkloadManifestVersion>$(MicrosoftNETCoreAppRefPackageVersion)</MonoWorkloadManifestVersion>
<MicrosoftNETWorkloadEmscriptenManifest70100Version>7.0.0-rc.1.22368.1</MicrosoftNETWorkloadEmscriptenManifest70100Version>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenManifest70100Version)</EmscriptenWorkloadManifestVersion>
</PropertyGroup>
<PropertyGroup>
<!-- pinned dependency. This package is not being produced outside of the 2.0 branch of corefx and should not change. -->
<CLI_NETStandardLibraryNETFrameworkVersion>2.0.1-servicing-26011-01</CLI_NETStandardLibraryNETFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<!--
pinned dependency. This package is not being produced outside of the 2.0 branch of corefx and should not change.
If changed, the Microsoft.Deployment.DotNet.Releases dependency in Version.Details.xml must be updated to be kept in sync.
-->
<DotNetDeploymentReleasesPackageVersion>1.0.0-preview5.1.22263.1</DotNetDeploymentReleasesPackageVersion>
</PropertyGroup>
<Import Project="$(RepositoryEngineeringDir)ManualVersions.props" />
</Project>

View file

@ -146,22 +146,22 @@ $userName = "dn-bot"
# Insert credential nodes for Maestro's private feeds
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password
# 3.1 uses a different feed url format so it's handled differently here
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
if ($dotnet31Source -ne $null) {
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
}
$dotnet5Source = $sources.SelectSingleNode("add[@key='dotnet5']")
if ($dotnet5Source -ne $null) {
AddPackageSource -Sources $sources -SourceName "dotnet5-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
AddPackageSource -Sources $sources -SourceName "dotnet5-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
}
$dotnetVersions = @('5','6','7')
$dotnet6Source = $sources.SelectSingleNode("add[@key='dotnet6']")
if ($dotnet6Source -ne $null) {
AddPackageSource -Sources $sources -SourceName "dotnet6-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet6-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
AddPackageSource -Sources $sources -SourceName "dotnet6-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet6-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
foreach ($dotnetVersion in $dotnetVersions) {
$feedPrefix = "dotnet" + $dotnetVersion;
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
if ($dotnetSource -ne $null) {
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
}
}
$doc.Save($filename)

View file

@ -105,53 +105,33 @@ if [ "$?" == "0" ]; then
PackageSources+=('dotnet3.1-internal-transport')
fi
# Ensure dotnet5-internal and dotnet5-internal-transport are in the packageSources if the public dotnet5 feeds are present
grep -i "<add key=\"dotnet5\"" $ConfigFile
if [ "$?" == "0" ]; then
grep -i "<add key=\"dotnet5-internal\"" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding dotnet5-internal to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"dotnet5-internal\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal/nuget/v2\" />"
DotNetVersions=('5' '6' '7')
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
for DotNetVersion in ${DotNetVersions[@]} ; do
FeedPrefix="dotnet${DotNetVersion}";
grep -i "<add key=\"$FeedPrefix\"" $ConfigFile
if [ "$?" == "0" ]; then
grep -i "<add key=\"$FeedPrefix-internal\"" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding $FeedPrefix-internal to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"$FeedPrefix-internal\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/v2\" />"
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
fi
PackageSources+=("$FeedPrefix-internal")
grep -i "<add key=\"$FeedPrefix-internal-transport\">" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding $FeedPrefix-internal-transport to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"$FeedPrefix-internal-transport\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/v2\" />"
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
fi
PackageSources+=("$FeedPrefix-internal-transport")
fi
PackageSources+=('dotnet5-internal')
grep -i "<add key=\"dotnet5-internal-transport\">" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding dotnet5-internal-transport to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"dotnet5-internal-transport\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal-transport/nuget/v2\" />"
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
fi
PackageSources+=('dotnet5-internal-transport')
fi
# Ensure dotnet6-internal and dotnet6-internal-transport are in the packageSources if the public dotnet6 feeds are present
grep -i "<add key=\"dotnet6\"" $ConfigFile
if [ "$?" == "0" ]; then
grep -i "<add key=\"dotnet6-internal\"" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding dotnet6-internal to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"dotnet6-internal\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet6-internal/nuget/v2\" />"
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
fi
PackageSources+=('dotnet6-internal')
grep -i "<add key=\"dotnet6-internal-transport\">" $ConfigFile
if [ "$?" != "0" ]; then
echo "Adding dotnet6-internal-transport to the packageSources."
PackageSourcesNodeFooter="</packageSources>"
PackageSourceTemplate="${TB}<add key=\"dotnet6-internal-transport\" value=\"https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet6-internal-transport/nuget/v2\" />"
sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
fi
PackageSources+=('dotnet6-internal-transport')
fi
done
# I want things split line by line
PrevIFS=$IFS

View file

@ -19,6 +19,9 @@ usage()
echo "Actions:"
echo " --restore Restore dependencies (short: -r)"
echo " --build Build solution (short: -b)"
echo " --sourceBuild Source-build the solution (short: -sb)"
echo " Will additionally trigger the following actions: --restore, --build, --pack"
echo " If --configuration is not set explicitly, will also set it to 'Release'"
echo " --rebuild Rebuild solution"
echo " --test Run all unit tests in the solution (short: -t)"
echo " --integrationTest Run all integration tests in the solution"
@ -55,6 +58,7 @@ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
restore=false
build=false
source_build=false
rebuild=false
test=false
integration_test=false
@ -73,7 +77,7 @@ exclude_ci_binary_log=false
pipelines_log=false
projects=''
configuration='Debug'
configuration=''
prepare_machine=false
verbosity='minimal'
runtime_source_feed=''
@ -119,6 +123,12 @@ while [[ $# > 0 ]]; do
-pack)
pack=true
;;
-sourcebuild|-sb)
build=true
source_build=true
restore=true
pack=true
;;
-test|-t)
test=true
;;
@ -168,6 +178,10 @@ while [[ $# > 0 ]]; do
shift
done
if [[ -z "$configuration" ]]; then
if [[ "$source_build" = true ]]; then configuration="Release"; else configuration="Debug"; fi
fi
if [[ "$ci" == true ]]; then
pipelines_log=true
node_reuse=false
@ -187,7 +201,6 @@ function InitializeCustomToolset {
}
function Build {
InitializeToolset
InitializeCustomToolset
@ -206,6 +219,7 @@ function Build {
/p:RepoRoot="$repo_root" \
/p:Restore=$restore \
/p:Build=$build \
/p:ArcadeBuildFromSource=$source_build \
/p:Rebuild=$rebuild \
/p:Test=$test \
/p:Pack=$pack \

View file

@ -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 "<<Finish downloading files"
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 "<<Finish constructing Tizen rootfs"
# Cleanup tmp
rm -rf $TIZEN_TMP_DIR
# Configure Tizen rootfs
echo ">>Start configuring Tizen rootfs"
ln -sfn asm-arm ./usr/include/asm
patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
echo "<<Finish configuring Tizen rootfs"

View file

@ -0,0 +1,170 @@
#!/usr/bin/env bash
set -e
if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/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

View file

@ -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 ) )

View file

@ -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

View file

@ -4,12 +4,13 @@ set -e
usage()
{
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir <directory>]"
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 "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
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
@ -17,9 +18,11 @@ usage()
__CodeName=xenial
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
__InitialDir=$PWD
__BuildArch=arm
__AlpineArch=armv7
__FreeBSDArch=arm
__FreeBSDMachineArch=armv7
__IllumosArch=arm7
__QEMUArch=arm
__UbuntuArch=armhf
__UbuntuRepo="http://ports.ubuntu.com/"
@ -32,14 +35,14 @@ __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"
# CoreCLR and CoreFX dependencies
# runtime dependencies
__UbuntuPackages+=" libicu-dev"
__UbuntuPackages+=" liblttng-ust-dev"
__UbuntuPackages+=" libunwind8-dev"
@ -48,8 +51,9 @@ __AlpinePackages+=" gettext-dev"
__AlpinePackages+=" icu-dev"
__AlpinePackages+=" libunwind-dev"
__AlpinePackages+=" lttng-ust-dev"
__AlpinePackages+=" compiler-rt-static"
# CoreFX dependencies
# runtime libraries' dependencies
__UbuntuPackages+=" libcurl4-openssl-dev"
__UbuntuPackages+=" libkrb5-dev"
__UbuntuPackages+=" libssl-dev"
@ -60,13 +64,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"
@ -79,17 +83,18 @@ __IllumosPackages+=" zlib-1.2.11"
__UbuntuPackages+=" libomp5"
__UbuntuPackages+=" libomp-dev"
__Keyring=
__UseMirror=0
__UnprocessedBuildArgs=
while :; do
if [ $# -le 0 ]; then
if [[ "$#" -le 0 ]]; then
break
fi
lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")"
lowerI="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case $lowerI in
-?|-h|--help)
-\?|-h|--help)
usage
exit 1
;;
@ -104,6 +109,8 @@ while :; do
__UbuntuArch=arm64
__AlpineArch=aarch64
__QEMUArch=aarch64
__FreeBSDArch=arm64
__FreeBSDMachineArch=aarch64
;;
armel)
__BuildArch=armel
@ -111,6 +118,39 @@ while :; do
__UbuntuRepo="http://ftp.debian.org/debian/"
__CodeName=jessie
;;
armv6)
__BuildArch=armv6
__UbuntuArch=armhf
__QEMUArch=arm
__UbuntuRepo="http://raspbian.raspberrypi.org/raspbian/"
__CodeName=buster
__LLDB_Package="liblldb-6.0-dev"
if [[ -e "/usr/share/keyrings/raspbian-archive-keyring.gpg" ]]; then
__Keyring="--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
fi
;;
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
;;
riscv64)
__BuildArch=riscv64
__UbuntuArch=riscv64
__UbuntuRepo="http://deb.debian.org/debian-ports"
__CodeName=sid
__UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libunwind8-dev//')
unset __LLDB_Package
if [[ -e "/usr/share/keyrings/debian-ports-archive-keyring.gpg" ]]; then
__Keyring="--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
fi
;;
s390x)
__BuildArch=s390x
__UbuntuArch=s390x
@ -120,6 +160,14 @@ while :; do
__UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libomp5//')
unset __LLDB_Package
;;
x64)
__BuildArch=x64
__UbuntuArch=amd64
__FreeBSDArch=amd64
__FreeBSDMachineArch=amd64
__illumosArch=x86_64
__UbuntuRepo=
;;
x86)
__BuildArch=x86
__UbuntuArch=i386
@ -146,18 +194,27 @@ 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
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=xenial
fi
;;
zesty) # Ubuntu 17.04
if [ "$__CodeName" != "jessie" ]; then
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=zesty
fi
;;
bionic) # Ubuntu 18.04
if [ "$__CodeName" != "jessie" ]; then
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=bionic
fi
;;
@ -176,52 +233,34 @@ while :; do
__LLDB_Package="liblldb-6.0-dev"
;;
tizen)
if [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ]; then
echo "Tizen is available only for armel and arm64."
usage;
exit 1;
fi
__CodeName=
__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
__SkipUnmount=1
;;
freebsd13)
__CodeName=freebsd
__FreeBSDBase="13.0-RELEASE"
__FreeBSDABI="13"
__BuildArch=x64
__SkipUnmount=1
;;
illumos)
__CodeName=illumos
__BuildArch=x64
__SkipUnmount=1
;;
--skipunmount)
@ -229,7 +268,7 @@ while :; do
;;
--rootfsdir|-rootfsdir)
shift
__RootfsDir=$1
__RootfsDir="$1"
;;
--use-mirror)
__UseMirror=1
@ -242,75 +281,66 @@ while :; do
shift
done
if [ "$__BuildArch" == "armel" ]; then
if [[ "$__BuildArch" == "armel" ]]; then
__LLDB_Package="lldb-3.5-dev"
fi
__UbuntuPackages+=" ${__LLDB_Package:-}"
if [ -z "$__RootfsDir" ] && [ ! -z "$ROOTFS_DIR" ]; then
__RootfsDir=$ROOTFS_DIR
if [[ -n "$__LLVM_MajorVersion" ]]; then
__UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev"
fi
if [ -z "$__RootfsDir" ]; then
if [[ -z "$__RootfsDir" && -n "$ROOTFS_DIR" ]]; then
__RootfsDir="$ROOTFS_DIR"
fi
if [[ -z "$__RootfsDir" ]]; then
__RootfsDir="$__CrossDir/../../../.tools/rootfs/$__BuildArch"
fi
if [ -d "$__RootfsDir" ]; then
if [ $__SkipUnmount == 0 ]; then
umount $__RootfsDir/* || true
if [[ -d "$__RootfsDir" ]]; then
if [[ "$__SkipUnmount" == "0" ]]; then
umount "$__RootfsDir"/* || true
fi
rm -rf $__RootfsDir
rm -rf "$__RootfsDir"
fi
mkdir -p $__RootfsDir
mkdir -p "$__RootfsDir"
__RootfsDir="$( cd "$__RootfsDir" && pwd )"
if [[ "$__CodeName" == "alpine" ]]; then
__ApkToolsVersion=2.9.1
__ApkToolsDir=$(mktemp -d)
wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir
tar -xf $__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -C $__ApkToolsDir
mkdir -p $__RootfsDir/usr/bin
cp -v /usr/bin/qemu-$__QEMUArch-static $__RootfsDir/usr/bin
__ApkToolsDir="$(mktemp -d)"
wget "https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz" -P "$__ApkToolsDir"
tar -xf "$__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz" -C "$__ApkToolsDir"
mkdir -p "$__RootfsDir"/usr/bin
cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin"
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
"$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk" \
-X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community" \
-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
rm -r "$__ApkToolsDir"
elif [[ "$__CodeName" == "freebsd" ]]; then
mkdir -p $__RootfsDir/usr/local/etc
mkdir -p "$__RootfsDir"/usr/local/etc
JOBS="$(getconf _NPROCESSORS_ONLN)"
wget -O - https://download.freebsd.org/ftp/releases/amd64/${__FreeBSDBase}/base.txz | tar -C $__RootfsDir -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
echo "ABI = \"FreeBSD:${__FreeBSDABI}:amd64\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > ${__RootfsDir}/usr/local/etc/pkg.conf
echo "FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > ${__RootfsDir}/etc/pkg/FreeBSD.conf
mkdir -p $__RootfsDir/tmp
wget -O - "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf
echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
mkdir -p "$__RootfsDir"/tmp
# get and build package manager
wget -O - https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz | tar -C $__RootfsDir/tmp -zxf -
cd $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
wget -O - "https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz" | tar -C "$__RootfsDir"/tmp -zxf -
cd "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# needed for install to succeed
mkdir -p $__RootfsDir/host/etc
./autogen.sh && ./configure --prefix=$__RootfsDir/host && make -j "$JOBS" && make install
rm -rf $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
mkdir -p "$__RootfsDir"/host/etc
./autogen.sh && ./configure --prefix="$__RootfsDir"/host && make -j "$JOBS" && make install
rm -rf "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# install packages we need.
INSTALL_AS_USER=$(whoami) $__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf update
INSTALL_AS_USER=$(whoami) $__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update
INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
elif [[ "$__CodeName" == "illumos" ]]; then
mkdir "$__RootfsDir/tmp"
pushd "$__RootfsDir/tmp"
@ -320,7 +350,7 @@ elif [[ "$__CodeName" == "illumos" ]]; then
echo "Building binutils. Please wait.."
wget -O - https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
mkdir build-binutils && cd build-binutils
../binutils-2.33.1/configure --prefix="$__RootfsDir" --target="x86_64-sun-solaris2.10" --program-prefix="x86_64-illumos-" --with-sysroot="$__RootfsDir"
../binutils-2.33.1/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir"
make -j "$JOBS" && make install && cd ..
echo "Building gcc. Please wait.."
wget -O - https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
@ -330,7 +360,7 @@ elif [[ "$__CodeName" == "illumos" ]]; then
CFLAGS_FOR_TARGET="-fPIC"
export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET
mkdir build-gcc && cd build-gcc
../gcc-8.4.0/configure --prefix="$__RootfsDir" --target="x86_64-sun-solaris2.10" --program-prefix="x86_64-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
../gcc-8.4.0/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
--disable-libquadmath-support --disable-shared --enable-tls
make -j "$JOBS" && make install && cd ..
@ -338,7 +368,7 @@ elif [[ "$__CodeName" == "illumos" ]]; then
if [[ "$__UseMirror" == 1 ]]; then
BaseUrl=http://pkgsrc.smartos.skylime.net
fi
BaseUrl="$BaseUrl"/packages/SmartOS/2020Q1/x86_64/All
BaseUrl="$BaseUrl/packages/SmartOS/2020Q1/${__illumosArch}/All"
echo "Downloading dependencies."
read -ra array <<<"$__IllumosPackages"
for package in "${array[@]}"; do
@ -356,26 +386,26 @@ elif [[ "$__CodeName" == "illumos" ]]; then
wget -P "$__RootfsDir"/usr/include/net https://raw.githubusercontent.com/illumos/illumos-gate/master/usr/src/uts/common/io/bpf/net/dlt.h
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
cp $__CrossDir/$__BuildArch/sources.list.$__CodeName $__RootfsDir/etc/apt/sources.list
chroot $__RootfsDir apt-get update
chroot $__RootfsDir apt-get -f -y install
chroot $__RootfsDir apt-get -y install $__UbuntuPackages
chroot $__RootfsDir symlinks -cr /usr
chroot $__RootfsDir apt-get clean
elif [[ -n "$__CodeName" ]]; then
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
chroot "$__RootfsDir" apt-get -y install $__UbuntuPackages
chroot "$__RootfsDir" symlinks -cr /usr
chroot "$__RootfsDir" apt-get clean
if [ $__SkipUnmount == 0 ]; then
umount $__RootfsDir/* || true
if [[ "$__SkipUnmount" == "0" ]]; then
umount "$__RootfsDir"/* || true
fi
if [[ "$__BuildArch" == "armel" && "$__CodeName" == "jessie" ]]; then
pushd $__RootfsDir
patch -p1 < $__CrossDir/$__BuildArch/armel.jessie.patch
pushd "$__RootfsDir"
patch -p1 < "$__CrossDir/$__BuildArch/armel.jessie.patch"
popd
fi
elif [[ "$__Tizen" == "tizen" ]]; then
ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh
ROOTFS_DIR="$__RootfsDir" "$__CrossDir/$__BuildArch/tizen-build-rootfs.sh"
else
echo "Unsupported target platform."
usage;

View file

@ -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

View file

@ -0,0 +1 @@
deb http://deb.debian.org/debian-ports sid main

View file

@ -3,21 +3,23 @@ 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(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if("$ENV{__DistroRid}" MATCHES "tizen.*")
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm")
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 "arm")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv7-alpine-linux-musleabihf)
set(TOOLCHAIN "armv7-alpine-linux-musleabihf")
@ -26,30 +28,63 @@ 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 "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl)
set(TOOLCHAIN "aarch64-alpine-linux-musl")
else()
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
endif()
if("$ENV{__DistroRid}" MATCHES "tizen.*")
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/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 "ppc64le")
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
set(TOOLCHAIN "powerpc64le-linux-gnu")
elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
set(CMAKE_SYSTEM_PROCESSOR riscv64)
set(TOOLCHAIN "riscv64-linux-gnu")
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
set(CMAKE_SYSTEM_PROCESSOR s390x)
set(TOOLCHAIN "s390x-linux-gnu")
elseif(TARGET_ARCH_NAME STREQUAL "x64")
set(CMAKE_SYSTEM_PROCESSOR x86_64)
if(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
elseif(ILLUMOS)
set(TOOLCHAIN "x86_64-illumos")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(CMAKE_SYSTEM_PROCESSOR i686)
set(TOOLCHAIN "i686-linux-gnu")
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(triple "x86_64-unknown-freebsd11")
elseif (ILLUMOS)
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(TOOLCHAIN "x86_64-illumos")
if(TIZEN)
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
endif()
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 arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
endif()
if(DEFINED ENV{TOOLCHAIN})
@ -57,7 +92,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 +105,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 +119,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 +130,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 +190,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 +215,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 +229,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|arm64|armel|armv6|ppc64le|riscv64|s390x)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS)
set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
@ -201,8 +256,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()

View file

@ -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

View file

@ -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
;;
*)

View file

@ -10,9 +10,7 @@ Param(
Set-StrictMode -Version 2.0
$ErrorActionPreference = "Stop"
. $PSScriptRoot\tools.ps1
Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
. $PSScriptRoot\pipeline-logging-functions.ps1
$exclusionsFilePath = "$SourcesDirectory\eng\Localize\LocExclusions.json"
$exclusions = @{ Exclusions = @() }
@ -28,7 +26,7 @@ $jsonFiles = @()
$jsonTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\.template\.config\\localize\\.+\.en\.json" } # .NET templating pattern
$jsonTemplateFiles | ForEach-Object {
$null = $_.Name -Match "(.+)\.[\w-]+\.json" # matches '[filename].[langcode].json
$destinationFile = "$($_.Directory.FullName)\$($Matches.1).json"
$jsonFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru
}
@ -46,7 +44,7 @@ if ($allXlfFiles) {
}
$langXlfFiles | ForEach-Object {
$null = $_.Name -Match "(.+)\.[\w-]+\.xlf" # matches '[filename].[langcode].xlf
$destinationFile = "$($_.Directory.FullName)\$($Matches.1).xlf"
$xlfFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru
}
@ -59,7 +57,7 @@ $locJson = @{
LanguageSet = $LanguageSet
LocItems = @(
$locFiles | ForEach-Object {
$outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")"
$outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")"
$continue = $true
foreach ($exclusion in $exclusions.Exclusions) {
if ($outputPath.Contains($exclusion))
@ -108,10 +106,10 @@ else {
if ((Get-FileHash "$SourcesDirectory\eng\Localize\LocProject-generated.json").Hash -ne (Get-FileHash "$SourcesDirectory\eng\Localize\LocProject.json").Hash) {
Write-PipelineTelemetryError -Category "OneLocBuild" -Message "Existing LocProject.json differs from generated LocProject.json. Download LocProject-generated.json and compare them."
exit 1
}
else {
Write-Host "Generated LocProject.json and current LocProject.json are identical."
}
}
}

View file

@ -2,6 +2,8 @@ Param(
[Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed
)
. $PSScriptRoot\pipeline-logging-functions.ps1
Write-Host "Creating dir $ManifestDirPath"
# create directory for sbom manifest to be placed
if (!(Test-Path -path $ManifestDirPath))

View file

@ -2,6 +2,18 @@
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 )"
. $scriptroot/pipeline-logging-functions.sh
manifest_dir=$1
if [ ! -d "$manifest_dir" ] ; then

View file

@ -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,100 @@ 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
$InstalledTools = @{}
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"
$InstalledTools += @{ $ToolName = $ToolDirectory.FullName }
}
}
return $InstalledTools
} 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 +191,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
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="dotnet-core-internal-tooling" value="https://pkgs.dev.azure.com/devdiv/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json" />
</packageSources>
</configuration>

View file

@ -8,6 +8,9 @@
<ItemGroup>
<!-- Clear references, the SDK may add some depending on UsuingToolXxx settings, but we only want to restore the following -->
<PackageReference Remove="@(PackageReference)"/>
<PackageReference Include="Microsoft.ManifestTool.CrossPlatform" Version="$(MicrosoftManifestToolCrossPlatformVersion)" />
<PackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="$(MicrosoftVisualStudioEngMicroBuildCoreVersion)" />
<PackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Plugins.SwixBuild" Version="$(MicrosoftVisualStudioEngMicroBuildPluginsSwixBuildVersion)" />
<PackageReference Include="Microsoft.DotNet.IBCMerge" Version="$(MicrosoftDotNetIBCMergeVersion)" Condition="'$(UsingToolIbcOptimization)' == 'true'" />
<PackageReference Include="Drop.App" Version="$(DropAppVersion)" ExcludeAssets="all" Condition="'$(UsingToolVisualStudioIbcTraining)' == 'true'"/>
</ItemGroup>

View file

@ -6,6 +6,7 @@ Param(
[switch] $ci,
[switch] $prepareMachine,
[switch] $excludePrereleaseVS,
[string] $msbuildEngine = $null,
[Parameter(ValueFromRemainingArguments=$true)][String[]]$extraArgs
)

View file

@ -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"

View file

@ -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 <compiler> <compiler major version> <compiler minor version>"
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")"

View file

@ -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 <script directory> <Architecture> <compiler>"
echo "Specify the script directory."
echo "Specify the target architecture."
echo "Specify the name of compiler (clang or gcc)."
exit 1
fi
nativescriptroot="$1"
build_arch="$2"
compiler="$3"
case "$compiler" in
clang*|-clang*|--clang*)
# clangx.y or clang-x.y
version="$(echo "$compiler" | tr -d '[:alpha:]-=')"
parts=(${version//./ })
majorVersion="${parts[0]}"
minorVersion="${parts[1]}"
if [[ -z "$minorVersion" && "$majorVersion" -le 6 ]]; then
minorVersion=0;
fi
compiler=clang
;;
gcc*|-gcc*|--gcc*)
# gccx.y or gcc-x.y
version="$(echo "$compiler" | tr -d '[:alpha:]-=')"
parts=(${version//./ })
majorVersion="${parts[0]}"
minorVersion="${parts[1]}"
compiler=gcc
;;
esac
cxxCompiler="$compiler++"
. "$nativescriptroot"/../pipeline-logging-functions.sh
# clear the existing CC and CXX from environment
CC=
CXX=
LDFLAGS=
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=( 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
elif [[ "$compiler" == "gcc" ]]; then versions=( 12 11 10 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
CC="$(command -v "$compiler")"
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."
CC="$(command -v "$compiler")"
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
CC="$(command -v "$compiler$desired_version")"
CXX="$(command -v "$cxxCompiler$desired_version")"
if [[ -z "$CXX" ]]; then 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
CC="$CLR_CC"
CXX="$CLR_CXX"
fi
if [[ -z "$CC" ]]; then
Write-PipelineTelemetryError -category "Build" "Unable to find $compiler."
exit 1
fi
# Only lld version >= 9 can be considered stable
if [[ "$compiler" == "clang" && "$majorVersion" -ge 9 ]]; then
if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then
LDFLAGS="-fuse-ld=lld"
fi
fi
SCAN_BUILD_COMMAND="$(command -v "scan-build$desired_version")"
export CC CXX LDFLAGS SCAN_BUILD_COMMAND

View file

@ -22,6 +22,11 @@ $RetryWaitTimeInSeconds = 30
# Wait time between check for system load
$SecondsBetweenLoadChecks = 10
if (!$InputPath -or !(Test-Path $InputPath)){
Write-Host "No files to validate."
ExitWithExitCode 0
}
$ValidatePackage = {
param(
[string] $PackagePath # Full path to a Symbols.NuGet package

View file

@ -4,9 +4,11 @@ param(
[Parameter(Mandatory = $true)][string] $DotnetSymbolVersion, # Version of dotnet symbol to use
[Parameter(Mandatory = $false)][switch] $CheckForWindowsPdbs, # If we should check for the existence of windows pdbs in addition to portable PDBs
[Parameter(Mandatory = $false)][switch] $ContinueOnError, # If we should keep checking symbols after an error
[Parameter(Mandatory = $false)][switch] $Clean # Clean extracted symbols directory after checking symbols
[Parameter(Mandatory = $false)][switch] $Clean, # Clean extracted symbols directory after checking symbols
[Parameter(Mandatory = $false)][string] $SymbolExclusionFile # Exclude the symbols in the file from publishing to symbol server
)
. $PSScriptRoot\..\tools.ps1
# Maximum number of jobs to run in parallel
$MaxParallelJobs = 16
@ -25,14 +27,28 @@ if ($CheckForWindowsPdbs) {
$WindowsPdbVerificationParam = "--windows-pdbs"
}
$ExclusionSet = New-Object System.Collections.Generic.HashSet[string];
if (!$InputPath -or !(Test-Path $InputPath)){
Write-Host "No symbols to validate."
ExitWithExitCode 0
}
#Check if the path exists
if ($SymbolExclusionFile -and (Test-Path $SymbolExclusionFile)){
[string[]]$Exclusions = Get-Content "$SymbolExclusionFile"
$Exclusions | foreach { if($_ -and $_.Trim()){$ExclusionSet.Add($_)} }
}
else{
Write-Host "Symbol Exclusion file does not exists. No symbols to exclude."
}
$CountMissingSymbols = {
param(
[string] $PackagePath, # Path to a NuGet package
[string] $WindowsPdbVerificationParam # If we should check for the existence of windows pdbs in addition to portable PDBs
)
. $using:PSScriptRoot\..\tools.ps1
Add-Type -AssemblyName System.IO.Compression.FileSystem
Write-Host "Validating $PackagePath "
@ -118,17 +134,17 @@ $CountMissingSymbols = {
# Save the output and get diagnostic output
$output = & $dotnetSymbolExe --symbols --modules $WindowsPdbVerificationParam $TargetServerParam $FullPath -o $SymbolsPath --diagnostics | Out-String
if (Test-Path $PdbPath) {
return 'PDB'
if ((Test-Path $PdbPath) -and (Test-path $SymbolPath)) {
return 'Module and PDB for Module'
}
elseif (Test-Path $NGenPdb) {
return 'NGen PDB'
elseif ((Test-Path $NGenPdb) -and (Test-Path $PdbPath) -and (Test-Path $SymbolPath)) {
return 'Dll, PDB and NGen PDB'
}
elseif (Test-Path $SODbg) {
return 'DBG for SO'
elseif ((Test-Path $SODbg) -and (Test-Path $SymbolPath)) {
return 'So and DBG for SO'
}
elseif (Test-Path $DylibDwarf) {
return 'Dwarf for Dylib'
elseif ((Test-Path $DylibDwarf) -and (Test-Path $SymbolPath)) {
return 'Dylib and Dwarf for Dylib'
}
elseif (Test-Path $SymbolPath) {
return 'Module'
@ -142,37 +158,44 @@ $CountMissingSymbols = {
return $null
}
$FileGuid = New-Guid
$ExpandedSymbolsPath = Join-Path -Path $SymbolsPath -ChildPath $FileGuid
$SymbolsOnMSDL = & $FirstMatchingSymbolDescriptionOrDefault `
-FullPath $FileName `
-TargetServerParam '--microsoft-symbol-server' `
-SymbolsPath "$ExpandedSymbolsPath-msdl" `
-WindowsPdbVerificationParam $WindowsPdbVerificationParam
$SymbolsOnSymWeb = & $FirstMatchingSymbolDescriptionOrDefault `
-FullPath $FileName `
-TargetServerParam '--internal-server' `
-SymbolsPath "$ExpandedSymbolsPath-symweb" `
-WindowsPdbVerificationParam $WindowsPdbVerificationParam
Write-Host -NoNewLine "`t Checking file " $FileName "... "
if ($SymbolsOnMSDL -ne $null -and $SymbolsOnSymWeb -ne $null) {
Write-Host "Symbols found on MSDL ($SymbolsOnMSDL) and SymWeb ($SymbolsOnSymWeb)"
$FileRelativePath = $FileName.Replace("$ExtractPath\", "")
if (($($using:ExclusionSet) -ne $null) -and ($($using:ExclusionSet).Contains($FileRelativePath) -or ($($using:ExclusionSet).Contains($FileRelativePath.Replace("\", "/"))))){
Write-Host "Skipping $FileName from symbol validation"
}
else {
$MissingSymbols++
if ($SymbolsOnMSDL -eq $null -and $SymbolsOnSymWeb -eq $null) {
Write-Host 'No symbols found on MSDL or SymWeb!'
else {
$FileGuid = New-Guid
$ExpandedSymbolsPath = Join-Path -Path $SymbolsPath -ChildPath $FileGuid
$SymbolsOnMSDL = & $FirstMatchingSymbolDescriptionOrDefault `
-FullPath $FileName `
-TargetServerParam '--microsoft-symbol-server' `
-SymbolsPath "$ExpandedSymbolsPath-msdl" `
-WindowsPdbVerificationParam $WindowsPdbVerificationParam
$SymbolsOnSymWeb = & $FirstMatchingSymbolDescriptionOrDefault `
-FullPath $FileName `
-TargetServerParam '--internal-server' `
-SymbolsPath "$ExpandedSymbolsPath-symweb" `
-WindowsPdbVerificationParam $WindowsPdbVerificationParam
Write-Host -NoNewLine "`t Checking file " $FileName "... "
if ($SymbolsOnMSDL -ne $null -and $SymbolsOnSymWeb -ne $null) {
Write-Host "Symbols found on MSDL ($SymbolsOnMSDL) and SymWeb ($SymbolsOnSymWeb)"
}
else {
if ($SymbolsOnMSDL -eq $null) {
Write-Host 'No symbols found on MSDL!'
$MissingSymbols++
if ($SymbolsOnMSDL -eq $null -and $SymbolsOnSymWeb -eq $null) {
Write-Host 'No symbols found on MSDL or SymWeb!'
}
else {
Write-Host 'No symbols found on SymWeb!'
if ($SymbolsOnMSDL -eq $null) {
Write-Host 'No symbols found on MSDL!'
}
else {
Write-Host 'No symbols found on SymWeb!'
}
}
}
}

View file

@ -0,0 +1,45 @@
Param(
[Parameter(Mandatory=$true)][int] $buildId,
[Parameter(Mandatory=$true)][string] $azdoOrgUri,
[Parameter(Mandatory=$true)][string] $azdoProject,
[Parameter(Mandatory=$true)][string] $token
)
$ErrorActionPreference = 'Stop'
Set-StrictMode -Version 2.0
function Get-AzDOHeaders(
[string] $token)
{
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":${token}"))
$headers = @{"Authorization"="Basic $base64AuthInfo"}
return $headers
}
function Update-BuildRetention(
[string] $azdoOrgUri,
[string] $azdoProject,
[int] $buildId,
[string] $token)
{
$headers = Get-AzDOHeaders -token $token
$requestBody = "{
`"keepForever`": `"true`"
}"
$requestUri = "${azdoOrgUri}/${azdoProject}/_apis/build/builds/${buildId}?api-version=6.0"
write-Host "Attempting to retain build using the following URI: ${requestUri} ..."
try {
Invoke-RestMethod -Uri $requestUri -Method Patch -Body $requestBody -Header $headers -contentType "application/json"
Write-Host "Updated retention settings for build ${buildId}."
}
catch {
Write-Error "Failed to update retention settings for build: $_.Exception.Response.StatusDescription"
exit 1
}
}
Update-BuildRetention -azdoOrgUri $azdoOrgUri -azdoProject $azdoProject -buildId $buildId -token $token
exit 0

View file

@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.10.0-preview2" -MemberType NoteProperty
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.1.0" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true

View file

@ -71,13 +71,13 @@ try {
# For some tools, add default and automatic args.
if ($tool.Name -eq 'credscan') {
if ($targetDirectory) {
$tool.Args += "TargetDirectory < $TargetDirectory"
$tool.Args += "`"TargetDirectory < $TargetDirectory`""
}
$tool.Args += "OutputType < pre"
$tool.Args += "`"OutputType < pre`""
$tool.Args += $CrScanAdditionalRunConfigParams
} elseif ($tool.Name -eq 'policheck') {
if ($targetDirectory) {
$tool.Args += "Target < $TargetDirectory"
$tool.Args += "`"Target < $TargetDirectory`""
}
$tool.Args += $PoliCheckAdditionalRunConfigParams
} elseif ($tool.Name -eq 'semmle' -or $tool.Name -eq 'codeql') {

View file

@ -126,7 +126,7 @@ try {
Exec-BlockVerbosely {
& $(Join-Path $PSScriptRoot 'run-sdl.ps1') `
-GuardianCliLocation $guardianCliLocation `
-WorkingDirectory $workingDirectory `
-WorkingDirectory $SourceDirectory `
-UpdateBaseline $UpdateBaseline `
-GdnFolder $gdnFolder
}

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Guardian.Cli" version="0.110.1"/>
<package id="Microsoft.Guardian.Cli" version="0.109.0"/>
</packages>

View file

@ -33,7 +33,7 @@ parameters:
runAsPublic: false
# Sbom related params
enableSbom: true
PackageVersion: 6.0.0
PackageVersion: 7.0.0
BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
jobs:
@ -119,6 +119,7 @@ jobs:
continueOnError: ${{ parameters.continueOnError }}
condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
- task: NuGetAuthenticate@0
- ${{ if or(eq(parameters.artifacts.download, 'true'), ne(parameters.artifacts.download, '')) }}:
@ -257,3 +258,4 @@ jobs:
parameters:
PackageVersion: ${{ parameters.packageVersion}}
BuildDropPath: ${{ parameters.buildDropPath }}

View file

@ -72,8 +72,8 @@ jobs:
lclSource: ${{ parameters.LclSource }}
lclPackageId: ${{ parameters.LclPackageId }}
isCreatePrSelected: ${{ parameters.CreatePr }}
isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
${{ if eq(parameters.CreatePr, true) }}:
isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }}
${{ if eq(parameters.RepoType, 'gitHub') }}:
isShouldReusePrSelected: ${{ parameters.ReusePr }}

View file

@ -23,23 +23,33 @@ parameters:
# Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
publishUsingPipelines: false
# Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
publishAssetsImmediately: false
artifactsPublishingAdditionalParameters: ''
signingValidationAdditionalParameters: ''
jobs:
- job: Asset_Registry_Publish
dependsOn: ${{ parameters.dependsOn }}
displayName: Publish to Build Asset Registry
${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
displayName: Publish Assets
${{ else }}:
displayName: Publish to Build Asset Registry
pool: ${{ parameters.pool }}
variables:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- name: _BuildConfig
value: ${{ parameters.configuration }}
- group: Publish-Build-Assets
- group: AzureDevOps-Artifact-Feeds-Pats
- name: runCodesignValidationInjection
value: false
- ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
- template: /eng/common/templates/post-build/common-variables.yml
steps:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
@ -52,14 +62,13 @@ jobs:
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- task: NuGetAuthenticate@0
- task: NuGetAuthenticate@0
- task: PowerShell@2
displayName: Enable cross-org NuGet feed authentication
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/enable-cross-org-publishing.ps1
arguments: -token $(dn-bot-all-orgs-artifact-feeds-rw)
- task: PowerShell@2
displayName: Enable cross-org NuGet feed authentication
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/enable-cross-org-publishing.ps1
arguments: -token $(dn-bot-all-orgs-artifact-feeds-rw)
- task: PowerShell@2
displayName: Publish Build Assets
@ -70,7 +79,6 @@ jobs:
/p:BuildAssetRegistryToken=$(MaestroAccessToken)
/p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
/p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
/p:Configuration=$(_BuildConfig)
/p:OfficialBuildId=$(Build.BuildNumber)
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
@ -114,7 +122,25 @@ jobs:
PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
PublishLocation: Container
ArtifactName: ReleaseConfigs
- ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
- template: /eng/common/templates/post-build/setup-maestro-vars.yml
parameters:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- task: PowerShell@2
displayName: Publish Using Darc
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
arguments: -BuildId $(BARBuildId)
-PublishingInfraVersion 3
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
-MaestroToken '$(MaestroApiAccessToken)'
-WaitPublishingFinish true
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- template: /eng/common/templates/steps/publish-logs.yml
parameters:

View file

@ -1,14 +1,13 @@
parameters:
runAsPublic: false
sourceIndexPackageVersion: 1.0.1-20210614.1
sourceIndexPackageVersion: 1.0.1-20220804.1
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: []
binlogPath: artifacts/log/Debug/Build.binlog
pool:
vmImage: windows-2019
condition: ''
dependsOn: ''
pool: ''
jobs:
- job: SourceIndexStage1
@ -24,7 +23,17 @@ jobs:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: source-dot-net stage1 variables
pool: ${{ parameters.pool }}
${{ if ne(parameters.pool, '') }}:
pool: ${{ parameters.pool }}
${{ if eq(parameters.pool, '') }}:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore1ESPool-Public
demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Server.Amd64.VS2019
steps:
- ${{ each preStep in parameters.preSteps }}:
- ${{ preStep }}

View file

@ -21,7 +21,7 @@ jobs:
# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
# sync with the packages.config file.
- name: DefaultGuardianVersion
value: 0.110.1
value: 0.109.0
- name: GuardianPackagesConfigFile
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
- name: GuardianVersion

View file

@ -27,6 +27,13 @@ parameters:
# Optional: Override automatically derived dependsOn value for "publish build assets" job
publishBuildAssetsDependsOn: ''
# Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage.
publishAssetsImmediately: false
# Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml)
artifactsPublishingAdditionalParameters: ''
signingValidationAdditionalParameters: ''
# Optional: should run as a public build even in the internal project
# if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
runAsPublic: false
@ -68,7 +75,6 @@ jobs:
${{ parameter.key }}: ${{ parameter.value }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
- template: ../job/publish-build-assets.yml
parameters:
@ -94,4 +100,7 @@ jobs:
runAsPublic: ${{ parameters.runAsPublic }}
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }}
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }}

View file

@ -49,6 +49,7 @@ parameters:
type: object
default:
enable: false
publishGdn: false
continueOnError: false
params: ''
artifactNames: ''
@ -82,6 +83,11 @@ parameters:
default:
- Validate
# Optional: Call asset publishing rather than running in a separate stage
- name: publishAssetsImmediately
type: boolean
default: false
stages:
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
- stage: Validate
@ -99,7 +105,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
${{ else }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Server.Amd64.VS2019
@ -136,7 +142,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
${{ else }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Server.Amd64.VS2019
steps:
@ -196,7 +202,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
${{ else }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Server.Amd64.VS2019
steps:
@ -230,46 +236,50 @@ stages:
- template: /eng/common/templates/job/execute-sdl.yml
parameters:
enable: ${{ parameters.SDLValidationParameters.enable }}
publishGuardianDirectoryToPipeline: ${{ parameters.SDLValidationParameters.publishGdn }}
additionalParameters: ${{ parameters.SDLValidationParameters.params }}
continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }}
artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }}
downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }}
- stage: publish_using_darc
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
dependsOn: ${{ parameters.publishDependsOn }}
${{ if and(ne(parameters.enableNugetValidation, 'true'), ne(parameters.enableSigningValidation, 'true'), ne(parameters.enableSourceLinkValidation, 'true'), ne(parameters.SDLValidationParameters.enable, 'true')) }}:
dependsOn: ${{ parameters.validateDependsOn }}
displayName: Publish using Darc
variables:
- template: common-variables.yml
jobs:
- job:
displayName: Publish Using Darc
timeoutInMinutes: 120
pool:
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
- ${{ if ne(parameters.publishAssetsImmediately, 'true') }}:
- stage: publish_using_darc
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
dependsOn: ${{ parameters.publishDependsOn }}
${{ else }}:
dependsOn: ${{ parameters.validateDependsOn }}
displayName: Publish using Darc
variables:
- template: common-variables.yml
jobs:
- job:
displayName: Publish Using Darc
timeoutInMinutes: 120
pool:
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
name: VSEngSS-MicroBuild2022-1ES
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
${{ else }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Server.Amd64.VS2019
steps:
- template: setup-maestro-vars.yml
parameters:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
steps:
- template: setup-maestro-vars.yml
parameters:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- task: PowerShell@2
displayName: Publish Using Darc
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
arguments: -BuildId $(BARBuildId)
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
-MaestroToken '$(MaestroApiAccessToken)'
-WaitPublishingFinish true
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
- task: NuGetAuthenticate@0
- task: PowerShell@2
displayName: Publish Using Darc
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
arguments: -BuildId $(BARBuildId)
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
-MaestroToken '$(MaestroApiAccessToken)'
-WaitPublishingFinish true
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'

View file

@ -62,7 +62,28 @@ steps:
c
i
condition: succeededOrFailed()
- publish: $(Agent.BuildDirectory)/.gdn
artifact: GuardianConfiguration
displayName: Publish GuardianConfiguration
condition: succeededOrFailed()
# Publish the SARIF files in a container named CodeAnalysisLogs to enable integration
# with the "SARIF SAST Scans Tab" Azure DevOps extension
- task: CopyFiles@2
displayName: Copy SARIF files
inputs:
flattenFolders: true
sourceFolder: $(Agent.BuildDirectory)/.gdn/rc/
contents: '**/*.sarif'
targetFolder: $(Build.SourcesDirectory)/CodeAnalysisLogs
condition: succeededOrFailed()
# Use PublishBuildArtifacts because the SARIF extension only checks this case
# see microsoft/sarif-azuredevops-extension#4
- task: PublishBuildArtifacts@1
displayName: Publish SARIF files to CodeAnalysisLogs container
inputs:
pathToPublish: $(Build.SourcesDirectory)/CodeAnalysisLogs
artifactName: CodeAnalysisLogs
condition: succeededOrFailed()

View file

@ -4,7 +4,7 @@
# ManifestDirPath - The path of the directory where the generated manifest files will be placed
parameters:
PackageVersion: 6.0.0
PackageVersion: 7.0.0
BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
PackageName: '.NET'
ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom

View file

@ -0,0 +1,28 @@
parameters:
# Optional azure devops PAT with build execute permissions for the build's organization,
# only needed if the build that should be retained ran on a different organization than
# the pipeline where this template is executing from
Token: ''
# Optional BuildId to retain, defaults to the current running build
BuildId: ''
# Azure devops Organization URI for the build in the https://dev.azure.com/<organization> format.
# Defaults to the organization the current pipeline is running on
AzdoOrgUri: '$(System.CollectionUri)'
# Azure devops project for the build. Defaults to the project the current pipeline is running on
AzdoProject: '$(System.TeamProject)'
steps:
- task: powershell@2
inputs:
targetType: 'filePath'
filePath: eng/common/retain-build.ps1
pwsh: true
arguments: >
-AzdoOrgUri: ${{parameters.AzdoOrgUri}}
-AzdoProject ${{parameters.AzdoProject}}
-Token ${{coalesce(parameters.Token, '$env:SYSTEM_ACCESSTOKEN') }}
-BuildId ${{coalesce(parameters.BuildId, '$env:BUILD_ID')}}
displayName: Enable permanent build retention
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
BUILD_ID: $(Build.BuildId)

View file

@ -3,7 +3,7 @@ parameters:
HelixSource: 'pr/default' # required -- sources must start with pr/, official/, prodcon/, or agent/
HelixType: 'tests/default/' # required -- Helix telemetry which identifies what type of data this is; should include "test" for clarity and must end in '/'
HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number
HelixTargetQueues: '' # required -- semicolon delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues
HelixTargetQueues: '' # required -- semicolon-delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues
HelixAccessToken: '' # required -- access token to make Helix API requests; should be provided by the appropriate variable group
HelixConfiguration: '' # optional -- additional property attached to a job
HelixPreCommands: '' # optional -- commands to run before Helix work item execution
@ -12,7 +12,7 @@ parameters:
WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
CorrelationPayloadDirectory: '' # optional -- a directory to zip up and send to Helix as a correlation payload
XUnitProjects: '' # optional -- semicolon delimited list of XUnitProjects to parse and send to Helix; requires XUnitRuntimeTargetFramework, XUnitPublishTargetFramework, XUnitRunnerVersion, and IncludeDotNetCli=true
XUnitProjects: '' # optional -- semicolon-delimited list of XUnitProjects to parse and send to Helix; requires XUnitRuntimeTargetFramework, XUnitPublishTargetFramework, XUnitRunnerVersion, and IncludeDotNetCli=true
XUnitWorkItemTimeout: '' # optional -- the workitem timeout in seconds for all workitems created from the xUnit projects specified by XUnitProjects
XUnitPublishTargetFramework: '' # optional -- framework to use to publish your xUnit projects
XUnitRuntimeTargetFramework: '' # optional -- framework to use for the xUnit console runner
@ -20,17 +20,16 @@ parameters:
IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
DotNetCliPackageType: '' # optional -- either 'sdk', 'runtime' or 'aspnetcore-runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
EnableXUnitReporter: false # optional -- true enables XUnit result reporting to Mission Control
WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting int)
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
Creator: '' # optional -- if the build is external, use this to specify who is sending the job
DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
steps:
- powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
- powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
@ -54,14 +53,13 @@ steps:
IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }}
Creator: ${{ parameters.Creator }}
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
@ -85,7 +83,6 @@ steps:
IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }}
Creator: ${{ parameters.Creator }}

View file

@ -23,7 +23,7 @@ steps:
# In addition, add an msbuild argument to copy the WIP from the repo to the target build location.
# This is because SetupNuGetSources.sh will alter the current NuGet.config file, and we need to preserve those
# changes.
$internalRestoreArgs=
internalRestoreArgs=
if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then
# Temporarily work around https://github.com/dotnet/arcade/issues/7709
chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh

View file

@ -2,6 +2,6 @@ variables:
# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
# sync with the packages.config file.
- name: DefaultGuardianVersion
value: 0.110.1
value: 0.109.0
- name: GuardianPackagesConfigFile
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config

View file

@ -365,8 +365,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=16.10.0-preview2&view=overview
$defaultXCopyMSBuildVersion = '16.10.0-preview2'
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.1.0&view=overview
$defaultXCopyMSBuildVersion = '17.1.0'
if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs }
$vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr }
@ -573,7 +573,7 @@ function InitializeBuildTool() {
ExitWithExitCode 1
}
$dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet')
$buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'netcoreapp3.1' }
$buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net7.0' }
} elseif ($msbuildEngine -eq "vs") {
try {
$msbuildPath = InitializeVisualStudioMSBuild -install:$restore
@ -635,6 +635,10 @@ function InitializeNativeTools() {
InstallDirectory = "$ToolsDir"
}
}
if ($env:NativeToolsOnMachine) {
Write-Host "Variable NativeToolsOnMachine detected, enabling native tool path promotion..."
$nativeArgs += @{ PathPromotion = $true }
}
& "$PSScriptRoot/init-tools-native.ps1" @nativeArgs
}
}

View file

@ -178,7 +178,7 @@ function InstallDotNetSdk {
if [[ $# -ge 3 ]]; then
architecture=$3
fi
InstallDotNet "$root" "$version" $architecture 'sdk' 'false' $runtime_source_feed $runtime_source_feed_key
InstallDotNet "$root" "$version" $architecture 'sdk' 'true' $runtime_source_feed $runtime_source_feed_key
}
function InstallDotNet {
@ -312,7 +312,7 @@ function InitializeBuildTool {
# return values
_InitializeBuildTool="$_InitializeDotNetCli/dotnet"
_InitializeBuildToolCommand="msbuild"
_InitializeBuildToolFramework="netcoreapp3.1"
_InitializeBuildToolFramework="net7.0"
}
# Set RestoreNoCache as a workaround for https://github.com/NuGet/Home/issues/3116

View file

@ -37,5 +37,4 @@ export PATH=$REPO_ROOT/.dotnet$arcade_partition_suffix:$PATH
export DOTNET_INSTALL_DIR=$REPO_ROOT/.dotnet$arcade_partition_suffix
export ArtifactsDir=$REPO_ROOT/artifacts$arcade_partition_suffix/
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_MULTILEVEL_LOOKUP=0

View file

@ -12,5 +12,4 @@ title Core SDK Test (%CLI_REPO_ROOT%)
REM Add Stage 2 CLI to path
set PATH=%CLI_REPO_ROOT%artifacts\bin\redist\Debug\dotnet;%PATH%
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0

View file

@ -17,5 +17,4 @@ STAGE2_DIR=$REPO_ROOT/artifacts/bin/redist/Debug/dotnet
export PATH=$STAGE2_DIR:$PATH
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_MULTILEVEL_LOOKUP=0

View file

@ -4,9 +4,8 @@
#
# Dockerfile that creates a container suitable to build dotnet-cli
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-b46d863-20180719033416
RUN yum -q -y install sudo
# Via https://github.com/dotnet/versions/blob/main/build-info/docker/image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-rpmpkg-19d155e-20200221152150
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
@ -16,7 +15,7 @@ RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permissions on these directories
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
RUN chmod -R 755 /usr/bin/sudo
RUN chmod -R 4755 /usr/bin/sudo
# Set user to the one we just created
USER ${USER_ID}

View file

@ -4,14 +4,14 @@
#
# Dockerfile that creates a container suitable to build dotnet-cli
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-29-2f0798a-20181105183801
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36-20220716171953-531d246
RUN dnf install -y nss
RUN dnf clean all
# Override RID set by the dotnet-buildtools-prereqs docker image
ENV __PUBLISH_RID=fedora.29-x64
ENV __PUBLISH_RID=fedora.36-x64
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0

View file

@ -1,27 +0,0 @@
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
# Dockerfile that creates a container suitable to build dotnet-cli
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:rhel-7-rpmpkg-e1b4a89-20175311035359
# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
RUN useradd -m code_executor -u ${USER_ID} -g root
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# With the User Change, we need to change permissions on these directories
RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home
RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
# Set user to the one we just created
USER ${USER_ID}
# Set working directory
ARG WORK_DIR
WORKDIR ${WORK_DIR}
# Set up Azure Artifacts credential provider
RUN wget -qO- https://raw.githubusercontent.com/Microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh | bash

View file

@ -25,7 +25,6 @@ function CreateBuildEnvScript()
$scriptContents = @"
@echo off
title Core SDK Build ($RepoRoot)
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0
set PATH=$env:DOTNET_INSTALL_DIR;%PATH%

View file

@ -1,9 +1,9 @@
{
"tools": {
"dotnet": "6.0.106",
"dotnet": "7.0.100-preview.5.22307.18",
"runtimes": {
"dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
"$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)"
]
}
},
@ -11,7 +11,7 @@
"cmake": "3.16.4"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22314.7",
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.22314.7"
"Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22408.3",
"Microsoft.DotNet.CMake.Sdk": "7.0.0-beta.22408.3"
}
}

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.

View file

@ -68,7 +68,7 @@ jobs:
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
- download: ${{ parameters.installerBuildResourceId }}
artifact: BlobArtifacts
patterns: '**/dotnet-sdk-!(*-*)-linux-${{ parameters.architecture }}.tar.gz'
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-preview*|-rc*)-linux-${{ parameters.architecture }}.tar.gz'
displayName: Download MSFT sdk Tarball
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
@ -174,6 +174,8 @@ jobs:
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
displayName: Prepare BuildLogs staging directory
continueOnError: true
condition: succeededOrFailed()

View file

@ -6,10 +6,10 @@ jobs:
displayName: Source-Build Create Tarball
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
variables:
- name: _BuildConfig
@ -80,12 +80,9 @@ jobs:
# This prevents allocation of additional agents if the tarball build legs should be skipped.
# Only build the tarball if the PR touches source-build source.
- script: |
# Temporarily disable tarball PR validation until source-build is supported in this channel.
echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]false"
# if curl "https://api.github.com/repos/dotnet/installer/pulls/$(System.PullRequest.PullRequestNumber)/files" | grep '"filename": "src/SourceBuild/*'
# then
# echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]true"
# fi
if curl "https://api.github.com/repos/dotnet/installer/pulls/$(System.PullRequest.PullRequestNumber)/files" | grep '"filename": "src/SourceBuild/*'
then
echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]true"
fi
displayName: Tarball Build Check
name: Tarball_Build_Check

View file

@ -64,7 +64,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
string repoName = dependency.SourceBuildRepoName;
string safeRepoName = repoName.Replace("-", "").Replace(".", "");
string propsPath = Path.Combine(SourceBuildMetadataDir, $"{repoName.Replace(".", "-")}.props");
DerivedVersion derivedVersion = GetVersionInfo(dependency.Version, "0");
DerivedVersion derivedVersion = GetVersionInfo(safeRepoName, dependency.Version, "0");
var repoProps = new Dictionary<string, string>
{
["GitCommitHash"] = dependency.Sha,
@ -92,17 +92,18 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
/// Reverse a version in the Arcade style (https://github.com/dotnet/arcade/blob/fb92b14d8cd07cf44f8f7eefa8ac58d7ffd05f3f/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.BeforeCommonTargets.targets#L18)
/// back to an OfficialBuildId + ReleaseLabel which we can then supply to get the same resulting version number.
/// </summary>
/// <param name="repoName">The source build name of the repo to get the version info for.</param>
/// <param name="version">The complete version, e.g. 1.0.0-beta1-19720.5</param>
/// <param name="commitCount">The current commit count of the repo. This is used for some repos that do not use the standard versioning scheme.</param>
/// <returns></returns>
private static DerivedVersion GetVersionInfo(string version, string commitCount)
private static DerivedVersion GetVersionInfo(string repoName, string version, string commitCount)
{
var nugetVersion = new NuGetVersion(version);
if (!string.IsNullOrWhiteSpace(nugetVersion.Release))
{
var releaseParts = nugetVersion.Release.Split('-', '.');
if (releaseParts.Length == 2)
if (repoName.Contains("nuget"))
{
// NuGet does this - arbitrary build IDs
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = releaseParts[0] };
@ -110,7 +111,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
else if (releaseParts.Length == 3)
{
// VSTest uses full dates for the first part of their preview build numbers
if (DateTime.TryParseExact(releaseParts[1], "yyyyMMdd", new CultureInfo("en-US"), DateTimeStyles.AssumeLocal, out DateTime fullDate))
if (repoName.Contains("vstest"))
{
return new DerivedVersion { OfficialBuildId = $"{releaseParts[1]}.{releaseParts[2]}", PreReleaseVersionLabel = releaseParts[0] };
}
@ -138,7 +139,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
else
{
// finalized version number (x.y.z) - probably not our code
// VSTest, Application Insights, Newtonsoft.Json do this
// Application Insights, Newtonsoft.Json do this
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = string.Empty };
}

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks>
<TargetFrameworks>net7.0</TargetFrameworks>
<RestorePackagesPath>$(TargetPackagesPath)</RestorePackagesPath>
</PropertyGroup>
@ -17,8 +17,8 @@
<PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.300" Version="[$(XamarinMacOSWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.300" Version="[$(MauiWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.300" Version="[$(XamarinTvOSWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.Manifest-6.0.300" Version="[$(EmscriptenWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-6.0.300" Version="[$(MonoWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-7.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
</ItemGroup>
<!--

View file

@ -72,7 +72,8 @@
OutputBaselineFile="$(SourceBuildSelfPrebuiltReportDir)generated-new-baseline.xml"
OutputReportFile="$(SourceBuildSelfPrebuiltReportDir)baseline-comparison.xml"
AllowTestProjectUsage="$(AllowTestProjectUsage)"
ContinueOnError="$(ContinueOnPrebuiltBaselineError)" />
ContinueOnError="$(ContinueOnPrebuiltBaselineError)"
Condition="'$(DotNetBuildFromSourceFlavor)' != 'Product'" />
</Target>
<!--

View file

@ -0,0 +1,62 @@
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
<Project>
<Import Project="SourceBuildArcade.targets" />
<UsingTask TaskName="Microsoft.DotNet.Arcade.Sdk.SourceBuild.AddSourceToNuGetConfig" AssemblyFile="$(ArcadeSdkBuildTasksAssembly)" />
<UsingTask TaskName="Microsoft.DotNet.Arcade.Sdk.SourceBuild.ReadSourceBuildIntermediateNupkgDependencies" AssemblyFile="$(ArcadeSdkBuildTasksAssembly)" />
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.SourceBuild.Tasks" Version="$(MicrosoftDotNetSourceBuildTasksVersion)" IsImplicitlyDefined="true" />
</ItemGroup>
<Target Name="CollectSourceBuildIntermediateNupkgDependencies"
Condition="
'$(DotNetBuildFromSourceFlavor)' != 'Product' and
(('$(ArcadeBuildFromSource)' == 'true' and '$(ArcadeInnerBuildFromSource)' == 'true') or
'$(SetUpSourceBuildIntermediateNupkgCache)' == 'true')"
DependsOnTargets="GetSourceBuildIntermediateNupkgNameConvention"
BeforeTargets="CollectPackageReferences">
<ReadSourceBuildIntermediateNupkgDependencies
VersionDetailsXmlFile="$([MSBuild]::NormalizePath('$(RepositoryEngineeringDir)', 'Version.Details.xml'))"
SourceBuildIntermediateNupkgPrefix="$(SourceBuildIntermediateNupkgPrefix)"
SourceBuildIntermediateNupkgRid="$(SourceBuildIntermediateNupkgRid)">
<Output TaskParameter="Dependencies" ItemName="SourceBuildIntermediateNupkgReference" />
</ReadSourceBuildIntermediateNupkgDependencies>
<ItemGroup>
<PackageReference Include="@(SourceBuildIntermediateNupkgReference)" />
</ItemGroup>
</Target>
<Target Name="SetUpSourceBuildIntermediateNupkgCache"
Condition="
'$(DotNetBuildFromSourceFlavor)' != 'Product' and
(('$(ArcadeBuildFromSource)' == 'true' and '$(ArcadeInnerBuildFromSource)' == 'true' and '@(SourceBuildIntermediateNupkgReference)' != '') or
'$(SetUpSourceBuildIntermediateNupkgCache)' == 'true')"
AfterTargets="Restore">
<PropertyGroup>
<SourceBuiltNupkgCacheDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'source-built-upstream-cache'))</SourceBuiltNupkgCacheDir>
</PropertyGroup>
<ItemGroup>
<IntermediateNupkgSourceDir Include="$([MSBuild]::NormalizeDirectory(
'$(NuGetPackageRoot)',
'$([System.String]::new(`%(SourceBuildIntermediateNupkgReference.Identity)`).ToLowerInvariant())',
'$([System.String]::new(`%(SourceBuildIntermediateNupkgReference.ExactVersion)`).ToLowerInvariant())',
'artifacts'))" />
<SourceBuiltNupkgFile Include="%(IntermediateNupkgSourceDir.Identity)**\*.nupkg" />
</ItemGroup>
<Copy
SourceFiles="@(SourceBuiltNupkgFile)"
DestinationFiles="@(SourceBuiltNupkgFile -> '$(SourceBuiltNupkgCacheDir)%(Filename)%(Extension)')" />
<AddSourceToNuGetConfig
NuGetConfigFile="$(RestoreConfigFile)"
SourceName="source-build-int-nupkg-cache"
SourcePath="$(SourceBuiltNupkgCacheDir)" />
</Target>
</Project>

View file

@ -119,7 +119,7 @@
<Target Name="CheckIfCreateSmokeTestPrereqsExistToPack">
<PropertyGroup>
<SmokeTestsArtifactsDir>$(SmokeTestsDir)bin/$(Configuration)/net6.0/</SmokeTestsArtifactsDir>
<SmokeTestsArtifactsDir>$(SmokeTestsDir)bin/$(Configuration)/net7.0/</SmokeTestsArtifactsDir>
<SmokeTestsPackagesDir>$(SmokeTestsArtifactsDir)packages/</SmokeTestsPackagesDir>
</PropertyGroup>

View file

@ -161,7 +161,6 @@ fi
echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION, bootstrap SourceLink $SOURCE_LINK_BOOTSTRAP_VERSION"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export NUGET_PACKAGES=$restoredPackagesDir/
LogDateStamp=$(date +"%m%d%H%M%S")

View file

@ -4,7 +4,7 @@
<Import Project="$(MSBuildProjectDirectory)/PackageVersions.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<BaseOutputPath>$(MSBuildProjectDirectory)/artifacts/</BaseOutputPath>
<RestorePackagesPath>$(MSBuildProjectDirectory)/artifacts/restoredPkgs/</RestorePackagesPath>
<UnpackedTarPath>$(MSBuildProjectDirectory)/artifacts/unpacked/</UnpackedTarPath>

View file

@ -1,6 +1,6 @@
{
"tools": {
"dotnet": "6.0.200"
"dotnet": "7.0.100-rc.1.22408.1"
},
"msbuild-sdks": {
"Microsoft.Build.CentralPackageVersions": "2.0.1",

View file

@ -105,7 +105,7 @@ if [ "$buildBootstrap" == "true" ]; then
echo " Building bootstrap previously source-built in $workingDir"
# Copy bootstrap project to working dir
cp $SCRIPT_ROOT/scripts/bootstrap/buildBootstrapPreviouslySB.csproj $workingDir
cp $SCRIPT_ROOT/eng/bootstrap/buildBootstrapPreviouslySB.csproj $workingDir
# Copy NuGet.config from the installer repo to have the right feeds
cp $SCRIPT_ROOT/src/installer/NuGet.config $workingDir

View file

@ -45,6 +45,7 @@
<ItemGroup>
<EnvironmentVariables Include="DotNetBuildFromSource=true" />
<EnvironmentVariables Include="DotNetBuildFromSourceFlavor=Product" />
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
<EnvironmentVariables Include="DotNetRestorePackagesPath=$(PackagesDir)" />
<EnvironmentVariables Include="DotNetBuildOffline=true" />
@ -61,7 +62,7 @@
<EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetCliToolDir)" />
<EnvironmentVariables Include="_DotNetInstallDir=$(DotNetCliToolDir)" />
<EnvironmentVariables Include="_InitializeToolset=$(ProjectDir)Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj" Condition="'$(UseBootstrapArcade)' != 'true'" />
<EnvironmentVariables Include="_OverrideArcadeInitializeBuildToolFramework=net6.0" />
<EnvironmentVariables Include="_OverrideArcadeInitializeBuildToolFramework=net7.0" />
<EnvironmentVariables Include="DotNetUseShippingVersions=true" />
@ -150,7 +151,7 @@
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)"/>
<ArcadeBootstrapSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(ArcadeBootstrapVersion)" Location="$(ArcadeBootstrapDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)" />
<ArcadePackagingOverride Include="Microsoft.DotNet.Build.Tasks.Packaging" Group="ARCADE_PACKAGING" Version="$(arcadeOutputPackageVersion)"/>
<ArcadeTargetFrameworkSdkOverride Include="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Group="ARCADE_TGT_FX_SDK" Version="$(arcadeOutputPackageVersion)"/>
<ArcadeTargetFrameworkOverride Include="Microsoft.DotNet.Build.Tasks.TargetFramework" Group="ARCADE_TGT_FX" Version="$(arcadeOutputPackageVersion)"/>
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)"/>
<ILSdkOverride Include="Microsoft.NET.Sdk.IL" Group="IL" />
<MsBuildTraversalSdkOverride Include="Microsoft.Build.Traversal" Group="MSBUILD_TRAVERSAL" Version="2.0.2"/>

View file

@ -127,11 +127,11 @@
See https://github.com/dotnet/source-build/issues/1914 for details. -->
<PropertyGroup>
<ArcadeSdkReplacementText>
logger_path=&quot;%24toolset_dir&quot;/%24%28cd &quot;$toolset_dir&quot; &amp;&amp; find . -name Microsoft.DotNet.Arcade.Sdk.dll \( -regex &apos;.*netcoreapp2.1.*&apos; -or -regex &apos;.*net6.0.*&apos; \) )
logger_path=&quot;%24toolset_dir&quot;/%24%28cd &quot;$toolset_dir&quot; &amp;&amp; find . -name Microsoft.DotNet.Arcade.Sdk.dll \( -regex &apos;.*netcoreapp2.1.*&apos; -or -regex &apos;.*net7.0.*&apos; \) )
</ArcadeSdkReplacementText>
<ArcadeLoggingReplacementText>
logger_path=&quot;%24toolset_dir&quot;/%24%28cd &quot;$toolset_dir&quot; &amp;&amp; find . -name Microsoft.DotNet.ArcadeLogging.dll \( -regex &apos;.*netcoreapp2.1.*&apos; -or -regex &apos;.*net6.0.*&apos; \) )
logger_path=&quot;%24toolset_dir&quot;/%24%28cd &quot;$toolset_dir&quot; &amp;&amp; find . -name Microsoft.DotNet.ArcadeLogging.dll \( -regex &apos;.*netcoreapp2.1.*&apos; -or -regex &apos;.*net7.0.*&apos; \) )
</ArcadeLoggingReplacementText>
<LoggerPathReplacementText>
@ -346,47 +346,9 @@
<Output TaskParameter="PackageInfoItems" ItemName="_PreviouslySourceBuiltPackageInfos" />
</ReadNuGetPackageInfos>
<ItemGroup>
<_KnownOriginPackagePaths Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
<_KnownOriginPackagePaths Include="$(PrebuiltPackagesPath)*.nupkg" />
<_KnownOriginPackagePaths Include="$(ReferencePackagesDir)*.nupkg" />
</ItemGroup>
<GetSourceBuiltNupkgCacheConflicts SourceBuiltPackageInfos="@(_PreviouslySourceBuiltPackageInfos)"
PackageCacheDir="$(PackagesDir)"
KnownOriginPackagePaths="@(_KnownOriginPackagePaths)">
<Output TaskParameter="ConflictingPackageInfos" ItemName="ConflictingPackageInfos" />
</GetSourceBuiltNupkgCacheConflicts>
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CreateBuildOutputProps.complete" Overwrite="true" />
</Target>
<Target Name="CheckSourceBuiltNupkgConflictUsages"
DependsOnTargets="GetAllProjectDirectories"
AfterTargets="CreateBuildOutputProps"
Condition="'@(ConflictingPackageInfos)' != ''"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CheckSourceBuiltNupkgConflictUsages.complete">
<PropertyGroup>
<_ReportDir>$(ConflictingPackageReportDir)before-$(RepositoryName)/</_ReportDir>
<_ReportDataFile>$(_ReportDir)usage.xml</_ReportDataFile>
<_ProjectAssetsJsonArchiveFile>$(_ReportDir)all-project-assets-json-files.zip</_ProjectAssetsJsonArchiveFile>
</PropertyGroup>
<WritePackageUsageData NuGetPackageInfos="@(ConflictingPackageInfos)"
RootDir="$(ProjectDir)"
DataFile="$(_ReportDataFile)"
ProjectAssetsJsonArchiveFile="$(_ProjectAssetsJsonArchiveFile)" />
<WriteUsageReports DataFile="$(_ReportDataFile)"
OutputDirectory="$(_ReportDir)" />
<Warning Text="Detected packages in the cache that should be source-built, but contents don't match. See $(_ReportDir) for usage details:" />
<Warning Text="%(ConflictingPackageInfos.PackageId)/%(ConflictingPackageInfos.PackageVersion) : %(ConflictingPackageInfos.WarningMessage)" />
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CheckSourceBuiltNupkgConflictUsages.complete" Overwrite="true" />
</Target>
<Target Name="CreateCombinedRestoreSourceAndVersionProps"
BeforeTargets="Build"
Inputs="$(MSBuildProjectFullPath)"
@ -659,12 +621,6 @@
Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' "
WorkingDirectory="$(ToolPackageExtractDir)%(_ToolPackage.Id)/tools/SourceBuild/" />
<ReplaceTextInFile
Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' "
InputFile="$(ToolPackageExtractDir)%(_ToolPackage.Id)/tools/SourceBuild/SourceBuildArcadeTools.targets"
OldText="%3CReadSourceBuildIntermediateNupkgDependencies"
NewText="%3CReadSourceBuildIntermediateNupkgDependencies Condition=&quot;'%24%28DotNetBuildOffline%29' != 'true'&quot;" />
<!-- Allow overriding of Arcade targets for SourceBuild to enable quicker
dev turnaround for Preview 6 -->
<PropertyGroup>

View file

@ -24,7 +24,7 @@
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeCoreFxTestingOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadePackagingOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeTargetFrameworkSdkOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeTargetFrameworkOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
</ItemGroup>

View file

@ -12,9 +12,6 @@
<!-- Update to 1.0.0 version of reference assemblies which are built in SBRP instead of the preview.2 version
included by Arcade -->
<BuildCommandArgs>$(BuildCommandArgs) /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0</BuildCommandArgs>
<!-- https://github.com/dotnet/sdk/pull/20136 has not flowed into our bootstrap SDK yet, which causes file-in-use issues in ASP.NET
due to an interaction with the RemoveSharedFrameworkDependencies task. disable package validation until this is fixed. -->
<BuildCommandArgs>$(BuildCommandArgs) /p:EnablePackageValidation=false</BuildCommandArgs>
<BuildCommand>$(ProjectDirectory)\eng\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
@ -40,7 +37,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="roslyn" />

View file

@ -1,26 +0,0 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildCommandArgs>
<!-- Repo has netcoreapp2.1 projects: https://github.com/dotnet/CliCommandLineParser/issues/189 -->
<BuildCommandArgs>$(BuildCommandArgs) /p:CheckEolTargetFramework=false</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -12,7 +12,7 @@
<ItemGroup>
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="roslyn-analyzers" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
</ItemGroup>
<ItemGroup>

View file

@ -21,7 +21,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="xliff-tasks" />
</ItemGroup>
@ -29,5 +29,12 @@
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Target Name="SetArcadeSdkDir"
BeforeTargets="Build">
<ItemGroup>
<EnvironmentVariables Include="ArcadeSdkDir=$(ToolPackageExtractDir)%(UseSourceBuiltSdkOverride.Identity)/" />
</ItemGroup>
</Target>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -55,10 +55,9 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="aspnetcore" />
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="fsharp" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="runtime" />
@ -86,6 +85,7 @@
Unable to find package dotnet-ef.
Unable to find package dotnet-sql-cache.
Unable to find package dotnet-user-secrets.
Unable to find package dotnet-user-jwts.
Unable to find package dotnet-watch. -->
<EnvironmentVariables Include="CLIBUILD_SKIP_BUNDLEDDOTNETTOOLS=true" />
</ItemGroup>

View file

@ -31,14 +31,12 @@
<RepositoryReference Include="arcade" />
<!-- Tier 1 -->
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="command-line-api" />
<RepositoryReference Include="diagnostics" />
<RepositoryReference Include="razor-compiler" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="symreader" />
<RepositoryReference Include="test-templates" />
<RepositoryReference Include="xdt" />
<RepositoryReference Include="xliff-tasks" />
@ -47,7 +45,6 @@
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="runtime-portable" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="templating" />
<!-- Tier 3 -->
<RepositoryReference Include="roslyn-analyzers" />
@ -57,6 +54,8 @@
<RepositoryReference Include="deployment-tools" />
<RepositoryReference Include="format" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="templating" />
<RepositoryReference Include="test-templates" />
<!-- Tier 5 -->
<RepositoryReference Include="fsharp" />

View file

@ -11,7 +11,7 @@
<ItemGroup>
<EnvironmentVariables Include="MS_PFX_PATH=$(NuGetKeyFilePath)" />
<EnvironmentVariables Include="NUGET_PFX_PATH=$(NuGetKeyFilePath)" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="xdt" />
</ItemGroup>

View file

@ -50,7 +50,8 @@
<SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz</SourceBuiltTarballName>
</PropertyGroup>
<Exec Command="tar --numeric-owner --exclude='$(SBRPIntermediateWildcard)' -czf $(SourceBuiltTarballName) *.nupkg *.props SourceBuildReferencePackages/" WorkingDirectory="$(SourceBuiltPackagesPath)" />
<Exec Command="tar --numeric-owner --exclude='Microsoft.SourceBuild.Intermediate.*.nupkg' --exclude='runtime.$(TargetRid).*.nupkg' -czf $(SourceBuiltTarballName) *.nupkg *.props SourceBuildReferencePackages/"
WorkingDirectory="$(SourceBuiltPackagesPath)" />
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
</Target>

View file

@ -17,8 +17,7 @@
</ItemGroup>
<ItemGroup>
<!-- TODO: Enable with https://github.com/dotnet/source-build/issues/2274
<RepositoryReference Include="runtime" /> -->
<RepositoryReference Include="runtime" />
<RepositoryReference Include="roslyn" />
</ItemGroup>

View file

@ -11,6 +11,8 @@
<!-- issue: https://github.com/dotnet/source-build/issues/1719 -->
<BuildCommandArgs>$(BuildCommandArgs) /p:UsingToolMicrosoftNetCompilers=false</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:RepoRoot=$(ProjectDirectory)</BuildCommandArgs>
<!-- Investigate how to remove this specialization for source-build: https://github.com/dotnet/source-build/issues/2889 -->
<BuildCommandArgs>$(BuildCommandArgs) /p:SuppressTfmSupportBuildWarnings=true</BuildCommandArgs>
<BuildCommand>$(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
@ -39,7 +41,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="command-line-api" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="xliff-tasks" />
</ItemGroup>

View file

@ -9,7 +9,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="linker" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="roslyn" />
</ItemGroup>

View file

@ -31,7 +31,7 @@
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeCoreFxTestingOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadePackagingOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeTargetFrameworkSdkOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeTargetFrameworkOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
</ItemGroup>
@ -40,4 +40,8 @@
<EnvironmentVariables Include="BuildInParallel=false" />
</ItemGroup>
<ItemGroup>
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_X" Version="%24(MicrosoftCodeAnalysisVersion)" />
</ItemGroup>
</Project>

View file

@ -18,7 +18,7 @@
<RepositoryReference Include="arcade" />
<RepositoryReference Include="symreader" />
<RepositoryReference Include="linker" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="runtime-portable" />
</ItemGroup>

View file

@ -32,7 +32,7 @@
<RepositoryReference Include="xliff-tasks" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="roslyn-analyzers" />
<RepositoryReference Include="vstest" />

View file

@ -14,9 +14,9 @@
</PropertyGroup>
<ItemGroup>
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="source-build" />
<!-- TODO: Renable once nuget-client is building in tarball -->
<!-- <RepositoryReference Include="nuget-client" /> -->
<RepositoryReference Include="source-build-externals" />
</ItemGroup>
<ItemGroup>

View file

@ -14,6 +14,7 @@
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="templating" />
</ItemGroup>
<ItemGroup>

View file

@ -14,7 +14,7 @@
<ItemGroup>
<RepositoryReference Include="diagnostics" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="source-build" />
<RepositoryReference Include="source-build-externals" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

View file

@ -1,47 +0,0 @@
@echo off
setlocal
set SCRIPT_ROOT=%~dp0
set REPO_ROOT=%SCRIPT_ROOT%..\..\
:arg_loop
set SET_DOCKERFILE=
set SET_DOCKERIMAGE=
if /I "%1" equ "-d" (set SET_DOCKERFILE=1)
if /I "%1" equ "--dockerfile" (set SET_DOCKERFILE=1)
if "%SET_DOCKERFILE%" == "1" (
echo "1: %1 2: %2"
set DOCKER_FILE=%2
shift /1
shift /1
goto :arg_loop
)
if /I "%1" equ "-i" (set SET_DOCKERIMAGE=1)
if /I "%1" equ "--image" (set SET_DOCKERIMAGE=1)
if "%SET_DOCKERIMAGE%" == "1" (
set DOCKER_IMAGE=%2
shift /1
shift /1
goto :arg_loop
)
if "%DOCKER_FILE%" == "" (
echo Missing required parameter --dockerfile [docker file dir]
exit /b 1
)
if "%DOCKER_IMAGE%" == "" (
echo Missing required parameter --image [image name]
exit /b 1
)
if EXIST "%DOCKER_FILE%\Dockerfile" (
docker build -q -f %DOCKER_FILE%\Dockerfile -t %DOCKER_IMAGE% %DOCKER_FILE%
) else (
echo Error: %DOCKER_FILE%\Dockerfile does not exist
exit /b 1
)
docker run -i -t --rm --init -v %REPO_ROOT%:/code -t -w /code %DOCKER_IMAGE% /bin/sh
endlocal

Some files were not shown because too many files have changed in this diff Show more