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

This commit is contained in:
Marc Paine 2022-10-12 15:32:32 -07:00 committed by GitHub
commit 185c87b36c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
206 changed files with 3818 additions and 4155 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,12 @@
#!/usr/bin/env bash
./.devcontainer/source-build-scripts/createTarball.sh
cd $(realpath ..)/dotnet-source/
./prep.sh
# GitHub Codespaces automatically sets RepositoryName, which conflicts with source-build scripts.
unset RepositoryName
./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

@ -8,11 +8,16 @@ trigger:
- internal/release/3.* - internal/release/3.*
- internal/release/5.* - internal/release/5.*
- internal/release/6.* - internal/release/6.*
- internal/release/7.*
variables: variables:
- name: _PublishUsingPipelines - name: _PublishUsingPipelines
value: false value: false
- name: PostBuildSign - ${{ if or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'), eq(variables['Build.Reason'], 'Manual')) }}:
- name: PostBuildSign
value: false
- ${{ else }}:
- name: PostBuildSign
value: true value: true
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-DotNetCli-Storage - group: DotNet-DotNetCli-Storage
@ -71,40 +76,26 @@ stages:
matrix: matrix:
# Public-only builds # Public-only builds
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
Build_Debug_x86: Build_Release_x64:
_BuildConfig: Debug
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
Build_ES_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_BuildArchitecture: x64 _BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: es _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '' _AdditionalBuildParameters: '/p:PublishInternalAsset=true'
_TestArg: '' _TestArg: $(_WindowsTestArg)
# Internal-only builds # Internal-only builds
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Release_x86:
_BuildConfig: Release
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
# Always run builds
Build_Release_x64: Build_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: x64 _BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true' _AdditionalBuildParameters: '/p:PublishInternalAsset=true'
_TestArg: $(_WindowsTestArg) _TestArg: $(_WindowsTestArg)
Build_Release_arm: Build_Release_x86:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: arm _BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '' _AdditionalBuildParameters: ''
# Never run tests on arm64 _TestArg: $(_WindowsTestArg)
_TestArg: ''
Build_Release_arm64: Build_Release_arm64:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: arm64 _BuildArchitecture: arm64
@ -113,20 +104,17 @@ stages:
# Never run tests on arm64 # Never run tests on arm64
_TestArg: '' _TestArg: ''
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/build.yml - template: /eng/build.yml
parameters: parameters:
agentOs: Windows_NT agentOs: Windows_NT
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public
demands: ImageOverride -equals windows.vs2019.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}: ${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64 demands: ImageOverride -equals windows.vs2019.amd64
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
# Always run builds
Build_Release_x64: Build_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: x64 _BuildArchitecture: x64
@ -140,6 +128,13 @@ stages:
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '' _AdditionalBuildParameters: ''
_TestArg: '' _TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build.yml
@ -163,14 +158,14 @@ stages:
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
Build_Fedora_29_Debug_x64: Build_Fedora_36_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker fedora.29' _DockerParameter: '--docker fedora.36'
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
Build_CentOS_7_1_Debug_x64: Build_CentOS_7_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker centos' _DockerParameter: '--docker centos'
_LinuxPortable: '' _LinuxPortable: ''
@ -185,30 +180,6 @@ stages:
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_AdditionalBuildParameters: '/p:BuildSdkDeb=true' _AdditionalBuildParameters: '/p:BuildSdkDeb=true'
_TestArg: $(_NonWindowsTestArg) _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: Build_Arm64_Debug:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '' _DockerParameter: ''
@ -217,25 +188,6 @@ stages:
_BuildArchitecture: 'arm64' _BuildArchitecture: 'arm64'
# Never run tests on arm64 # Never run tests on arm64
_TestArg: '' _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: Build_Linux_musl_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker alpine.3.15' _DockerParameter: '--docker alpine.3.15'
@ -301,7 +253,7 @@ stages:
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
Build_Linux_Portable_Rpm_Release_x64: Build_Linux_Portable_Rpm_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '--docker rhel' _DockerParameter: '--docker centos'
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
@ -311,7 +263,7 @@ stages:
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
Build_Linux_Portable_Rpm_Release_Arm64: Build_Linux_Portable_Rpm_Release_Arm64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '--docker rhel' _DockerParameter: '--docker centos'
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm64' _RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64' _BuildArchitecture: 'arm64'
@ -328,20 +280,17 @@ stages:
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/build.yml - template: /eng/build.yml
parameters: parameters:
agentOs: Linux agentOs: Linux
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}: ${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
# Always run builds
Build_LinuxPortable_Release_x64: Build_LinuxPortable_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '' _DockerParameter: ''
@ -349,6 +298,13 @@ stages:
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: '' _TestArg: ''
Build_Release_arm64:
_BuildConfig: Release
_BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build.yml
@ -364,6 +320,7 @@ stages:
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Release_arm64: Build_Release_arm64:
_BuildConfig: Release _BuildConfig: Release
_RuntimeIdentifier: '--runtime-id osx-arm64' _RuntimeIdentifier: '--runtime-id osx-arm64'
@ -375,10 +332,10 @@ stages:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
parameters: parameters:
dependsOn: Source_Build_Create_Tarball dependsOn: Source_Build_Create_Tarball
condition: eq(dependencies.Source_Build_Create_Tarball.outputs['Tarball_Build_Check._includeTarballBuild'], 'true')
# https://github.com/dotnet/core-sdk/issues/248 # https://github.com/dotnet/core-sdk/issues/248
# - template: /eng/build.yml # - template: /eng/build.yml

View file

@ -3,5 +3,6 @@
# Snaps # Snaps
/.devcontainer/ @dotnet/source-build-internal
/src/snaps/ @rbhanda /src/snaps/ @rbhanda
/src/SourceBuild/ @dotnet/source-build-internal /src/SourceBuild/ @dotnet/source-build-internal

View file

@ -11,6 +11,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture> <BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Architecture> <Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Architecture> <Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == ''">x64</Architecture> <Architecture Condition="'$(Architecture)' == ''">x64</Architecture>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(PgoInstrument)' == 'true'"> <PropertyGroup Condition="'$(PgoInstrument)' == 'true'">
@ -24,7 +25,7 @@
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<IsShipping>true</IsShipping> <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. <!-- 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 This is a prevalent problem in building the precomputed assembly reference cache. Limiting the assemblies resolved

View file

@ -6,25 +6,13 @@
<packageSources> <packageSources>
<clear /> <clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.--> <!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-aspnetcore -->
<add key="darc-int-dotnet-aspnetcore-3fe12b9" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-aspnetcore-3fe12b93/nuget/v3/index.json" />
<add key="darc-int-dotnet-aspnetcore-3fe12b9-2" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-aspnetcore-3fe12b93-2/nuget/v3/index.json" />
<add key="darc-int-dotnet-aspnetcore-3fe12b9-1" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-aspnetcore-3fe12b93-1/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-emsdk -->
<add key="darc-pub-dotnet-emsdk-3f6c45a" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-3f6c45a2/nuget/v3/index.json" />
<!-- 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 --> <!-- Begin: Package sources from dotnet-windowsdesktop -->
<add key="darc-pub-dotnet-windowsdesktop-8a65067" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-windowsdesktop-8a650675/nuget/v3/index.json" />
<!-- End: 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.--> <!--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-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-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="general-testing" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/general-testing/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" /> <add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet3-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-transport/nuget/v3/index.json" /> <add key="dotnet3-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-transport/nuget/v3/index.json" />
<add key="dotnet3.1-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" /> <add key="dotnet3.1-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
@ -32,6 +20,8 @@
<add key="dotnet5-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json" /> <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" 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="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" /> <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 --> <!-- 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" /> <add key="xamarin" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
@ -39,18 +29,11 @@
<disabledPackageSources> <disabledPackageSources>
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.--> <!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-aspnetcore --> <!-- Begin: Package sources from dotnet-aspnetcore -->
<add key="darc-int-dotnet-aspnetcore-3fe12b9-1" value="true" />
<add key="darc-int-dotnet-aspnetcore-3fe12b9-2" value="true" />
<add key="darc-int-dotnet-aspnetcore-3fe12b9" value="true" />
<!-- End: Package sources from dotnet-aspnetcore --> <!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-runtime --> <!-- Begin: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-templating -->
<!-- End: Package sources from dotnet-templating -->
<!-- Begin: Package sources from dotnet-windowsdesktop --> <!-- Begin: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-windowsdesktop --> <!-- End: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-runtime --> <!-- 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.--> <!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
</disabledPackageSources> </disabledPackageSources>
</configuration> </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-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 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/) [![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. 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)| |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)| |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. 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 **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). 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. 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** **For .NET 6 builds**
@ -126,9 +134,9 @@ With development builds, internal NuGet feeds are necessary for some scenarios (
</packageSources> </packageSources>
</configuration> </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** **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. 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> </packageSources>
</configuration> </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
``` | 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) |
<configuration> | :--------- | :----------: | :----------: | :----------: |
<packageSources> | **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] |
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" /> | **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] |
</packageSources> | **Windows arm** | **N/A** | **N/A** | **N/A** |
</configuration> | **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] |
**For .NET 3.1 builds** | **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] |
<configuration> | **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] |
<packageSources> | **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] |
<add key="dotnet3.1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json" /> | **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] |
</packageSources> | **RHEL 6** | **N/A** | **N/A** | **N/A** |
</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] |
Reference notes: 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: > **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) > * [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) .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-badge-main]: https://aka.ms/dotnet/7.0.1xx/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-version-main]: https://aka.ms/dotnet/7.0.1xx/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-main]: https://aka.ms/dotnet/7.0.1xx/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-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/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-main]: https://aka.ms/dotnet/7.0.1xx/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-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/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-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/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-badge-6.0.4XX]: https://aka.ms/dotnet/6.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-version-6.0.4XX]: https://aka.ms/dotnet/6.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-6.0.4XX]: https://aka.ms/dotnet/6.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-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.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-6.0.4XX]: https://aka.ms/dotnet/6.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-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.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-x86-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_x86_Release_version_badge.svg
[win-x64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-x64.txt [win-x86-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-win-x86.txt
[win-x64-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.exe [win-x86-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe
[win-x64-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.exe.sha [win-x86-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.exe.sha
[win-x64-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.zip [win-x86-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.zip
[win-x64-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x64.zip.sha [win-x86-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x86.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-x86-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_x86_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-x86-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-win-x86.txt
[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-x86-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.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-x86-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.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-x86-zip-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.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-x86-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-x86.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-x86-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_x86_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-x86-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-x86.txt
[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-x86-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.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-x86-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.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-x86-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.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-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-x86.zip.sha
[win-x86-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/win_x86_Release_version_badge.svg [osx-x64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_x64_Release_version_badge.svg
[win-x86-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-win-x86.txt [osx-x64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-x64.txt
[win-x86-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.exe [osx-x64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg
[win-x86-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.exe.sha [osx-x64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.sha
[win-x86-zip-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.zip [osx-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz
[win-x86-zip-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-win-x86.zip.sha [osx-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[win-x86-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/win_x86_Release_version_badge.svg [osx-x64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_x64_Release_version_badge.svg
[win-x86-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-win-x86.txt [osx-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-x64.txt
[win-x86-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.exe [osx-x64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg
[win-x86-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.exe.sha [osx-x64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.pkg.sha
[win-x86-zip-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.zip [osx-x64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-x64.tar.gz
[win-x86-zip-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-win-x86.zip.sha [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
[win-x86-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/win_x86_Release_version_badge.svg [osx-x64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_x64_Release_version_badge.svg
[win-x86-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-win-x86.txt [osx-x64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-x64.txt
[win-x86-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.exe [osx-x64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg
[win-x86-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.exe.sha [osx-x64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.sha
[win-x86-zip-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.zip [osx-x64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.tar.gz
[win-x86-zip-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-win-x86.zip.sha [osx-x64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[win-x86-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/win_x86_Release_version_badge.svg [osx-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/osx_arm64_Release_version_badge.svg
[win-x86-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-win-x86.txt [osx-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-osx-arm64.txt
[win-x86-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.exe [osx-arm64-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg
[win-x86-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.exe.sha [osx-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.sha
[win-x86-zip-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.zip [osx-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz
[win-x86-zip-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-win-x86.zip.sha [osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.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 [osx-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/osx_arm64_Release_version_badge.svg
[win-x86-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version [osx-arm64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-osx-arm64.txt
[win-x86-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-win-x86.exe [osx-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg
[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 [osx-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.pkg.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 [osx-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-osx-arm64.tar.gz
[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 [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
[win-x86-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/win_x86_Release_version_badge.svg [osx-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/osx_arm64_Release_version_badge.svg
[win-x86-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version [osx-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-osx-arm64.txt
[win-x86-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-win-x86.exe [osx-arm64-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg
[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 [osx-arm64-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.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 [osx-arm64-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.tar.gz
[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-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
[osx-x64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/osx_x64_Release_version_badge.svg [linux-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_x64_Release_version_badge.svg
[osx-x64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-osx-x64.txt [linux-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-x64.txt
[osx-x64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg [linux-DEB-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb
[osx-x64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg.sha [linux-DEB-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.deb.sha
[osx-x64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.tar.gz [linux-RPM-installer-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-x64.rpm
[osx-x64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha [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
[osx-x64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/osx_x64_Release_version_badge.svg [linux-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
[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 [linux-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_x64_Release_version_badge.svg
[osx-x64-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.pkg.sha [linux-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-x64.txt
[osx-x64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-x64.tar.gz [linux-DEB-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.deb
[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 [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
[osx-x64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/osx_x64_Release_version_badge.svg [linux-RPM-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-x64.rpm.sha
[osx-x64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-osx-x64.txt [linux-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-x64.tar.gz
[osx-x64-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.pkg [linux-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-x64.tar.gz.sha
[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 [linux-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_x64_Release_version_badge.svg
[osx-x64-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha [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
[osx-x64-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/osx_x64_Release_version_badge.svg [linux-DEB-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.deb.sha
[osx-x64-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-osx-x64.txt [linux-RPM-installer-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm
[osx-x64-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg [linux-RPM-installer-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-x64.rpm.sha
[osx-x64-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg.sha [linux-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz
[osx-x64-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.tar.gz [linux-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
[osx-x64-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[linux-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm_Release_version_badge.svg
[osx-x64-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/osx_x64_Release_version_badge.svg [linux-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm.txt
[osx-x64-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version [linux-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
[osx-x64-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-osx-x64.pkg [linux-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
[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 [linux-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_arm_Release_version_badge.svg
[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 [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
[osx-x64-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/osx_x64_Release_version_badge.svg [linux-arm-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm.tar.gz.sha
[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 [linux-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm_Release_version_badge.svg
[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 [linux-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm.txt
[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 [linux-arm-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.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 [linux-arm-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
[osx-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/osx_arm64_Release_version_badge.svg [linux-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_arm64_Release_version_badge.svg
[osx-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-osx-arm64.txt [linux-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-arm64.txt
[osx-arm64-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.pkg [linux-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
[osx-arm64-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-osx-arm64.pkg.sha [linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.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 [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
[osx-arm64-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/osx_arm64_Release_version_badge.svg [linux-arm64-targz-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm64.tar.gz
[osx-arm64-version-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/productCommit-osx-arm64.txt [linux-arm64-targz-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-linux-arm64.tar.gz.sha
[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 [linux-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_arm64_Release_version_badge.svg
[osx-arm64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-osx-arm64.tar.gz [linux-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-arm64.txt
[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-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
[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 [rhel-6-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/rhel.6_x64_Release_version_badge.svg
[linux-DEB-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.deb [rhel-6-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-rhel.6-x64.txt
[linux-DEB-installer-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.deb.sha [rhel-6-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
[linux-RPM-installer-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-x64.rpm [rhel-6-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
[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 [rhel-6-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/rhel.6_x64_Release_version_badge.svg
[linux-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-x64.tar.gz.sha [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
[linux-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_x64_Release_version_badge.svg [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
[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 [rhel-6-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/rhel.6_x64_Release_version_badge.svg
[linux-DEB-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.deb.sha [rhel-6-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-rhel.6-x64.txt
[linux-RPM-installer-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.rpm [rhel-6-targz-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
[linux-RPM-installer-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-x64.rpm.sha [rhel-6-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.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-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-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_x64_Release_version_badge.svg [linux-musl-x64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-x64.txt [linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
[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-musl-x64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_x64_Release_version_badge.svg
[linux-RPM-installer-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.rpm [linux-musl-x64-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-x64.txt
[linux-RPM-installer-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-x64.rpm.sha [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-targz-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-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-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-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-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_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-version-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/productCommit-linux-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-DEB-installer-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.deb [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-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-musl-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm_Release_version_badge.svg
[linux-RPM-installer-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-x64.rpm.sha [linux-musl-arm-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm.txt
[linux-targz-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-x64.tar.gz [linux-musl-arm-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.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-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm.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-musl-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm_Release_version_badge.svg
[linux-version-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/latest.version [linux-musl-arm-version-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/productCommit-linux-musl-arm.txt
[linux-DEB-installer-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/dotnet-sdk-latest-x64.deb [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-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-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-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-musl-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm_Release_version_badge.svg
[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-musl-arm-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-linux-musl-arm.txt
[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-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-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-musl-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/linux_musl_arm64_Release_version_badge.svg
[linux-DEB-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.deb [linux-musl-arm64-version-main]: https://aka.ms/dotnet/7.0.1xx/daily/productCommit-linux-musl-arm64.txt
[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-musl-arm64-targz-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-RPM-installer-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/dotnet-sdk-latest-x64.rpm [linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
[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-musl-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/linux_musl_arm64_Release_version_badge.svg
[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-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-arm-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_arm_Release_version_badge.svg [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-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-musl-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/linux_musl_arm64_Release_version_badge.svg
[linux-arm-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm.tar.gz.sha [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-arm-badge-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/linux_arm_Release_version_badge.svg [linux-musl-arm64-targz-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
[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 [win-arm-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm_Release_version_badge.svg
[linux-arm-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm.tar.gz.sha [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
[linux-arm-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_arm_Release_version_badge.svg [win-arm-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
[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 [win-arm-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm_Release_version_badge.svg
[linux-arm-targz-checksum-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/dotnet-sdk-linux-arm.tar.gz.sha [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
[linux-arm-badge-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/linux_arm_Release_version_badge.svg [win-arm-zip-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm.zip.sha
[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 [win-arm-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm_Release_version_badge.svg
[linux-arm-targz-checksum-5.0.2XX]: https://aka.ms/dotnet/5.0.2xx/daily/Sdk/dotnet-sdk-linux-arm.tar.gz.sha [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
[linux-arm-badge-3.1.4XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.4xx/linux_arm_Release_version_badge.svg [win-arm-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm.zip.sha
[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 [win-arm64-badge-main]: https://aka.ms/dotnet/7.0.1xx/daily/win_arm64_Release_version_badge.svg
[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 [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
[linux-arm-badge-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/linux_arm_Release_version_badge.svg [win-arm64-installer-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.exe.sha
[linux-arm-version-3.1.1XX]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/3.1.1xx/latest.version [win-arm64-zip-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip
[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 [win-arm64-zip-checksum-main]: https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha
[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
[win-arm64-badge-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/win_arm64_Release_version_badge.svg
[linux-arm64-badge-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/linux_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
[linux-arm64-version-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/productCommit-linux-arm64.txt [win-arm64-installer-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe
[linux-arm64-targz-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm64.tar.gz [win-arm64-installer-checksum-7.0.1XX-preview7]: https://aka.ms/dotnet/7.0.1xx-preview7/daily/dotnet-sdk-win-arm64.exe.sha
[linux-arm64-targz-checksum-6.0.1XX]: https://aka.ms/dotnet/6.0/daily/dotnet-sdk-linux-arm64.tar.gz.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
[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 [win-arm64-badge-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/win_arm64_Release_version_badge.svg
[linux-arm64-targz-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm64.tar.gz [win-arm64-version-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/productCommit-win-arm64.txt
[linux-arm64-targz-checksum-6.0.1XX-rc1]: https://aka.ms/dotnet/6.0.1XX-rc1/daily/dotnet-sdk-linux-arm64.tar.gz.sha [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
[linux-arm64-badge-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/linux_arm64_Release_version_badge.svg [win-arm64-zip-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip
[linux-arm64-version-5.0.4XX]: https://aka.ms/dotnet/5.0.4xx/daily/productCommit-linux-arm64.txt [win-arm64-zip-checksum-6.0.4XX]: https://aka.ms/dotnet/6.0.4xx/daily/dotnet-sdk-win-arm64.zip.sha
[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
[sdk-shas-2.2.1XX]: https://github.com/dotnet/versions/tree/master/build-info/dotnet/product/cli/release/2.2#built-repositories [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"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<TargetPlatformIdentifier>Windows</TargetPlatformIdentifier> <TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View file

@ -1,12 +1,20 @@
<Project> <Project>
<ItemGroup> <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 <!-- 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. --> custom publishing target. And should not be picked up by arcade's default publishing logic. -->
<ItemsToSignPostBuild Remove="*.wixpack.zip" /> <ItemsToSignPostBuild Remove="*.wixpack.zip" />
</ItemGroup> </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" />
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.nupkg" />
</ItemGroup>
<PropertyGroup> <PropertyGroup>
<ExternalCertificateId Condition="'$(ExternalCertificateId)' == ''">3PartySHA2</ExternalCertificateId> <ExternalCertificateId Condition="'$(ExternalCertificateId)' == ''">3PartySHA2</ExternalCertificateId>

View file

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Dependencies> <Dependencies>
<ProductDependencies> <ProductDependencies>
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="7.0.0" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri> <Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>f40e7ceff0e19c1383a2613030a5b78da8bcfed3</Sha> <Sha>8a6506751c4e473fb277dd81df3c8ace41a1dfa7</Sha>
</Dependency> </Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.6.0" Version="6.0.9-servicing.22420.3" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.7.0" Version="7.0.0-rtm.22511.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri> <Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>f40e7ceff0e19c1383a2613030a5b78da8bcfed3</Sha> <Sha>8a6506751c4e473fb277dd81df3c8ace41a1dfa7</Sha>
</Dependency> </Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.6.0" Version="6.0.9-servicing.22420.3" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.7.0" Version="7.0.0-rtm.22511.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri> <Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>f40e7ceff0e19c1383a2613030a5b78da8bcfed3</Sha> <Sha>8a6506751c4e473fb277dd81df3c8ace41a1dfa7</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="7.0.0" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop</Uri> <Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>f40e7ceff0e19c1383a2613030a5b78da8bcfed3</Sha> <Sha>8a6506751c4e473fb277dd81df3c8ace41a1dfa7</Sha>
</Dependency> </Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.6.0" Version="6.0.9-servicing.22419.5" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.7.0" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NETCore.App.Ref" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.6.0" Version="6.0.9-servicing.22419.5" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.7.0" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
<SourceBuildTarball RepoName="runtime" ManagedOnly="true" /> <SourceBuildTarball RepoName="runtime" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>163a63591cf9e9b682063cf3995948c2b885a042</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<!-- Change blob version in GenerateLayout.targets if this is unpinned to service targeting pack --> <!-- 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. --> <!-- No new netstandard.library planned for 3.1 timeframe at this time. -->
@ -48,182 +48,172 @@
<Uri>https://github.com/dotnet/core-setup</Uri> <Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha> <Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="6.0.5" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NETCore.Platforms" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-runtime</Uri> <Uri>https://github.com/dotnet/runtime</Uri>
<Sha>0ec02c8c96e2eda06dc5b5edfdbdba0f36415082</Sha> <Sha>d25158d0dffd699340cedcfd43324c87a809a214</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.AspNetCore.App.Ref" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="6.0.9-servicing.22419.26" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="6.0.9" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
<SourceBuildTarball RepoName="aspnetcore" ManagedOnly="true" /> <SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.6.0" Version="6.0.9-servicing.22419.26" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
</Dependency> </Dependency>
<Dependency Name="dotnet-dev-certs" Version="6.0.9-servicing.22419.26" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="dotnet-dev-certs" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
</Dependency> </Dependency>
<Dependency Name="dotnet-user-secrets" Version="6.0.9-servicing.22419.26" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="dotnet-user-jwts" Version="7.0.0-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore</Uri> <Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>3fe12b935c03138f76364dc877a7e069e254b5b2</Sha> <Sha>c6865355c01e1fb170b65427846d939559ab3789</Sha>
</Dependency> </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-rtm.22512.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>c6865355c01e1fb170b65427846d939559ab3789</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> <Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha> <Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
</Dependency> </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.22503.2">
<Uri>https://github.com/dotnet/test-templates</Uri> <Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha> <Sha>aaaa0c1826f97a9dfcc67e94136bf01010b55f23</Sha>
</Dependency> </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.22503.2">
<Uri>https://github.com/dotnet/test-templates</Uri> <Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>9388790ba9ed8fef11584b2c74fe6789782a1592</Sha> <Sha>aaaa0c1826f97a9dfcc67e94136bf01010b55f23</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.0.2-beta4.22503.2">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>aaaa0c1826f97a9dfcc67e94136bf01010b55f23</Sha>
<SourceBuild RepoName="test-templates" ManagedOnly="true" /> <SourceBuild RepoName="test-templates" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="6.0.401" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="7.0.100-rtm.22512.19">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-templating</Uri> <Uri>https://github.com/dotnet/sdk</Uri>
<Sha>4ac7f473472dd810f75a183a760c16990c78fe34</Sha> <Sha>6772efe6f359786e0350c0f15638d0475c95cba4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="6.0.401-rtm.22420.12" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.TemplateEngine.Cli" Version="7.0.100-rtm.22512.19">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-templating</Uri> <Uri>https://github.com/dotnet/sdk</Uri>
<Sha>4ac7f473472dd810f75a183a760c16990c78fe34</Sha> <Sha>6772efe6f359786e0350c0f15638d0475c95cba4</Sha>
<SourceBuild RepoName="templating" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Common.ProjectTemplates.6.0" Version="6.0.401" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NET.Sdk" Version="7.0.100-rtm.22512.19">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-templating</Uri> <Uri>https://github.com/dotnet/sdk</Uri>
<Sha>4ac7f473472dd810f75a183a760c16990c78fe34</Sha> <Sha>6772efe6f359786e0350c0f15638d0475c95cba4</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk" Version="6.0.401-servicing.22421.5">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri>
<Sha>18485c488a5469beb10ad61263885275f2d3b170</Sha>
<SourceBuild RepoName="sdk" ManagedOnly="true" /> <SourceBuild RepoName="sdk" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="6.0.401-servicing.22421.5"> <Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="7.0.100-rtm.22512.19">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-sdk</Uri> <Uri>https://github.com/dotnet/sdk</Uri>
<Sha>18485c488a5469beb10ad61263885275f2d3b170</Sha> <Sha>6772efe6f359786e0350c0f15638d0475c95cba4</Sha>
</Dependency> </Dependency>
<!-- For coherency purposes, these versions should be gated by the versions of winforms and wpf routed via windowsdesktop --> <!-- 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.9-servicing.22419.10" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64"> <Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="7.0.0-rtm.22511.7" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-winforms</Uri> <Uri>https://github.com/dotnet/winforms</Uri>
<Sha>ec81900c9f76e0f25dbdcb7d7effcfb96cb6f77c</Sha> <Sha>631f7cf4c165b3a3da5ab8f8e974a00c0bf067d7</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="6.0.9-servicing.22420.4" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64"> <Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="7.0.0-rtm.22511.4" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-wpf</Uri> <Uri>https://github.com/dotnet/wpf</Uri>
<Sha>a97bb2af3c7d400dfe8aca3fa3d47ba83d925d6c</Sha> <Sha>fd949cc0bee03dece87b7430fbba99f150632b9d</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.0.4-beta.22410.1" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.FSharp.Compiler" Version="12.0.5-beta.22510.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri> <Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>d5218142e9d56ab25bb5d0034a77484be4dd7c17</Sha> <Sha>5bdd01cf158a4b214f11025fdd45ac7e4774509f</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="6.0.6-beta.22410.1" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="7.0.0-beta.22510.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri> <Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>d5218142e9d56ab25bb5d0034a77484be4dd7c17</Sha> <Sha>5bdd01cf158a4b214f11025fdd45ac7e4774509f</Sha>
<SourceBuild RepoName="fsharp" ManagedOnly="true" /> <SourceBuild RepoName="fsharp" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.3.0" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NET.Test.Sdk" Version="17.4.0-release-20220926-01" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/microsoft/vstest</Uri> <Uri>https://github.com/microsoft/vstest</Uri>
<Sha>c7ba2ca721808f830482ace6be06ae93077e0e7b</Sha> <Sha>576a7cc1b259976393cf576a6a9c5df967bb2b7d</Sha>
<SourceBuildTarball RepoName="vstest" ManagedOnly="true" /> <SourceBuild RepoName="vstest" ManagedOnly="true" />
</Dependency> </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.22471.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/linker</Uri> <Uri>https://github.com/dotnet/linker</Uri>
<Sha>28db36b95cf83c8e2ad11e67a2ad0de301b4cad6</Sha> <Sha>219e84c88def8276179f66282b2f7cb5f1d0d126</Sha>
<SourceBuild RepoName="linker" ManagedOnly="true" /> <SourceBuild RepoName="linker" ManagedOnly="true" />
<RepoName>linker</RepoName> <RepoName>linker</RepoName>
</Dependency> </Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.3.0-3.22415.1" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.4.0-3.22511.14" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri> <Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>8301d4840fa1a3e822c2cb17fdf7056fa6b41583</Sha> <Sha>a9c49e8b8633005d2d03516693950037a9cf7cc7</Sha>
<SourceBuild RepoName="roslyn" ManagedOnly="true" /> <SourceBuild RepoName="roslyn" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.Build" Version="17.3.1" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.Build" Version="17.5.0-preview-22507-04" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/msbuild</Uri> <Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>2badb37d109910fbd3155cf8743224b7a27494d8</Sha> <Sha>9e6f1455a81e01cb7780f1e8ed5041f20cd396a3</Sha>
<SourceBuildTarball RepoName="msbuild" ManagedOnly="true" /> <SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency> </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.3.107" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/nuget/nuget.client</Uri> <Uri>https://github.com/nuget/nuget.client</Uri>
<Sha>222ff7a5329be15520034b76fa1a84098d2ae9fd</Sha> <Sha>1a082949ae5b6da7ca2cce047396c53ae1afdde7</Sha>
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" /> <SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.ApplicationInsights" Version="2.0.0"> <Dependency Name="Microsoft.ApplicationInsights" Version="2.0.0">
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri> <Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha> <Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
</Dependency> </Dependency>
<!-- Temporarily pinning Microsoft.Web.Xdt until strict coherency is enabled by default --> <Dependency Name="Microsoft.NET.Workload.Emscripten.net6.Manifest-7.0.100" Version="7.0.0-rtm.22504.3" CoherentParentDependency="VS.Redist.Common.NetCore.SharedFramework.x64.7.0">
<Dependency Name="Microsoft.Web.Xdt" Version="5.0.0-preview.21431.1" CoherentParentDependency="Microsoft.NET.Sdk" Pinned="true">
<Uri>https://github.com/dotnet/xdt</Uri>
<Sha>698fdad58fa64a55f16cd9562c90224cc498ed02</Sha>
<SourceBuildTarball RepoName="xdt" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.Manifest-6.0.300" Version="6.0.4">
<Uri>https://github.com/dotnet/emsdk</Uri> <Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>52e9452f82e26f9fcae791e84c082ae22f1ef66f</Sha> <Sha>daca2015ce74956591df9c9dc7ee732af7863b42</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build" Version="0.1.0-alpha.1.21519.2" CoherentParentDependency="Microsoft.NET.Sdk"> <Dependency Name="Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100" Version="7.0.0-rtm.22504.3" CoherentParentDependency="VS.Redist.Common.NetCore.SharedFramework.x64.7.0">
<Uri>https://github.com/dotnet/source-build</Uri> <Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>10d0f7e94aa45889155c312f51cfc01bf326b853</Sha> <Sha>daca2015ce74956591df9c9dc7ee732af7863b42</Sha>
<SourceBuild RepoName="source-build" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Cli.CommandLine" Version="1.0.0-preview.21310.2"> <Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.0-preview5.1.22263.1">
<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">
<Uri>https://github.com/dotnet/deployment-tools</Uri> <Uri>https://github.com/dotnet/deployment-tools</Uri>
<Sha>7431bf2f3c204cbbc326c8d55ce4ac5cad7661d6</Sha> <Sha>c3ad00ae84489071080a606f6a8e43c9a91a5cc2</Sha>
<SourceBuildTarball RepoName="deployment-tools" ManagedOnly="true" /> <SourceBuildTarball RepoName="deployment-tools" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.diagnostics" Version="5.0.0-preview.21506.1"> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="7.0.0-alpha.1.22505.1">
<Uri>https://github.com/dotnet/diagnostics</Uri> <Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>ab3eb7a525e31dc6fb4d9cc0b7154fa2be58dac1</Sha> <Sha>c47ba6c19d50081f90008da8bc61b3ac20348f20</Sha>
<SourceBuildTarball RepoName="diagnostics" ManagedOnly="true" /> <SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="1.4.0-beta2-21475-02"> <Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="1.4.0-beta2-21475-02">
<Uri>https://github.com/dotnet/symreader</Uri> <Uri>https://github.com/dotnet/symreader</Uri>
<Sha>7b9791daa3a3477eb22ec805946c9fff8b42d8ca</Sha> <Sha>7b9791daa3a3477eb22ec805946c9fff8b42d8ca</Sha>
<SourceBuildTarball RepoName="symreader" ManagedOnly="true" /> <SourceBuild RepoName="symreader" ManagedOnly="true" />
</Dependency> </Dependency>
</ProductDependencies> </ProductDependencies>
<ToolsetDependencies> <ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22463.7"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22464.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>2fbe602d12256bf82de53791ddcbb964c1541b4e</Sha> <Sha>720af493900b2f2bdc48e9ee12577983a5c9be36</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" /> <SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.22463.7"> <Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="7.0.0-beta.22464.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>2fbe602d12256bf82de53791ddcbb964c1541b4e</Sha> <Sha>720af493900b2f2bdc48e9ee12577983a5c9be36</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22463.7"> <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="7.0.0-beta.22464.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>2fbe602d12256bf82de53791ddcbb964c1541b4e</Sha> <Sha>720af493900b2f2bdc48e9ee12577983a5c9be36</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.22419.2"> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="7.0.0-alpha.1.22504.2">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri> <Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>fdbbfadcaa5804038ad0a3f67c33f489cbeda65c</Sha> <Sha>8366acfc3e0660ceef6bddbe7794044e5d503521</Sha>
<SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" /> <SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency> </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-22429-01" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/sourcelink</Uri> <Uri>https://github.com/dotnet/sourcelink</Uri>
<Sha>8031e5220baf2acad991e661d8308b783d2acf3e</Sha> <Sha>e57efa1ed395dd6975b33052719facb24f03ee0b</Sha>
<SourceBuild RepoName="sourcelink" ManagedOnly="true" /> <SourceBuild RepoName="sourcelink" ManagedOnly="true" />
</Dependency> </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.22427.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/xliff-tasks</Uri> <Uri>https://github.com/dotnet/xliff-tasks</Uri>
<Sha>bc3233146e1fcd393ed471d5005333c83363e0fe</Sha> <Sha>740189d758fb3bbdc118c5b6171ef1a7351a8c44</Sha>
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" /> <SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
</Dependency> </Dependency>
</ToolsetDependencies> </ToolsetDependencies>

View file

@ -5,38 +5,44 @@
<UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies> <UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<VersionMajor>6</VersionMajor> <VersionMajor>7</VersionMajor>
<VersionMinor>0</VersionMinor> <VersionMinor>0</VersionMinor>
<VersionSDKMinor>4</VersionSDKMinor> <VersionSDKMinor>1</VersionSDKMinor>
<VersionFeature>03</VersionFeature> <VersionFeature>00</VersionFeature>
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix> <VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel> <PreReleaseVersionLabel>rtm</PreReleaseVersionLabel>
<PreReleaseVersionIteration>
</PreReleaseVersionIteration>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion> <MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion> <CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
<!-- Enable to remove prerelease label. --> <!-- Enable to remove prerelease label. -->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion> <StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind> <DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
</PropertyGroup> </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> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade --> <!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.22463.7</MicrosoftDotNetBuildTasksInstallersPackageVersion> <MicrosoftDotNetBuildTasksInstallersPackageVersion>7.0.0-beta.22464.4</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms --> <!-- Dependency from https://github.com/dotnet/winforms -->
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>6.0.9-servicing.22419.10</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion> <MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>7.0.0-rtm.22511.7</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/wpf --> <!-- Dependency from https://github.com/dotnet/wpf -->
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>6.0.9-servicing.22420.4</MicrosoftDotNetWpfProjectTemplatesPackageVersion> <MicrosoftDotNetWpfProjectTemplatesPackageVersion>7.0.0-rtm.22511.4</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/templating -->
<MicrosoftDotNetCommonItemTemplatesPackageVersion>6.0.401</MicrosoftDotNetCommonItemTemplatesPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates --> <!-- Dependency from https://github.com/dotnet/test-templates -->
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates50PackageVersion> <MicrosoftDotNetTestProjectTemplates30PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates30PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates60PackageVersion> <MicrosoftDotNetTestProjectTemplates50PackageVersion>1.0.2-beta4.22503.2</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22503.2</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.0.2-beta4.22503.2</MicrosoftDotNetTestProjectTemplates70PackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' --> <!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
@ -44,44 +50,46 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependencies from https://github.com/aspnet/AspNetCore --> <!-- Dependencies from https://github.com/aspnet/AspNetCore -->
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>6.0.9</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion> <MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>7.0.0-rtm.22512.1</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>6.0.9</MicrosoftAspNetCoreAppRefPackageVersion> <MicrosoftAspNetCoreAppRefPackageVersion>7.0.0-rtm.22512.1</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>6.0.9-servicing.22419.26</MicrosoftAspNetCoreAppRefInternalPackageVersion> <MicrosoftAspNetCoreAppRefInternalPackageVersion>7.0.0-rtm.22512.1</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6460PackageVersion>6.0.9-servicing.22419.26</VSRedistCommonAspNetCoreSharedFrameworkx6460PackageVersion> <VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion>7.0.0-rtm.22512.1</VSRedistCommonAspNetCoreSharedFrameworkx6470PackageVersion>
<dotnetdevcertsPackageVersion>6.0.9-servicing.22419.26</dotnetdevcertsPackageVersion> <dotnetdevcertsPackageVersion>7.0.0-rtm.22512.1</dotnetdevcertsPackageVersion>
<dotnetusersecretsPackageVersion>6.0.9-servicing.22419.26</dotnetusersecretsPackageVersion> <dotnetuserjwtsPackageVersion>7.0.0-rtm.22512.1</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>7.0.0-rtm.22512.1</dotnetusersecretsPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion> <MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sdk --> <!-- Dependencies from https://github.com/dotnet/sdk -->
<MicrosoftNETSdkPackageVersion>6.0.401-servicing.22421.5</MicrosoftNETSdkPackageVersion> <MicrosoftDotNetCommonItemTemplatesPackageVersion>7.0.100-rtm.22512.19</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>6.0.401-servicing.22421.5</MicrosoftDotNetMSBuildSdkResolverPackageVersion> <MicrosoftNETSdkPackageVersion>7.0.100-rtm.22512.19</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>7.0.100-rtm.22512.19</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion> <MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion> <MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion> <MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/corefx --> <!-- Dependencies from https://github.com/dotnet/corefx -->
<MicrosoftNETCorePlatformsPackageVersion>6.0.5</MicrosoftNETCorePlatformsPackageVersion> <MicrosoftNETCorePlatformsPackageVersion>7.0.0-rtm.22511.4</MicrosoftNETCorePlatformsPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/core-setup --> <!-- Dependencies from https://github.com/dotnet/core-setup -->
<VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion>6.0.9-servicing.22419.5</VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion> <VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion>7.0.0-rtm.22511.4</VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6460PackageVersion>6.0.9-servicing.22419.5</VSRedistCommonNetCoreTargetingPackx6460PackageVersion> <VSRedistCommonNetCoreTargetingPackx6470PackageVersion>7.0.0-rtm.22511.4</VSRedistCommonNetCoreTargetingPackx6470PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>6.0.9</MicrosoftNETCoreAppRuntimewinx64PackageVersion> <MicrosoftNETCoreAppRuntimewinx64PackageVersion>7.0.0-rtm.22511.4</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>6.0.9</MicrosoftNETCoreAppHostwinx64PackageVersion> <MicrosoftNETCoreAppHostwinx64PackageVersion>7.0.0-rtm.22511.4</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>6.0.9</MicrosoftNETCoreAppRefPackageVersion> <MicrosoftNETCoreAppRefPackageVersion>7.0.0-rtm.22511.4</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>6.0.9</MicrosoftNETCoreDotNetHostResolverPackageVersion> <MicrosoftNETCoreDotNetHostResolverPackageVersion>7.0.0-rtm.22511.4</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion> <NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/windowsdesktop --> <!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
<VSRedistCommonWindowsDesktopSharedFrameworkx6460PackageVersion>6.0.9-servicing.22420.3</VSRedistCommonWindowsDesktopSharedFrameworkx6460PackageVersion> <VSRedistCommonWindowsDesktopSharedFrameworkx6470PackageVersion>7.0.0-rtm.22511.3</VSRedistCommonWindowsDesktopSharedFrameworkx6470PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6460PackageVersion>6.0.9-servicing.22420.3</VSRedistCommonWindowsDesktopTargetingPackx6460PackageVersion> <VSRedistCommonWindowsDesktopTargetingPackx6470PackageVersion>7.0.0-rtm.22511.3</VSRedistCommonWindowsDesktopTargetingPackx6470PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>6.0.9</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion> <MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>7.0.0</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>6.0.9</MicrosoftWindowsDesktopAppRefPackageVersion> <MicrosoftWindowsDesktopAppRefPackageVersion>7.0.0</MicrosoftWindowsDesktopAppRefPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 --> <!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
@ -97,10 +105,14 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Cross-release dependency versions --> <!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.3</MicrosoftDotNetCommonItemTemplates50PackageVersion> <MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.403</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.0-rc.2.20474.4</MicrosoftAspNetCoreAppRuntime50PackageVersion> <MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.13</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.1</MicrosoftAspNetCoreAppRuntime60PackageVersion>
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion> <MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion> <MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
<MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion>
<MicrosoftWPFProjectTemplates60PackageVersion>6.0.7-servicing.22322.2</MicrosoftWPFProjectTemplates60PackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion> <HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion>
@ -110,13 +122,20 @@
<WixPackageVersion>1.0.0-v3.14.0.5722</WixPackageVersion> <WixPackageVersion>1.0.0-v3.14.0.5722</WixPackageVersion>
</PropertyGroup> </PropertyGroup>
<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 --> <!-- 6.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion> <MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftWinFormsProjectTemplates60PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>
<MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftDotNetWpfProjectTemplatesPackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion> <MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftWPFProjectTemplates60PackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion>
<NUnit3Templates60PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates60PackageVersion> <NUnit3Templates60PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion> <MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>6.0.401</MicrosoftDotNetCommonProjectTemplates60PackageVersion> <MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor60Templates> <AspNetCorePackageVersionFor60Templates>6.0.9</AspNetCorePackageVersionFor60Templates>
<!-- 5.0 Template versions --> <!-- 5.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion> <MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion> <MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
@ -128,7 +147,7 @@
<MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>4.8.1-servicing.19605.5</MicrosoftDotnetWinFormsProjectTemplates31PackageVersion> <MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>4.8.1-servicing.19605.5</MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>
<MicrosoftDotNetWpfProjectTemplates31PackageVersion>3.1.2-servicing.20066.4</MicrosoftDotNetWpfProjectTemplates31PackageVersion> <MicrosoftDotNetWpfProjectTemplates31PackageVersion>3.1.2-servicing.20066.4</MicrosoftDotNetWpfProjectTemplates31PackageVersion>
<NUnit3Templates31PackageVersion>1.7.2</NUnit3Templates31PackageVersion> <NUnit3Templates31PackageVersion>1.7.2</NUnit3Templates31PackageVersion>
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.15</MicrosoftDotNetCommonItemTemplates31PackageVersion> <MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.27</MicrosoftDotNetCommonItemTemplates31PackageVersion>
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion> <MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion> <MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
<AspNetCorePackageVersionFor31Templates>3.1.29</AspNetCorePackageVersionFor31Templates> <AspNetCorePackageVersionFor31Templates>3.1.29</AspNetCorePackageVersionFor31Templates>
@ -139,20 +158,20 @@
<NUnit3Templates30PackageVersion>1.6.5</NUnit3Templates30PackageVersion> <NUnit3Templates30PackageVersion>1.6.5</NUnit3Templates30PackageVersion>
<MicrosoftDotNetCommonItemTemplates30PackageVersion>2.0.0-preview8.19373.1</MicrosoftDotNetCommonItemTemplates30PackageVersion> <MicrosoftDotNetCommonItemTemplates30PackageVersion>2.0.0-preview8.19373.1</MicrosoftDotNetCommonItemTemplates30PackageVersion>
<MicrosoftDotNetCommonProjectTemplates30PackageVersion>$(MicrosoftDotNetCommonItemTemplates30PackageVersion)</MicrosoftDotNetCommonProjectTemplates30PackageVersion> <MicrosoftDotNetCommonProjectTemplates30PackageVersion>$(MicrosoftDotNetCommonItemTemplates30PackageVersion)</MicrosoftDotNetCommonProjectTemplates30PackageVersion>
<MicrosoftDotNetTestProjectTemplates30PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates30PackageVersion> <MicrosoftDotNetTestProjectTemplates30PackageVersion>$(MicrosoftDotNetTestProjectTemplates30PackageVersion)</MicrosoftDotNetTestProjectTemplates30PackageVersion>
<AspNetCorePackageVersionFor30Templates>3.0.1</AspNetCorePackageVersionFor30Templates> <AspNetCorePackageVersionFor30Templates>3.0.1</AspNetCorePackageVersionFor30Templates>
<!-- 2.1 Template versions --> <!-- 2.1 Template versions -->
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion> <NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion> <MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
<MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion> <MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion>
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates21PackageVersion> <MicrosoftDotNetTestProjectTemplates21PackageVersion>$(MicrosoftDotNetTestProjectTemplates30PackageVersion)</MicrosoftDotNetTestProjectTemplates21PackageVersion>
<AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates> <AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates>
</PropertyGroup> </PropertyGroup>
<!-- infrastructure and test only dependencies --> <!-- infrastructure and test only dependencies -->
<PropertyGroup> <PropertyGroup>
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion> <VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion> <DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
<MicrosoftNETTestSdkVersion>17.3.0</MicrosoftNETTestSdkVersion> <MicrosoftNETTestSdkVersion>17.4.0-release-20220926-01</MicrosoftNETTestSdkVersion>
</PropertyGroup> </PropertyGroup>
<!-- dependencies for source-build tarball --> <!-- dependencies for source-build tarball -->
<PropertyGroup> <PropertyGroup>
@ -174,23 +193,32 @@
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
necessary, and this property is removed from the file. necessary, and this property is removed from the file.
--> -->
<PrivateSourceBuiltArtifactsPackageVersion>6.0.107</PrivateSourceBuiltArtifactsPackageVersion> <PrivateSourceBuiltArtifactsPackageVersion>7.0.100-rc.2</PrivateSourceBuiltArtifactsPackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Workload manifest package versions --> <!-- Workload manifest package versions -->
<PropertyGroup> <PropertyGroup>
<MauiWorkloadManifestVersion>6.0.312</MauiWorkloadManifestVersion> <MauiFeatureBand>7.0.100-rc.1</MauiFeatureBand>
<XamarinAndroidWorkloadManifestVersion>32.0.301</XamarinAndroidWorkloadManifestVersion> <MauiWorkloadManifestVersion>7.0.0-rc.1.6430</MauiWorkloadManifestVersion>
<XamarinIOSWorkloadManifestVersion>15.4.303</XamarinIOSWorkloadManifestVersion> <XamarinAndroidWorkloadManifestVersion>33.0.0-rc.1.136</XamarinAndroidWorkloadManifestVersion>
<XamarinMacCatalystWorkloadManifestVersion>15.4.303</XamarinMacCatalystWorkloadManifestVersion> <XamarinIOSWorkloadManifestVersion>15.4.1006-rc.1</XamarinIOSWorkloadManifestVersion>
<XamarinMacOSWorkloadManifestVersion>12.3.303</XamarinMacOSWorkloadManifestVersion> <XamarinMacCatalystWorkloadManifestVersion>15.4.1006-rc.1</XamarinMacCatalystWorkloadManifestVersion>
<XamarinTvOSWorkloadManifestVersion>15.4.303</XamarinTvOSWorkloadManifestVersion> <XamarinMacOSWorkloadManifestVersion>12.3.1006-rc.1</XamarinMacOSWorkloadManifestVersion>
<MonoWorkloadManifestVersion>6.0.5</MonoWorkloadManifestVersion> <XamarinTvOSWorkloadManifestVersion>15.4.1006-rc.1</XamarinTvOSWorkloadManifestVersion>
<MicrosoftNETWorkloadEmscriptenManifest60200Version>6.0.4</MicrosoftNETWorkloadEmscriptenManifest60200Version> <MonoWorkloadManifestVersion>$(MicrosoftNETCoreAppRefPackageVersion)</MonoWorkloadManifestVersion>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenManifest60200Version)</EmscriptenWorkloadManifestVersion> <MicrosoftNETWorkloadEmscriptennet6Manifest70100Version>7.0.0-rtm.22504.3</MicrosoftNETWorkloadEmscriptennet6Manifest70100Version>
<MicrosoftNETWorkloadEmscriptennet7Manifest70100Version>7.0.0-rtm.22504.3</MicrosoftNETWorkloadEmscriptennet7Manifest70100Version>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptennet7Manifest70100Version)</EmscriptenWorkloadManifestVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- pinned dependency. This package is not being produced outside of the 2.0 branch of corefx and should not change. --> <!-- 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> <CLI_NETStandardLibraryNETFrameworkVersion>2.0.1-servicing-26011-01</CLI_NETStandardLibraryNETFrameworkVersion>
</PropertyGroup> </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" /> <Import Project="$(RepositoryEngineeringDir)ManualVersions.props" />
</Project> </Project>

View file

@ -129,16 +129,6 @@ phases:
$(_InternalRuntimeDownloadArgs) $(_InternalRuntimeDownloadArgs)
displayName: Build displayName: Build
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.agentOs, 'Windows_NT'), ne(variables['PostBuildSign'], 'true')) }}:
- task: NuGetCommand@2
displayName: Push Visual Studio NuPkgs
inputs:
command: push
packagesToPush: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/NonShipping/VS.*.nupkg'
nuGetFeedType: external
publishFeedCredentials: 'DevDiv - VS package feed'
condition: and(succeeded(), ne(variables['PostBuildSign'], true), eq(variables['_PushToVSFeed'], 'true'), eq(variables['_DotNetPublishToBlobFeed'], 'true'), or(eq(variables['_BuildArchitecture'], 'x64'), eq(variables['_BuildArchitecture'], 'x86')))
- task: PublishTestResults@2 - task: PublishTestResults@2
displayName: Publish Test Results displayName: Publish Test Results
inputs: inputs:

View file

@ -146,22 +146,22 @@ $userName = "dn-bot"
# Insert credential nodes for Maestro's private feeds # Insert credential nodes for Maestro's private feeds
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password 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']") $dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
if ($dotnet31Source -ne $null) { 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" -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 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']") $dotnetVersions = @('5','6','7')
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
}
$dotnet6Source = $sources.SelectSingleNode("add[@key='dotnet6']") foreach ($dotnetVersion in $dotnetVersions) {
if ($dotnet6Source -ne $null) { $feedPrefix = "dotnet" + $dotnetVersion;
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 $dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
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 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) $doc.Save($filename)

View file

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

View file

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

View file

@ -0,0 +1,11 @@
deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse

View file

@ -0,0 +1,11 @@
deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

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,11 @@
deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse

View file

@ -0,0 +1,11 @@
deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse

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,22 +4,27 @@ set -e
usage() usage()
{ {
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir <directory>]" echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
echo "BuildArch can be: arm(default), armel, arm64, x86" 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.9 or alpine3.13. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." 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: freebsd11, freebsd12, freebsd13" echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for illumos can be: illumos." echo " for illumos can be: illumos"
echo " for Haiku can be: haiku."
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 "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 "--skipunmount - optional, will skip the unmount of rootfs folder."
echo "--use-mirror - optional, use mirror URL to fetch resources, when available." echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
echo "--jobs N - optional, restrict to N jobs."
exit 1 exit 1
} }
__CodeName=xenial __CodeName=xenial
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) __CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
__InitialDir=$PWD
__BuildArch=arm __BuildArch=arm
__AlpineArch=armv7 __AlpineArch=armv7
__FreeBSDArch=arm
__FreeBSDMachineArch=armv7
__IllumosArch=arm7
__QEMUArch=arm __QEMUArch=arm
__UbuntuArch=armhf __UbuntuArch=armhf
__UbuntuRepo="http://ports.ubuntu.com/" __UbuntuRepo="http://ports.ubuntu.com/"
@ -32,14 +37,14 @@ __UbuntuPackages="build-essential"
__AlpinePackages="alpine-base" __AlpinePackages="alpine-base"
__AlpinePackages+=" build-base" __AlpinePackages+=" build-base"
__AlpinePackages+=" linux-headers" __AlpinePackages+=" linux-headers"
__AlpinePackagesEdgeCommunity=" lldb-dev" __AlpinePackages+=" lldb-dev"
__AlpinePackagesEdgeMain+=" python3" __AlpinePackages+=" python3"
__AlpinePackagesEdgeMain+=" libedit" __AlpinePackages+=" libedit"
# symlinks fixer # symlinks fixer
__UbuntuPackages+=" symlinks" __UbuntuPackages+=" symlinks"
# CoreCLR and CoreFX dependencies # runtime dependencies
__UbuntuPackages+=" libicu-dev" __UbuntuPackages+=" libicu-dev"
__UbuntuPackages+=" liblttng-ust-dev" __UbuntuPackages+=" liblttng-ust-dev"
__UbuntuPackages+=" libunwind8-dev" __UbuntuPackages+=" libunwind8-dev"
@ -48,8 +53,9 @@ __AlpinePackages+=" gettext-dev"
__AlpinePackages+=" icu-dev" __AlpinePackages+=" icu-dev"
__AlpinePackages+=" libunwind-dev" __AlpinePackages+=" libunwind-dev"
__AlpinePackages+=" lttng-ust-dev" __AlpinePackages+=" lttng-ust-dev"
__AlpinePackages+=" compiler-rt-static"
# CoreFX dependencies # runtime libraries' dependencies
__UbuntuPackages+=" libcurl4-openssl-dev" __UbuntuPackages+=" libcurl4-openssl-dev"
__UbuntuPackages+=" libkrb5-dev" __UbuntuPackages+=" libkrb5-dev"
__UbuntuPackages+=" libssl-dev" __UbuntuPackages+=" libssl-dev"
@ -60,36 +66,48 @@ __AlpinePackages+=" krb5-dev"
__AlpinePackages+=" openssl-dev" __AlpinePackages+=" openssl-dev"
__AlpinePackages+=" zlib-dev" __AlpinePackages+=" zlib-dev"
__FreeBSDBase="12.2-RELEASE" __FreeBSDBase="12.3-RELEASE"
__FreeBSDPkg="1.12.0" __FreeBSDPkg="1.17.0"
__FreeBSDABI="12" __FreeBSDABI="12"
__FreeBSDPackages="libunwind" __FreeBSDPackages="libunwind"
__FreeBSDPackages+=" icu" __FreeBSDPackages+=" icu"
__FreeBSDPackages+=" libinotify" __FreeBSDPackages+=" libinotify"
__FreeBSDPackages+=" lttng-ust" __FreeBSDPackages+=" openssl"
__FreeBSDPackages+=" krb5" __FreeBSDPackages+=" krb5"
__FreeBSDPackages+=" terminfo-db" __FreeBSDPackages+=" terminfo-db"
__IllumosPackages="icu-64.2nb2" __IllumosPackages="icu"
__IllumosPackages+=" mit-krb5-1.16.2nb4" __IllumosPackages+=" mit-krb5"
__IllumosPackages+=" openssl-1.1.1e" __IllumosPackages+=" openssl"
__IllumosPackages+=" zlib-1.2.11" __IllumosPackages+=" zlib"
__HaikuPackages="gmp"
__HaikuPackages+=" gmp_devel"
__HaikuPackages+=" krb5"
__HaikuPackages+=" krb5_devel"
__HaikuPackages+=" libiconv"
__HaikuPackages+=" libiconv_devel"
__HaikuPackages+=" llvm12_libunwind"
__HaikuPackages+=" llvm12_libunwind_devel"
__HaikuPackages+=" mpfr"
__HaikuPackages+=" mpfr_devel"
# ML.NET dependencies # ML.NET dependencies
__UbuntuPackages+=" libomp5" __UbuntuPackages+=" libomp5"
__UbuntuPackages+=" libomp-dev" __UbuntuPackages+=" libomp-dev"
__Keyring=
__UseMirror=0 __UseMirror=0
__UnprocessedBuildArgs= __UnprocessedBuildArgs=
while :; do while :; do
if [ $# -le 0 ]; then if [[ "$#" -le 0 ]]; then
break break
fi fi
lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")" lowerI="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case $lowerI in case $lowerI in
-?|-h|--help) -\?|-h|--help)
usage usage
exit 1 exit 1
;; ;;
@ -104,6 +122,8 @@ while :; do
__UbuntuArch=arm64 __UbuntuArch=arm64
__AlpineArch=aarch64 __AlpineArch=aarch64
__QEMUArch=aarch64 __QEMUArch=aarch64
__FreeBSDArch=arm64
__FreeBSDMachineArch=aarch64
;; ;;
armel) armel)
__BuildArch=armel __BuildArch=armel
@ -111,6 +131,39 @@ while :; do
__UbuntuRepo="http://ftp.debian.org/debian/" __UbuntuRepo="http://ftp.debian.org/debian/"
__CodeName=jessie __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) s390x)
__BuildArch=s390x __BuildArch=s390x
__UbuntuArch=s390x __UbuntuArch=s390x
@ -120,47 +173,69 @@ while :; do
__UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libomp5//') __UbuntuPackages=$(echo ${__UbuntuPackages} | sed 's/ libomp5//')
unset __LLDB_Package unset __LLDB_Package
;; ;;
x64)
__BuildArch=x64
__UbuntuArch=amd64
__FreeBSDArch=amd64
__FreeBSDMachineArch=amd64
__illumosArch=x86_64
__UbuntuRepo=
;;
x86) x86)
__BuildArch=x86 __BuildArch=x86
__UbuntuArch=i386 __UbuntuArch=i386
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/" __UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
;; ;;
lldb3.6) lldb*)
__LLDB_Package="lldb-3.6-dev" version="${lowerI/lldb/}"
;; parts=(${version//./ })
lldb3.8)
__LLDB_Package="lldb-3.8-dev" # for versions > 6.0, lldb has dropped the minor version
;; if [[ "${parts[0]}" -gt 6 ]]; then
lldb3.9) version="${parts[0]}"
__LLDB_Package="liblldb-3.9-dev" fi
;;
lldb4.0) __LLDB_Package="liblldb-${version}-dev"
__LLDB_Package="liblldb-4.0-dev"
;;
lldb5.0)
__LLDB_Package="liblldb-5.0-dev"
;;
lldb6.0)
__LLDB_Package="liblldb-6.0-dev"
;; ;;
no-lldb) no-lldb)
unset __LLDB_Package unset __LLDB_Package
;; ;;
llvm*)
version="${lowerI/llvm/}"
parts=(${version//./ })
__LLVM_MajorVersion="${parts[0]}"
__LLVM_MinorVersion="${parts[1]}"
# for versions > 6.0, llvm has dropped the minor version
if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then
__LLVM_MinorVersion=0;
fi
;;
xenial) # Ubuntu 16.04 xenial) # Ubuntu 16.04
if [ "$__CodeName" != "jessie" ]; then if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=xenial __CodeName=xenial
fi fi
;; ;;
zesty) # Ubuntu 17.04 zesty) # Ubuntu 17.04
if [ "$__CodeName" != "jessie" ]; then if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=zesty __CodeName=zesty
fi fi
;; ;;
bionic) # Ubuntu 18.04 bionic) # Ubuntu 18.04
if [ "$__CodeName" != "jessie" ]; then if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=bionic __CodeName=bionic
fi fi
;; ;;
focal) # Ubuntu 20.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=focal
fi
;;
jammy) # Ubuntu 22.04
if [[ "$__CodeName" != "jessie" ]]; then
__CodeName=jammy
fi
;;
jessie) # Debian 8 jessie) # Debian 8
__CodeName=jessie __CodeName=jessie
__UbuntuRepo="http://ftp.debian.org/debian/" __UbuntuRepo="http://ftp.debian.org/debian/"
@ -176,51 +251,38 @@ while :; do
__LLDB_Package="liblldb-6.0-dev" __LLDB_Package="liblldb-6.0-dev"
;; ;;
tizen) tizen)
if [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ]; then
echo "Tizen is available only for armel and arm64."
usage;
exit 1;
fi
__CodeName= __CodeName=
__UbuntuRepo= __UbuntuRepo=
__Tizen=tizen __Tizen=tizen
;; ;;
alpine|alpine3.9) alpine|alpine3.13)
__CodeName=alpine
__UbuntuRepo=
__AlpineVersion=3.9
__AlpinePackagesEdgeMain+=" llvm11-libs"
__AlpinePackagesEdgeMain+=" clang-libs"
;;
alpine3.13)
__CodeName=alpine __CodeName=alpine
__UbuntuRepo= __UbuntuRepo=
__AlpineVersion=3.13 __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" __AlpinePackages+=" llvm10-libs"
;; ;;
freebsd11) alpine3.14)
__FreeBSDBase="11.3-RELEASE" __CodeName=alpine
__FreeBSDABI="11" __UbuntuRepo=
;& __AlpineVersion=3.14
__AlpinePackages+=" llvm11-libs"
;;
freebsd12) freebsd12)
__CodeName=freebsd __CodeName=freebsd
__BuildArch=x64
__SkipUnmount=1 __SkipUnmount=1
;; ;;
freebsd13) freebsd13)
__CodeName=freebsd __CodeName=freebsd
__FreeBSDBase="13.0-RELEASE" __FreeBSDBase="13.0-RELEASE"
__FreeBSDABI="13" __FreeBSDABI="13"
__BuildArch=x64
__SkipUnmount=1 __SkipUnmount=1
;; ;;
illumos) illumos)
__CodeName=illumos __CodeName=illumos
__SkipUnmount=1
;;
haiku)
__CodeName=haiku
__BuildArch=x64 __BuildArch=x64
__SkipUnmount=1 __SkipUnmount=1
;; ;;
@ -229,11 +291,15 @@ while :; do
;; ;;
--rootfsdir|-rootfsdir) --rootfsdir|-rootfsdir)
shift shift
__RootfsDir=$1 __RootfsDir="$1"
;; ;;
--use-mirror) --use-mirror)
__UseMirror=1 __UseMirror=1
;; ;;
--use-jobs)
shift
MAXJOBS=$1
;;
*) *)
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $1" __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
;; ;;
@ -242,85 +308,76 @@ while :; do
shift shift
done done
if [ "$__BuildArch" == "armel" ]; then if [[ "$__BuildArch" == "armel" ]]; then
__LLDB_Package="lldb-3.5-dev" __LLDB_Package="lldb-3.5-dev"
fi fi
__UbuntuPackages+=" ${__LLDB_Package:-}" __UbuntuPackages+=" ${__LLDB_Package:-}"
if [ -z "$__RootfsDir" ] && [ ! -z "$ROOTFS_DIR" ]; then if [[ -n "$__LLVM_MajorVersion" ]]; then
__RootfsDir=$ROOTFS_DIR __UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev"
fi 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" __RootfsDir="$__CrossDir/../../../.tools/rootfs/$__BuildArch"
fi fi
if [ -d "$__RootfsDir" ]; then if [[ -d "$__RootfsDir" ]]; then
if [ $__SkipUnmount == 0 ]; then if [[ "$__SkipUnmount" == "0" ]]; then
umount $__RootfsDir/* || true umount "$__RootfsDir"/* || true
fi fi
rm -rf $__RootfsDir rm -rf "$__RootfsDir"
fi fi
mkdir -p $__RootfsDir mkdir -p "$__RootfsDir"
__RootfsDir="$( cd "$__RootfsDir" && pwd )" __RootfsDir="$( cd "$__RootfsDir" && pwd )"
if [[ "$__CodeName" == "alpine" ]]; then if [[ "$__CodeName" == "alpine" ]]; then
__ApkToolsVersion=2.9.1 __ApkToolsVersion=2.9.1
__ApkToolsDir=$(mktemp -d) __ApkToolsDir="$(mktemp -d)"
wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir 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 tar -xf "$__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz" -C "$__ApkToolsDir"
mkdir -p $__RootfsDir/usr/bin mkdir -p "$__RootfsDir"/usr/bin
cp -v /usr/bin/qemu-$__QEMUArch-static $__RootfsDir/usr/bin cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin"
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ "$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk" \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main \ -X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main" \
-X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community \ -X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community" \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ -U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" --initdb \
add $__AlpinePackages add $__AlpinePackages
if [[ -n "$__AlpinePackagesEdgeMain" ]]; then rm -r "$__ApkToolsDir"
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
-X http://dl-cdn.alpinelinux.org/alpine/edge/main \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
add $__AlpinePackagesEdgeMain
fi
if [[ -n "$__AlpinePackagesEdgeCommunity" ]]; then
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
-X http://dl-cdn.alpinelinux.org/alpine/edge/community \
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
add $__AlpinePackagesEdgeCommunity
fi
rm -r $__ApkToolsDir
elif [[ "$__CodeName" == "freebsd" ]]; then elif [[ "$__CodeName" == "freebsd" ]]; then
mkdir -p $__RootfsDir/usr/local/etc mkdir -p "$__RootfsDir"/usr/local/etc
JOBS="$(getconf _NPROCESSORS_ONLN)" JOBS=${MAXJOBS:="$(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 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}:amd64\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > ${__RootfsDir}/usr/local/etc/pkg.conf 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 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 mkdir -p "$__RootfsDir"/tmp
# get and build package manager # get and build package manager
wget -O - https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz | tar -C $__RootfsDir/tmp -zxf - wget -O - "https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz" | tar -C "$__RootfsDir"/tmp -zxf -
cd $__RootfsDir/tmp/pkg-${__FreeBSDPkg} cd "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# needed for install to succeed # needed for install to succeed
mkdir -p $__RootfsDir/host/etc mkdir -p "$__RootfsDir"/host/etc
./autogen.sh && ./configure --prefix=$__RootfsDir/host && make -j "$JOBS" && make install ./autogen.sh && ./configure --prefix="$__RootfsDir"/host && make -j "$JOBS" && make install
rm -rf $__RootfsDir/tmp/pkg-${__FreeBSDPkg} rm -rf "$__RootfsDir/tmp/pkg-${__FreeBSDPkg}"
# install packages we need. # 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 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 install --yes $__FreeBSDPackages
elif [[ "$__CodeName" == "illumos" ]]; then elif [[ "$__CodeName" == "illumos" ]]; then
mkdir "$__RootfsDir/tmp" mkdir "$__RootfsDir/tmp"
pushd "$__RootfsDir/tmp" pushd "$__RootfsDir/tmp"
JOBS="$(getconf _NPROCESSORS_ONLN)" JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
echo "Downloading sysroot." echo "Downloading sysroot."
wget -O - https://github.com/illumos/sysroot/releases/download/20181213-de6af22ae73b-v1/illumos-sysroot-i386-20181213-de6af22ae73b-v1.tar.gz | tar -C "$__RootfsDir" -xzf - wget -O - https://github.com/illumos/sysroot/releases/download/20181213-de6af22ae73b-v1/illumos-sysroot-i386-20181213-de6af22ae73b-v1.tar.gz | tar -C "$__RootfsDir" -xzf -
echo "Building binutils. Please wait.." echo "Building binutils. Please wait.."
wget -O - https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf - wget -O - https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
mkdir build-binutils && cd build-binutils 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 .. make -j "$JOBS" && make install && cd ..
echo "Building gcc. Please wait.." 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 - wget -O - https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
@ -330,7 +387,7 @@ elif [[ "$__CodeName" == "illumos" ]]; then
CFLAGS_FOR_TARGET="-fPIC" CFLAGS_FOR_TARGET="-fPIC"
export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET
mkdir build-gcc && cd build-gcc 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 \ --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 --disable-libquadmath-support --disable-shared --enable-tls
make -j "$JOBS" && make install && cd .. make -j "$JOBS" && make install && cd ..
@ -338,14 +395,18 @@ elif [[ "$__CodeName" == "illumos" ]]; then
if [[ "$__UseMirror" == 1 ]]; then if [[ "$__UseMirror" == 1 ]]; then
BaseUrl=http://pkgsrc.smartos.skylime.net BaseUrl=http://pkgsrc.smartos.skylime.net
fi fi
BaseUrl="$BaseUrl"/packages/SmartOS/2020Q1/x86_64/All BaseUrl="$BaseUrl/packages/SmartOS/trunk/${__illumosArch}/All"
echo "Downloading manifest"
wget "$BaseUrl"
echo "Downloading dependencies." echo "Downloading dependencies."
read -ra array <<<"$__IllumosPackages" read -ra array <<<"$__IllumosPackages"
for package in "${array[@]}"; do for package in "${array[@]}"; do
echo "Installing $package..." echo "Installing '$package'"
package="$(grep ">$package-[0-9]" All | sed -En 's/.*href="(.*)\.tgz".*/\1/p')"
echo "Resolved name '$package'"
wget "$BaseUrl"/"$package".tgz wget "$BaseUrl"/"$package".tgz
ar -x "$package".tgz ar -x "$package".tgz
tar --skip-old-files -xzf "$package".tmp.tgz -C "$__RootfsDir" 2>/dev/null tar --skip-old-files -xzf "$package".tmp.tg* -C "$__RootfsDir" 2>/dev/null
done done
echo "Cleaning up temporary files." echo "Cleaning up temporary files."
popd popd
@ -356,26 +417,90 @@ 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/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/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 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 elif [[ "$__CodeName" == "haiku" ]]; then
qemu-debootstrap --arch $__UbuntuArch $__CodeName $__RootfsDir $__UbuntuRepo JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
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 echo "Building Haiku sysroot for x86_64"
umount $__RootfsDir/* || true mkdir -p "$__RootfsDir/tmp"
cd "$__RootfsDir/tmp"
git clone -b hrev56235 https://review.haiku-os.org/haiku
git clone -b btrev43195 https://review.haiku-os.org/buildtools
cd "$__RootfsDir/tmp/buildtools" && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
# Fetch some unmerged patches
cd "$__RootfsDir/tmp/haiku"
## Add development build profile (slimmer than nightly)
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign=false cherry-pick FETCH_HEAD
# Build jam
cd "$__RootfsDir/tmp/buildtools/jam"
make
# Configure cross tools
echo "Building cross-compiler"
mkdir -p "$__RootfsDir/generated"
cd "$__RootfsDir/generated"
"$__RootfsDir/tmp/haiku/configure" -j"$JOBS" --sysroot "$__RootfsDir" --cross-tools-source "$__RootfsDir/tmp/buildtools" --build-cross-tools x86_64
# Build Haiku packages
echo "Building Haiku"
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
"$__RootfsDir/tmp/buildtools/jam/jam0" -j"$JOBS" -q '<build>package' '<repository>Haiku'
BaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
# Download additional packages
echo "Downloading additional required packages"
read -ra array <<<"$__HaikuPackages"
for package in "${array[@]}"; do
echo "Downloading $package..."
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
--header='Content-Type:application/json' "$BaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
wget -P "$__RootfsDir/generated/download" "$hpkgDownloadUrl"
done
# Setup the sysroot
echo "Setting up sysroot and extracting needed packages"
mkdir -p "$__RootfsDir/boot/system"
for file in "$__RootfsDir/generated/objects/haiku/x86_64/packaging/packages/"*.hpkg; do
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
done
for file in "$__RootfsDir/generated/download/"*.hpkg; do
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
done
# Cleaning up temporary files
echo "Cleaning up temporary files"
rm -rf "$__RootfsDir/tmp"
for name in "$__RootfsDir/generated/"*; do
if [[ "$name" =~ "cross-tools-" ]]; then
: # Keep the cross-compiler
else
rm -rf "$name"
fi
done
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
fi fi
if [[ "$__BuildArch" == "armel" && "$__CodeName" == "jessie" ]]; then if [[ "$__BuildArch" == "armel" && "$__CodeName" == "jessie" ]]; then
pushd $__RootfsDir pushd "$__RootfsDir"
patch -p1 < $__CrossDir/$__BuildArch/armel.jessie.patch patch -p1 < "$__CrossDir/$__BuildArch/armel.jessie.patch"
popd popd
fi fi
elif [[ "$__Tizen" == "tizen" ]]; then elif [[ "$__Tizen" == "tizen" ]]; then
ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh ROOTFS_DIR="$__RootfsDir" "$__CrossDir/$__BuildArch/tizen-build-rootfs.sh"
else else
echo "Unsupported target platform." echo "Unsupported target platform."
usage; 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,25 @@ set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version) if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
set(CMAKE_SYSTEM_NAME FreeBSD) set(CMAKE_SYSTEM_NAME FreeBSD)
set(FREEBSD 1)
elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc) elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
set(CMAKE_SYSTEM_NAME SunOS) set(CMAKE_SYSTEM_NAME SunOS)
set(ILLUMOS 1) set(ILLUMOS 1)
elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
set(CMAKE_SYSTEM_NAME Haiku)
else() else()
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_NAME Linux)
set(LINUX 1)
endif() endif()
set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_VERSION 1)
if(TARGET_ARCH_NAME STREQUAL "armel") if(EXISTS ${CROSS_ROOTFS}/etc/tizen-release)
set(CMAKE_SYSTEM_PROCESSOR armv7l) set(TIZEN 1)
set(TOOLCHAIN "arm-linux-gnueabi") elseif(EXISTS ${CROSS_ROOTFS}/android_platform)
if("$ENV{__DistroRid}" MATCHES "tizen.*") set(ANDROID 1)
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0") endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm") if(TARGET_ARCH_NAME STREQUAL "arm")
set(CMAKE_SYSTEM_PROCESSOR armv7l) set(CMAKE_SYSTEM_PROCESSOR armv7l)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv7-alpine-linux-musleabihf) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv7-alpine-linux-musleabihf)
set(TOOLCHAIN "armv7-alpine-linux-musleabihf") set(TOOLCHAIN "armv7-alpine-linux-musleabihf")
@ -26,30 +30,65 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm")
else() else()
set(TOOLCHAIN "arm-linux-gnueabihf") set(TOOLCHAIN "arm-linux-gnueabihf")
endif() endif()
if(TIZEN)
set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64") elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_SYSTEM_PROCESSOR aarch64)
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl)
set(TOOLCHAIN "aarch64-alpine-linux-musl") set(TOOLCHAIN "aarch64-alpine-linux-musl")
else() elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu") set(TOOLCHAIN "aarch64-linux-gnu")
endif() if(TIZEN)
if("$ENV{__DistroRid}" MATCHES "tizen.*")
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0") set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
endif() endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
endif()
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") elseif(TARGET_ARCH_NAME STREQUAL "s390x")
set(CMAKE_SYSTEM_PROCESSOR s390x) set(CMAKE_SYSTEM_PROCESSOR s390x)
set(TOOLCHAIN "s390x-linux-gnu") 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")
elseif(HAIKU)
set(TOOLCHAIN "x64_64-unknown-haiku")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86") elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(CMAKE_SYSTEM_PROCESSOR i686) set(CMAKE_SYSTEM_PROCESSOR i686)
set(TOOLCHAIN "i686-linux-gnu") set(TOOLCHAIN "i686-linux-gnu")
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") if(TIZEN)
set(CMAKE_SYSTEM_PROCESSOR "x86_64") set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
set(triple "x86_64-unknown-freebsd11") endif()
elseif (ILLUMOS)
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(TOOLCHAIN "x86_64-illumos")
else() 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() endif()
if(DEFINED ENV{TOOLCHAIN}) if(DEFINED ENV{TOOLCHAIN})
@ -57,7 +96,11 @@ if(DEFINED ENV{TOOLCHAIN})
endif() endif()
# Specify include paths # 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") 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++/)
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi) include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
@ -66,9 +109,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++/)
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu) include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
endif() 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() endif()
if("$ENV{__DistroRid}" MATCHES "android.*") if(ANDROID)
if(TARGET_ARCH_NAME STREQUAL "arm") if(TARGET_ARCH_NAME STREQUAL "arm")
set(ANDROID_ABI armeabi-v7a) set(ANDROID_ABI armeabi-v7a)
elseif(TARGET_ARCH_NAME STREQUAL "arm64") elseif(TARGET_ARCH_NAME STREQUAL "arm64")
@ -76,7 +123,9 @@ if("$ENV{__DistroRid}" MATCHES "android.*")
endif() endif()
# extract platform number required by the NDK's toolchain # 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(ANDROID_TOOLCHAIN clang)
set(FEATURE_EVENT_TRACE 0) # disable event trace as there is no lttng-ust package in termux repository set(FEATURE_EVENT_TRACE 0) # disable event trace as there is no lttng-ust package in termux repository
@ -85,12 +134,15 @@ if("$ENV{__DistroRid}" MATCHES "android.*")
# include official NDK toolchain script # include official NDK toolchain script
include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake) include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake)
elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") elseif(FREEBSD)
# we cross-compile by instructing clang # we cross-compile by instructing clang
set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER_TARGET ${triple})
set(CMAKE_ASM_COMPILER_TARGET ${triple}) set(CMAKE_ASM_COMPILER_TARGET ${triple})
set(CMAKE_SYSROOT "${CROSS_ROOTFS}") 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) elseif(ILLUMOS)
set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
@ -122,6 +174,41 @@ elseif(ILLUMOS)
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
elseif(HAIKU)
set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
set(TOOLSET_PREFIX ${TOOLCHAIN}-)
function(locate_toolchain_exec exec var)
string(TOUPPER ${exec} EXEC_UPPERCASE)
if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "")
set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE)
return()
endif()
set(SEARCH_PATH "${CROSS_ROOTFS}/generated/cross-tools-x86_64/bin")
find_program(EXEC_LOCATION_${exec}
PATHS ${SEARCH_PATH}
NAMES
"${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
"${TOOLSET_PREFIX}${exec}")
if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND")
message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.")
endif()
set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE)
endfunction()
set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}")
locate_toolchain_exec(gcc CMAKE_C_COMPILER)
locate_toolchain_exec(g++ CMAKE_CXX_COMPILER)
set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp")
set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp")
# let CMake set up the correct search paths
include(Platform/Haiku)
else() else()
set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
@ -142,20 +229,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) set("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT" "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT} ${Flag}" PARENT_SCOPE)
endfunction() 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}/lib/${TOOLCHAIN}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}") add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}")
endif() endif()
if(TARGET_ARCH_NAME STREQUAL "armel") if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only if(TIZEN)
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") 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}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
endif() endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64") 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("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
@ -167,6 +254,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
endif() endif()
elseif(TARGET_ARCH_NAME STREQUAL "x86") elseif(TARGET_ARCH_NAME STREQUAL "x86")
add_toolchain_linker_flag(-m32) 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) elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
@ -174,7 +268,7 @@ endif()
# Specify compile options # 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 OR HAIKU)
set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
@ -201,8 +295,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
add_compile_options(-Wno-error=unused-command-line-argument) add_compile_options(-Wno-error=unused-command-line-argument)
endif() endif()
if(DEFINED TIZEN_TOOLCHAIN) if(TIZEN)
if(TARGET_ARCH_NAME MATCHES "^(armel|arm64)$") if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|x86)$")
add_compile_options(-Wno-deprecated-declarations) # compile-time option add_compile_options(-Wno-deprecated-declarations) # compile-time option
add_compile_options(-D__extern_always_inline=inline) # compile-time option add_compile_options(-D__extern_always_inline=inline) # compile-time option
endif() endif()

View file

@ -53,7 +53,7 @@ fi
function InstallDarcCli { function InstallDarcCli {
local darc_cli_package_name="microsoft.dotnet.darc" local darc_cli_package_name="microsoft.dotnet.darc"
InitializeDotNetCli InitializeDotNetCli true
local dotnet_root=$_InitializeDotNetCli local dotnet_root=$_InitializeDotNetCli
if [ -z "$toolpath" ]; then 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 # Use uname to determine what the CPU is, see https://en.wikipedia.org/wiki/Uname#Examples
cpuname=$(uname -m) cpuname=$(uname -m)
case $cpuname in case $cpuname in
aarch64) arm64|aarch64)
buildarch=arm64 buildarch=arm64
;; ;;
loongarch64)
buildarch=loongarch64
;;
amd64|x86_64) amd64|x86_64)
buildarch=x64 buildarch=x64
;; ;;
armv*l) armv*l)
buildarch=arm buildarch=arm
;; ;;
i686) i[3-6]86)
buildarch=x86 buildarch=x86
;; ;;
*) *)

View file

@ -10,9 +10,7 @@ Param(
Set-StrictMode -Version 2.0 Set-StrictMode -Version 2.0
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
. $PSScriptRoot\tools.ps1 . $PSScriptRoot\pipeline-logging-functions.ps1
Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
$exclusionsFilePath = "$SourcesDirectory\eng\Localize\LocExclusions.json" $exclusionsFilePath = "$SourcesDirectory\eng\Localize\LocExclusions.json"
$exclusions = @{ Exclusions = @() } $exclusions = @{ Exclusions = @() }
@ -35,6 +33,8 @@ $jsonTemplateFiles | ForEach-Object {
$jsonWinformsTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern $jsonWinformsTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern
$wxlFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\.+\.wxl" -And -Not( $_.Directory.Name -Match "\d{4}" ) } # localized files live in four digit lang ID directories; this excludes them
$xlfFiles = @() $xlfFiles = @()
$allXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.xlf" $allXlfFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory\*\*.xlf"
@ -62,7 +62,7 @@ $locJson = @{
$outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")" $outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")"
$continue = $true $continue = $true
foreach ($exclusion in $exclusions.Exclusions) { foreach ($exclusion in $exclusions.Exclusions) {
if ($outputPath.Contains($exclusion)) if ($_.FullName.Contains($exclusion))
{ {
$continue = $false $continue = $false
} }
@ -79,8 +79,7 @@ $locJson = @{
CopyOption = "LangIDOnPath" CopyOption = "LangIDOnPath"
OutputPath = "$($_.Directory.Parent.FullName | Resolve-Path -Relative)\" OutputPath = "$($_.Directory.Parent.FullName | Resolve-Path -Relative)\"
} }
} } else {
else {
return @{ return @{
SourceFile = $sourceFile SourceFile = $sourceFile
CopyOption = "LangIDOnName" CopyOption = "LangIDOnName"
@ -90,6 +89,32 @@ $locJson = @{
} }
} }
) )
},
@{
CloneLanguageSet = "WiX_CloneLanguages"
LssFiles = @( "wxl_loc.lss" )
LocItems = @(
$wxlFiles | ForEach-Object {
$outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\"
$continue = $true
foreach ($exclusion in $exclusions.Exclusions) {
if ($_.FullName.Contains($exclusion))
{
$continue = $false
}
}
$sourceFile = ($_.FullName | Resolve-Path -Relative)
if ($continue)
{
return @{
SourceFile = $sourceFile
CopyOption = "LangIDOnPath"
OutputPath = $outputPath
Languages = "cs-CZ;de-DE;es-ES;fr-FR;it-IT;ja-JP;ko-KR;pl-PL;pt-BR;ru-RU;tr-TR;zh-CN;zh-TW"
}
}
}
)
} }
) )
} }

View file

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

View file

@ -276,7 +276,8 @@ function Get-MachineArchitecture {
} }
if (($ProcessorArchitecture -Eq "AMD64") -Or if (($ProcessorArchitecture -Eq "AMD64") -Or
($ProcessorArchitecture -Eq "IA64") -Or ($ProcessorArchitecture -Eq "IA64") -Or
($ProcessorArchitecture -Eq "ARM64")) { ($ProcessorArchitecture -Eq "ARM64") -Or
($ProcessorArchitecture -Eq "LOONGARCH64")) {
return "x64" return "x64"
} }
return "x86" 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 # Wait time between check for system load
$SecondsBetweenLoadChecks = 10 $SecondsBetweenLoadChecks = 10
if (!$InputPath -or !(Test-Path $InputPath)){
Write-Host "No files to validate."
ExitWithExitCode 0
}
$ValidatePackage = { $ValidatePackage = {
param( param(
[string] $PackagePath # Full path to a Symbols.NuGet package [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 = $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] $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] $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 # Maximum number of jobs to run in parallel
$MaxParallelJobs = 16 $MaxParallelJobs = 16
@ -25,14 +27,28 @@ if ($CheckForWindowsPdbs) {
$WindowsPdbVerificationParam = "--windows-pdbs" $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 = { $CountMissingSymbols = {
param( param(
[string] $PackagePath, # Path to a NuGet package [string] $PackagePath, # Path to a NuGet package
[string] $WindowsPdbVerificationParam # If we should check for the existence of windows pdbs in addition to portable PDBs [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 Add-Type -AssemblyName System.IO.Compression.FileSystem
Write-Host "Validating $PackagePath " Write-Host "Validating $PackagePath "
@ -118,17 +134,17 @@ $CountMissingSymbols = {
# Save the output and get diagnostic output # Save the output and get diagnostic output
$output = & $dotnetSymbolExe --symbols --modules $WindowsPdbVerificationParam $TargetServerParam $FullPath -o $SymbolsPath --diagnostics | Out-String $output = & $dotnetSymbolExe --symbols --modules $WindowsPdbVerificationParam $TargetServerParam $FullPath -o $SymbolsPath --diagnostics | Out-String
if (Test-Path $PdbPath) { if ((Test-Path $PdbPath) -and (Test-path $SymbolPath)) {
return 'PDB' return 'Module and PDB for Module'
} }
elseif (Test-Path $NGenPdb) { elseif ((Test-Path $NGenPdb) -and (Test-Path $PdbPath) -and (Test-Path $SymbolPath)) {
return 'NGen PDB' return 'Dll, PDB and NGen PDB'
} }
elseif (Test-Path $SODbg) { elseif ((Test-Path $SODbg) -and (Test-Path $SymbolPath)) {
return 'DBG for SO' return 'So and DBG for SO'
} }
elseif (Test-Path $DylibDwarf) { elseif ((Test-Path $DylibDwarf) -and (Test-Path $SymbolPath)) {
return 'Dwarf for Dylib' return 'Dylib and Dwarf for Dylib'
} }
elseif (Test-Path $SymbolPath) { elseif (Test-Path $SymbolPath) {
return 'Module' return 'Module'
@ -142,6 +158,12 @@ $CountMissingSymbols = {
return $null return $null
} }
$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 {
$FileGuid = New-Guid $FileGuid = New-Guid
$ExpandedSymbolsPath = Join-Path -Path $SymbolsPath -ChildPath $FileGuid $ExpandedSymbolsPath = Join-Path -Path $SymbolsPath -ChildPath $FileGuid
@ -177,6 +199,7 @@ $CountMissingSymbols = {
} }
} }
} }
}
if ($using:Clean) { if ($using:Clean) {
Remove-Item $ExtractPath -Recurse -Force Remove-Item $ExtractPath -Recurse -Force

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 $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
} }
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { 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.2.1" -MemberType NoteProperty
} }
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true

View file

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

View file

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

View file

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

37
eng/common/sdl/sdl.ps1 Normal file
View file

@ -0,0 +1,37 @@
function Install-Gdn {
param(
[string]$Path,
# If omitted, install the latest version of Guardian, otherwise install that specific version.
[string]$Version
)
$ErrorActionPreference = 'Stop'
Set-StrictMode -Version 2.0
$disableConfigureToolsetImport = $true
$global:LASTEXITCODE = 0
# `tools.ps1` checks $ci to perform some actions. Since the SDL
# scripts don't necessarily execute in the same agent that run the
# build.ps1/sh script this variable isn't automatically set.
$ci = $true
. $PSScriptRoot\..\tools.ps1
$argumentList = @("install", "Microsoft.Guardian.Cli", "-Source https://securitytools.pkgs.visualstudio.com/_packaging/Guardian/nuget/v3/index.json", "-OutputDirectory $Path", "-NonInteractive", "-NoCache")
if ($Version) {
$argumentList += "-Version $Version"
}
Start-Process nuget -Verbose -ArgumentList $argumentList -NoNewWindow -Wait
$gdnCliPath = Get-ChildItem -Filter guardian.cmd -Recurse -Path $Path
if (!$gdnCliPath)
{
Write-PipelineTelemetryError -Category 'Sdl' -Message 'Failure installing Guardian'
}
return $gdnCliPath.FullName
}

View file

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

View file

@ -72,8 +72,8 @@ jobs:
lclSource: ${{ parameters.LclSource }} lclSource: ${{ parameters.LclSource }}
lclPackageId: ${{ parameters.LclPackageId }} lclPackageId: ${{ parameters.LclPackageId }}
isCreatePrSelected: ${{ parameters.CreatePr }} isCreatePrSelected: ${{ parameters.CreatePr }}
${{ if eq(parameters.CreatePr, true) }}:
isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
${{ if eq(parameters.CreatePr, true) }}:
isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }}
${{ if eq(parameters.RepoType, 'gitHub') }}: ${{ if eq(parameters.RepoType, 'gitHub') }}:
isShouldReusePrSelected: ${{ parameters.ReusePr }} 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 # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
publishUsingPipelines: false publishUsingPipelines: false
# Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
publishAssetsImmediately: false
artifactsPublishingAdditionalParameters: ''
signingValidationAdditionalParameters: ''
jobs: jobs:
- job: Asset_Registry_Publish - job: Asset_Registry_Publish
dependsOn: ${{ parameters.dependsOn }} dependsOn: ${{ parameters.dependsOn }}
${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
displayName: Publish Assets
${{ else }}:
displayName: Publish to Build Asset Registry displayName: Publish to Build Asset Registry
pool: ${{ parameters.pool }} pool: ${{ parameters.pool }}
variables: variables:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ 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: Publish-Build-Assets
- group: AzureDevOps-Artifact-Feeds-Pats - group: AzureDevOps-Artifact-Feeds-Pats
- name: runCodesignValidationInjection - name: runCodesignValidationInjection
value: false value: false
- ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
- template: /eng/common/templates/post-build/common-variables.yml
steps: steps:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
@ -52,7 +62,6 @@ jobs:
condition: ${{ parameters.condition }} condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }} 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 - task: PowerShell@2
@ -70,7 +79,6 @@ jobs:
/p:BuildAssetRegistryToken=$(MaestroAccessToken) /p:BuildAssetRegistryToken=$(MaestroAccessToken)
/p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com /p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
/p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
/p:Configuration=$(_BuildConfig)
/p:OfficialBuildId=$(Build.BuildNumber) /p:OfficialBuildId=$(Build.BuildNumber)
condition: ${{ parameters.condition }} condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }} continueOnError: ${{ parameters.continueOnError }}
@ -115,6 +123,24 @@ jobs:
PublishLocation: Container PublishLocation: Container
ArtifactName: ReleaseConfigs 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') }}: - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- template: /eng/common/templates/steps/publish-logs.yml - template: /eng/common/templates/steps/publish-logs.yml
parameters: parameters:

View file

@ -1,14 +1,13 @@
parameters: parameters:
runAsPublic: false 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 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" sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: [] preSteps: []
binlogPath: artifacts/log/Debug/Build.binlog binlogPath: artifacts/log/Debug/Build.binlog
pool:
vmImage: windows-2019
condition: '' condition: ''
dependsOn: '' dependsOn: ''
pool: ''
jobs: jobs:
- job: SourceIndexStage1 - job: SourceIndexStage1
@ -24,7 +23,17 @@ jobs:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: source-dot-net stage1 variables - group: source-dot-net stage1 variables
${{ if ne(parameters.pool, '') }}:
pool: ${{ parameters.pool }} pool: ${{ parameters.pool }}
${{ if eq(parameters.pool, '') }}:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public
demands: ImageOverride -equals windows.vs2019.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps: steps:
- ${{ each preStep in parameters.preSteps }}: - ${{ each preStep in parameters.preSteps }}:
- ${{ preStep }} - ${{ preStep }}

View file

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

View file

@ -27,6 +27,13 @@ parameters:
# Optional: Override automatically derived dependsOn value for "publish build assets" job # Optional: Override automatically derived dependsOn value for "publish build assets" job
publishBuildAssetsDependsOn: '' 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 # 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. # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
runAsPublic: false runAsPublic: false
@ -68,7 +75,6 @@ jobs:
${{ parameter.key }}: ${{ parameter.value }} ${{ parameter.key }}: ${{ parameter.value }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ 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, '')) }}: - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
- template: ../job/publish-build-assets.yml - template: ../job/publish-build-assets.yml
parameters: parameters:
@ -94,4 +100,7 @@ jobs:
runAsPublic: ${{ parameters.runAsPublic }} runAsPublic: ${{ parameters.runAsPublic }}
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }}
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }}

View file

@ -14,7 +14,7 @@ parameters:
# This is the default platform provided by Arcade, intended for use by a managed-only repo. # This is the default platform provided by Arcade, intended for use by a managed-only repo.
defaultManagedPlatform: defaultManagedPlatform:
name: 'Managed' name: 'Managed'
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-3e800f1-20190501005343' container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-20220809204800-17a4aab'
# Defines the platforms on which to run build jobs. One job is created for each platform, and the # Defines the platforms on which to run build jobs. One job is created for each platform, and the
# object in this array is sent to the job template as 'platform'. If no platforms are specified, # object in this array is sent to the job template as 'platform'. If no platforms are specified,

View file

@ -49,6 +49,7 @@ parameters:
type: object type: object
default: default:
enable: false enable: false
publishGdn: false
continueOnError: false continueOnError: false
params: '' params: ''
artifactNames: '' artifactNames: ''
@ -82,6 +83,11 @@ parameters:
default: default:
- Validate - Validate
# Optional: Call asset publishing rather than running in a separate stage
- name: publishAssetsImmediately
type: boolean
default: false
stages: stages:
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: - ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
- stage: Validate - stage: Validate
@ -99,7 +105,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES name: VSEngSS-MicroBuild2022-1ES
demands: Cmd demands: Cmd
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: ${{ else }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64 demands: ImageOverride -equals windows.vs2019.amd64
@ -136,7 +142,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES name: VSEngSS-MicroBuild2022-1ES
demands: Cmd demands: Cmd
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: ${{ else }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64 demands: ImageOverride -equals windows.vs2019.amd64
steps: steps:
@ -196,7 +202,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES name: VSEngSS-MicroBuild2022-1ES
demands: Cmd demands: Cmd
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: ${{ else }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64 demands: ImageOverride -equals windows.vs2019.amd64
steps: steps:
@ -230,15 +236,17 @@ stages:
- template: /eng/common/templates/job/execute-sdl.yml - template: /eng/common/templates/job/execute-sdl.yml
parameters: parameters:
enable: ${{ parameters.SDLValidationParameters.enable }} enable: ${{ parameters.SDLValidationParameters.enable }}
publishGuardianDirectoryToPipeline: ${{ parameters.SDLValidationParameters.publishGdn }}
additionalParameters: ${{ parameters.SDLValidationParameters.params }} additionalParameters: ${{ parameters.SDLValidationParameters.params }}
continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }} continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }}
artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }} artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }}
downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }} downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }}
- stage: publish_using_darc - ${{ 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')) }}: ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
dependsOn: ${{ parameters.publishDependsOn }} dependsOn: ${{ parameters.publishDependsOn }}
${{ if and(ne(parameters.enableNugetValidation, 'true'), ne(parameters.enableSigningValidation, 'true'), ne(parameters.enableSourceLinkValidation, 'true'), ne(parameters.SDLValidationParameters.enable, 'true')) }}: ${{ else }}:
dependsOn: ${{ parameters.validateDependsOn }} dependsOn: ${{ parameters.validateDependsOn }}
displayName: Publish using Darc displayName: Publish using Darc
variables: variables:
@ -253,7 +261,7 @@ stages:
name: VSEngSS-MicroBuild2022-1ES name: VSEngSS-MicroBuild2022-1ES
demands: Cmd demands: Cmd
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: ${{ else }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64 demands: ImageOverride -equals windows.vs2019.amd64
steps: steps:
@ -262,6 +270,8 @@ stages:
BARBuildId: ${{ parameters.BARBuildId }} BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- task: NuGetAuthenticate@0
- task: PowerShell@2 - task: PowerShell@2
displayName: Publish Using Darc displayName: Publish Using Darc
inputs: inputs:

View file

@ -8,29 +8,26 @@ parameters:
condition: '' condition: ''
steps: steps:
- ${{ if ne(parameters.overrideGuardianVersion, '') }}: - task: NuGetAuthenticate@1
- powershell: | inputs:
$content = Get-Content $(GuardianPackagesConfigFile) nuGetServiceConnections: GuardianConnect
Write-Host "packages.config content was:`n$content"
$content = $content.Replace('$(DefaultGuardianVersion)', '$(GuardianVersion)')
$content | Set-Content $(GuardianPackagesConfigFile)
Write-Host "packages.config content updated to:`n$content"
displayName: Use overridden Guardian version ${{ parameters.overrideGuardianVersion }}
- task: NuGetToolInstaller@1 - task: NuGetToolInstaller@1
displayName: 'Install NuGet.exe' displayName: 'Install NuGet.exe'
- task: NuGetCommand@2 - ${{ if ne(parameters.overrideGuardianVersion, '') }}:
displayName: 'Install Guardian' - pwsh: |
inputs: . $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1
restoreSolution: $(Build.SourcesDirectory)\eng\common\sdl\packages.config $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }}
feedsToUse: config Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
nugetConfigPath: $(Build.SourcesDirectory)\eng\common\sdl\NuGet.config displayName: Install Guardian (Overridden)
externalFeedCredentials: GuardianConnect
restoreDirectory: $(Build.SourcesDirectory)\.packages - ${{ if eq(parameters.overrideGuardianVersion, '') }}:
- pwsh: |
. $(Build.SourcesDirectory)\eng\common\sdl\sdl.ps1
$guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts
Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
displayName: Install Guardian
- ${{ if ne(parameters.overrideParameters, '') }}: - ${{ if ne(parameters.overrideParameters, '') }}:
- powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }} - powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }}
@ -40,7 +37,7 @@ steps:
- ${{ if eq(parameters.overrideParameters, '') }}: - ${{ if eq(parameters.overrideParameters, '') }}:
- powershell: ${{ parameters.executeAllSdlToolsScript }} - powershell: ${{ parameters.executeAllSdlToolsScript }}
-GuardianPackageName Microsoft.Guardian.Cli.$(GuardianVersion) -GuardianCliLocation $(GuardianCliLocation)
-NugetPackageDirectory $(Build.SourcesDirectory)\.packages -NugetPackageDirectory $(Build.SourcesDirectory)\.packages
-AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw) -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
${{ parameters.additionalParameters }} ${{ parameters.additionalParameters }}
@ -62,7 +59,28 @@ steps:
c c
i i
condition: succeededOrFailed() condition: succeededOrFailed()
- publish: $(Agent.BuildDirectory)/.gdn - publish: $(Agent.BuildDirectory)/.gdn
artifact: GuardianConfiguration artifact: GuardianConfiguration
displayName: Publish GuardianConfiguration displayName: Publish GuardianConfiguration
condition: succeededOrFailed() 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 # ManifestDirPath - The path of the directory where the generated manifest files will be placed
parameters: parameters:
PackageVersion: 6.0.0 PackageVersion: 7.0.0
BuildDropPath: '$(Build.SourcesDirectory)/artifacts' BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
PackageName: '.NET' PackageName: '.NET'
ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom 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/ 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 '/' 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 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 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 HelixConfiguration: '' # optional -- additional property attached to a job
HelixPreCommands: '' # optional -- commands to run before Helix work item execution 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 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 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 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 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 XUnitPublishTargetFramework: '' # optional -- framework to use to publish your xUnit projects
XUnitRuntimeTargetFramework: '' # optional -- framework to use for the xUnit console runner 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 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 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 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." 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 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 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 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() 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 continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
steps: 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) displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env: env:
BuildConfig: $(_BuildConfig) BuildConfig: $(_BuildConfig)
@ -54,14 +53,13 @@ steps:
IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }} IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }} DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }} DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }} WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }} HelixBaseUri: ${{ parameters.HelixBaseUri }}
Creator: ${{ parameters.Creator }} Creator: ${{ parameters.Creator }}
SYSTEM_ACCESSTOKEN: $(System.AccessToken) SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT')) condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }} 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) displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env: env:
BuildConfig: $(_BuildConfig) BuildConfig: $(_BuildConfig)
@ -85,7 +83,6 @@ steps:
IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }} IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }} DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }} DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }} WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }} HelixBaseUri: ${{ parameters.HelixBaseUri }}
Creator: ${{ parameters.Creator }} 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. # 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 # This is because SetupNuGetSources.sh will alter the current NuGet.config file, and we need to preserve those
# changes. # changes.
$internalRestoreArgs= internalRestoreArgs=
if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then
# Temporarily work around https://github.com/dotnet/arcade/issues/7709 # Temporarily work around https://github.com/dotnet/arcade/issues/7709
chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh 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 # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
# sync with the packages.config file. # sync with the packages.config file.
- name: DefaultGuardianVersion - name: DefaultGuardianVersion
value: 0.110.1 value: 0.109.0
- name: GuardianPackagesConfigFile - name: GuardianPackagesConfigFile
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config

View file

@ -365,10 +365,17 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied, # If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here: # 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 # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.2.1&view=overview
$defaultXCopyMSBuildVersion = '16.10.0-preview2' $defaultXCopyMSBuildVersion = '17.2.1'
if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs } if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
$vsRequirements = $GlobalJson.tools.vs
}
else {
$vsRequirements = New-Object PSObject -Property @{ version = $vsMinVersionReqdStr }
}
}
$vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr } $vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr }
$vsMinVersion = [Version]::new($vsMinVersionStr) $vsMinVersion = [Version]::new($vsMinVersionStr)
@ -573,7 +580,7 @@ function InitializeBuildTool() {
ExitWithExitCode 1 ExitWithExitCode 1
} }
$dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') $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") { } elseif ($msbuildEngine -eq "vs") {
try { try {
$msbuildPath = InitializeVisualStudioMSBuild -install:$restore $msbuildPath = InitializeVisualStudioMSBuild -install:$restore

View file

@ -178,7 +178,7 @@ function InstallDotNetSdk {
if [[ $# -ge 3 ]]; then if [[ $# -ge 3 ]]; then
architecture=$3 architecture=$3
fi 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 { function InstallDotNet {
@ -312,7 +312,7 @@ function InitializeBuildTool {
# return values # return values
_InitializeBuildTool="$_InitializeDotNetCli/dotnet" _InitializeBuildTool="$_InitializeDotNetCli/dotnet"
_InitializeBuildToolCommand="msbuild" _InitializeBuildToolCommand="msbuild"
_InitializeBuildToolFramework="netcoreapp3.1" _InitializeBuildToolFramework="net7.0"
} }
# Set RestoreNoCache as a workaround for https://github.com/NuGet/Home/issues/3116 # 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 DOTNET_INSTALL_DIR=$REPO_ROOT/.dotnet$arcade_partition_suffix
export ArtifactsDir=$REPO_ROOT/artifacts$arcade_partition_suffix/ export ArtifactsDir=$REPO_ROOT/artifacts$arcade_partition_suffix/
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_MULTILEVEL_LOOKUP=0 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 REM Add Stage 2 CLI to path
set PATH=%CLI_REPO_ROOT%artifacts\bin\redist\Debug\dotnet;%PATH% set PATH=%CLI_REPO_ROOT%artifacts\bin\redist\Debug\dotnet;%PATH%
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0 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 PATH=$STAGE2_DIR:$PATH
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_MULTILEVEL_LOOKUP=0 export DOTNET_MULTILEVEL_LOOKUP=0

View file

@ -4,9 +4,8 @@
# #
# Dockerfile that creates a container suitable to build dotnet-cli # Dockerfile that creates a container suitable to build dotnet-cli
FROM mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-b46d863-20180719033416 # 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
RUN yum -q -y install sudo
# Setup User to match Host User, and give superuser permissions # Setup User to match Host User, and give superuser permissions
ARG USER_ID=0 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 # With the User Change, we need to change permissions on these directories
RUN chmod -R a+rwx /usr/local RUN chmod -R a+rwx /usr/local
RUN chmod -R a+rwx /home 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 # Set user to the one we just created
USER ${USER_ID} USER ${USER_ID}

View file

@ -4,14 +4,14 @@
# #
# Dockerfile that creates a container suitable to build dotnet-cli # 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 install -y nss
RUN dnf clean all RUN dnf clean all
# Override RID set by the dotnet-buildtools-prereqs docker image # 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 # Setup User to match Host User, and give superuser permissions
ARG USER_ID=0 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 = @" $scriptContents = @"
@echo off @echo off
title Core SDK Build ($RepoRoot) title Core SDK Build ($RepoRoot)
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0 set DOTNET_MULTILEVEL_LOOKUP=0
set PATH=$env:DOTNET_INSTALL_DIR;%PATH% set PATH=$env:DOTNET_INSTALL_DIR;%PATH%

View file

@ -13,10 +13,6 @@ function InitializeCustomSDKToolset {
#InstallDotNetSharedFramework "1.1.2" #InstallDotNetSharedFramework "1.1.2"
InitializeDotNetCli true InitializeDotNetCli true
# Install 2.1 framework for dotnet-deb-tool.
# Failures on this call will be ignored, as this is expected to fail on some
# OSes.
InstallDotNetSharedFramework "2.1.0"
} }
# Installs additional shared frameworks for testing purposes # Installs additional shared frameworks for testing purposes

View file

@ -1,9 +1,9 @@
{ {
"tools": { "tools": {
"dotnet": "6.0.109", "dotnet": "7.0.100-rc.1.22431.12",
"runtimes": { "runtimes": {
"dotnet": [ "dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)" "$(VSRedistCommonNetCoreSharedFrameworkx6470PackageVersion)"
] ]
} }
}, },
@ -11,7 +11,7 @@
"cmake": "3.16.4" "cmake": "3.16.4"
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22463.7", "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22464.4",
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.22463.7" "Microsoft.DotNet.CMake.Sdk": "7.0.0-beta.22464.4"
} }
} }

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
# #
# Copyright (c) .NET Foundation and contributors. All rights reserved. # 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. # 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') }}: - ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
- download: ${{ parameters.installerBuildResourceId }} - download: ${{ parameters.installerBuildResourceId }}
artifact: BlobArtifacts artifact: BlobArtifacts
patterns: '**/dotnet-sdk-!(*-*)-linux-${{ parameters.architecture }}.tar.gz' patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz'
displayName: Download MSFT sdk Tarball displayName: Download MSFT sdk Tarball
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}: - ${{ 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 "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.log" -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 "*.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 displayName: Prepare BuildLogs staging directory
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()

View file

@ -74,18 +74,3 @@ jobs:
displayName: Publish BuildLogs displayName: Publish BuildLogs
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
# Check if the tarball should be built now so the result can be used in the build tarball job condition.
# 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
displayName: Tarball Build Check
name: Tarball_Build_Check

View file

@ -1,9 +1,6 @@
# Builds a source-build tarball # Builds a source-build tarball
parameters: parameters:
# Custom condition to apply to the job
condition: true
# Dependent jobs that must be completed before this job will run # Dependent jobs that must be completed before this job will run
dependsOn: dependsOn:
@ -12,13 +9,11 @@ parameters:
# The following parameters aren't expected to be passed in rather they are used for encapsulation # The following parameters aren't expected to be passed in rather they are used for encapsulation
# ----------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------
centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build-20210714125450-5d87b80 centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8-20220809204800-17a4aab
centOS8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-source-build-20211118190102-9355e7b
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c
debian9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-20211001171226-047508b debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8-20220812185233-b286fae
debian9Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-arm64v8-20220405201138-a251961 fedora36Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36-20220818134137-a09384f
fedora33Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2 ubuntu2004Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-20220813234344-4c008dd
ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-20210924170306-047508b
poolInternalAmd64: poolInternalAmd64:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
@ -32,46 +27,39 @@ jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters: parameters:
architecture: x64 architecture: x64
condition: ${{ parameters.condition }}
dependsOn: ${{ parameters.dependsOn }} dependsOn: ${{ parameters.dependsOn }}
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
excludeSdkContentTests: true excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }} installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix: matrix:
CentOS7-Online: CentOSStream8-Online:
_BootstrapPrep: false _BootstrapPrep: false
_Container: ${{ parameters.centOS7Container }} _Container: ${{ parameters.centOSStream8Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: true _ExcludeOmniSharpTests: true
_RunOnline: true _RunOnline: true
${{ if ne(variables['Build.Reason'], 'PullRequest') }}: CentOSStream8-Offline:
CentOS7-Offline:
_BootstrapPrep: false _BootstrapPrep: false
_Container: ${{ parameters.centOS7Container }} _Container: ${{ parameters.centOSStream8Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: true _ExcludeOmniSharpTests: true
_RunOnline: false _RunOnline: false
CentOS8-Offline: ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
_BootstrapPrep: false
_Container: ${{ parameters.centOS8Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_RunOnline: false
CentOSStream9-Offline: CentOSStream9-Offline:
_BootstrapPrep: false _BootstrapPrep: false
_Container: ${{ parameters.centOSStream9Container }} _Container: ${{ parameters.centOSStream9Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: false _ExcludeOmniSharpTests: false
_RunOnline: false _RunOnline: false
Fedora33-Offline: Fedora36-Offline:
_BootstrapPrep: false _BootstrapPrep: false
_Container: ${{ parameters.fedora33Container }} _Container: ${{ parameters.fedora36Container }}
_EnablePoison: true _EnablePoison: true
_ExcludeOmniSharpTests: false _ExcludeOmniSharpTests: false
_RunOnline: false _RunOnline: false
Ubuntu1804-Offline: Ubuntu2004-Offline:
_BootstrapPrep: false _BootstrapPrep: false
_Container: ${{ parameters.ubuntu1804Container }} _Container: ${{ parameters.ubuntu2004Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: false _ExcludeOmniSharpTests: false
_RunOnline: false _RunOnline: false
@ -86,16 +74,15 @@ jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters: parameters:
architecture: arm64 architecture: arm64
condition: ${{ parameters.condition }}
dependsOn: ${{ parameters.dependsOn }} dependsOn: ${{ parameters.dependsOn }}
${{ if in(variables['Build.Reason'], 'PullRequest') }}: ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
excludeSdkContentTests: true excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }} installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix: matrix:
${{ if ne(variables['Build.Reason'], 'PullRequest') }}: ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
Debian9-Offline: Debian11-Offline:
_BootstrapPrep: true _BootstrapPrep: true
_Container: ${{ parameters.debian9Arm64Container }} _Container: ${{ parameters.debian11Arm64Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: false _ExcludeOmniSharpTests: false
_RunOnline: false _RunOnline: false
@ -108,14 +95,14 @@ jobs:
architecture: x64 architecture: x64
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status. # Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
# The bootstrap build will shortcut if the stage 1 build failed. # The bootstrap build will shortcut if the stage 1 build failed.
condition: and(${{ parameters.condition }}, succeededOrFailed()) condition: succeededOrFailed()
dependsOn: Build_Tarball_x64 dependsOn: Build_Tarball_x64
excludeSdkContentTests: true excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }} installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix: matrix:
Fedora33-Offline: Fedora36-Offline:
_PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora33-Offline_Artifacts _PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora36-Offline_Artifacts
_Container: ${{ parameters.fedora33Container }} _Container: ${{ parameters.fedora36Container }}
_EnablePoison: false _EnablePoison: false
_ExcludeOmniSharpTests: false _ExcludeOmniSharpTests: false
_RunOnline: false _RunOnline: false

View file

@ -64,7 +64,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
string repoName = dependency.SourceBuildRepoName; string repoName = dependency.SourceBuildRepoName;
string safeRepoName = repoName.Replace("-", "").Replace(".", ""); string safeRepoName = repoName.Replace("-", "").Replace(".", "");
string propsPath = Path.Combine(SourceBuildMetadataDir, $"{repoName.Replace(".", "-")}.props"); 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> var repoProps = new Dictionary<string, string>
{ {
["GitCommitHash"] = dependency.Sha, ["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) /// 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. /// back to an OfficialBuildId + ReleaseLabel which we can then supply to get the same resulting version number.
/// </summary> /// </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="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> /// <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> /// <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); var nugetVersion = new NuGetVersion(version);
if (!string.IsNullOrWhiteSpace(nugetVersion.Release)) if (!string.IsNullOrWhiteSpace(nugetVersion.Release))
{ {
var releaseParts = nugetVersion.Release.Split('-', '.'); var releaseParts = nugetVersion.Release.Split('-', '.');
if (releaseParts.Length == 2) if (repoName.Contains("nuget"))
{ {
// NuGet does this - arbitrary build IDs // NuGet does this - arbitrary build IDs
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = releaseParts[0] }; 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) else if (releaseParts.Length == 3)
{ {
// VSTest uses full dates for the first part of their preview build numbers // 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] }; return new DerivedVersion { OfficialBuildId = $"{releaseParts[1]}.{releaseParts[2]}", PreReleaseVersionLabel = releaseParts[0] };
} }
@ -138,7 +139,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
else else
{ {
// finalized version number (x.y.z) - probably not our code // 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 }; return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = string.Empty };
} }

View file

@ -262,21 +262,8 @@
$(TarballSourceDir)runtime*\src\installer\pkg\**\*%(TarballSrcBinaryExtension.Identity)" /> $(TarballSourceDir)runtime*\src\installer\pkg\**\*%(TarballSrcBinaryExtension.Identity)" />
</ItemGroup> </ItemGroup>
<Message Importance="Normal" Text="Deleting checked in binary files: @(TarballSrcBinaryToRemove, ' ')" />
<Delete Files="@(TarballSrcBinaryToRemove)" /> <Delete Files="@(TarballSrcBinaryToRemove)" />
<!-- We have some not-strictly-required files that are under non-open source licenses.
See https://github.com/dotnet/source-build/issues/2359.
Remove them. -->
<ItemGroup>
<TarballSrcNonOpenSourceFiles Include="$(TarballSourceDir)**\humanizer\samples\**\*.js" />
<TarballSrcNonOpenSourceFiles Include="$(TarballSourceDir)**\*nuget-client\**\EndToEnd\**\jquery-validation-unobtrusive\*.js" />
<TarballSrcNonOpenSourceFiles Include="$(TarballSourceDir)**\*nuget-client\**\EndToEnd\**\jquery-validation-unobtrusive\.bower.json" />
<TarballSrcNonOpenSourceFiles Include="$(TarballSourceDir)**\*aspnetcore\**\samples\**\jquery-validation-unobtrusive\.bower.json" />
<TarballSrcNonOpenSourceFiles Include="$(TarballSourceDir)**\*aspnetcore\**\samples\**\jquery-validation-unobtrusive\*.js" />
</ItemGroup>
<Message Importance="High" Text="Deleting files with questionable licenses: @(TarballSrcNonOpenSourceFiles, ' ')" />
<Delete Files="@(TarballSrcNonOpenSourceFiles)" />
</Target> </Target>
<Target Name="RestoreTextOnlyPackages"> <Target Name="RestoreTextOnlyPackages">

View file

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net6.0</TargetFrameworks> <TargetFrameworks>net7.0</TargetFrameworks>
<RestorePackagesPath>$(TargetPackagesPath)</RestorePackagesPath> <RestorePackagesPath>$(TargetPackagesPath)</RestorePackagesPath>
</PropertyGroup> </PropertyGroup>
@ -11,14 +11,16 @@
should be added to source-build-reference-packages. should be added to source-build-reference-packages.
--> -->
<ItemGroup> <ItemGroup>
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-6.0.300" Version="[$(XamarinAndroidWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-$(MauiFeatureBand)" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.300" Version="[$(XamarinIOSWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.300" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-$(MauiFeatureBand)" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.300" Version="[$(XamarinMacOSWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinMacOSWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.300" Version="[$(MauiWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-$(MauiFeatureBand)" Version="[$(MauiWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.300" Version="[$(XamarinTvOSWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-$(MauiFeatureBand)" Version="[$(XamarinTvOSWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.Manifest-6.0.300" Version="[$(EmscriptenWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Workload.Emscripten.net6.Manifest-7.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-6.0.300" Version="[$(MonoWorkloadManifestVersion)]" /> <PackageDownload Include="Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest-7.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest-7.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
</ItemGroup> </ItemGroup>
<!-- <!--

View file

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

View file

@ -85,10 +85,6 @@
<InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuildOutputDir=$(SourceBuildOutputDir)</InnerBuildArgs> <InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuildOutputDir=$(SourceBuildOutputDir)</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuiltBlobFeedDir=$(SourceBuiltBlobFeedDir)</InnerBuildArgs> <InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuiltBlobFeedDir=$(SourceBuiltBlobFeedDir)</InnerBuildArgs>
<!-- Work around issue where local clone may cause failure using non-origin remote fallback: https://github.com/dotnet/sourcelink/issues/629 -->
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableSourceControlManagerQueries=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableSourceLink=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:DeterministicSourcePaths=false</InnerBuildArgs>
<InnerBuildArgs >$(InnerBuildArgs) /p:DotNetBuildOffline=true</InnerBuildArgs> <InnerBuildArgs >$(InnerBuildArgs) /p:DotNetBuildOffline=true</InnerBuildArgs>
<InnerBuildArgs Condition=" '$(DotNetPackageVersionPropsPath)' != '' ">$(InnerBuildArgs) /p:DotNetPackageVersionPropsPath=$(DotNetPackageVersionPropsPath)</InnerBuildArgs> <InnerBuildArgs Condition=" '$(DotNetPackageVersionPropsPath)' != '' ">$(InnerBuildArgs) /p:DotNetPackageVersionPropsPath=$(DotNetPackageVersionPropsPath)</InnerBuildArgs>
</PropertyGroup> </PropertyGroup>

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

@ -19,6 +19,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture> <BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Platform> <Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Platform> <Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == ''">x64</Platform> <Platform Condition="'$(Platform)' == ''">x64</Platform>
<UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions> <UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions>

View file

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

View file

@ -170,7 +170,6 @@ fi
echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION, bootstrap SourceLink $SOURCE_LINK_BOOTSTRAP_VERSION" 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_CLI_TELEMETRY_OPTOUT=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export NUGET_PACKAGES=$restoredPackagesDir/ export NUGET_PACKAGES=$restoredPackagesDir/
LogDateStamp=$(date +"%m%d%H%M%S") LogDateStamp=$(date +"%m%d%H%M%S")
@ -179,6 +178,8 @@ if [ "$alternateTarget" == "true" ]; then
"$CLI_ROOT/dotnet" $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll "$SCRIPT_ROOT/build.proj" /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log /clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@" "$CLI_ROOT/dotnet" $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll "$SCRIPT_ROOT/build.proj" /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log /clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
else else
$CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log $SCRIPT_ROOT/tools-local/init-build.proj /t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@" $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log $SCRIPT_ROOT/tools-local/init-build.proj /t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
# kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver
$CLI_ROOT/dotnet build-server shutdown
$CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log $SCRIPT_ROOT/build.proj ${MSBUILD_ARGUMENTS[@]} "$@" $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log $SCRIPT_ROOT/build.proj ${MSBUILD_ARGUMENTS[@]} "$@"
fi fi

View file

@ -4,7 +4,7 @@
<Import Project="$(MSBuildProjectDirectory)/PackageVersions.props" /> <Import Project="$(MSBuildProjectDirectory)/PackageVersions.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<BaseOutputPath>$(MSBuildProjectDirectory)/artifacts/</BaseOutputPath> <BaseOutputPath>$(MSBuildProjectDirectory)/artifacts/</BaseOutputPath>
<RestorePackagesPath>$(MSBuildProjectDirectory)/artifacts/restoredPkgs/</RestorePackagesPath> <RestorePackagesPath>$(MSBuildProjectDirectory)/artifacts/restoredPkgs/</RestorePackagesPath>
<UnpackedTarPath>$(MSBuildProjectDirectory)/artifacts/unpacked/</UnpackedTarPath> <UnpackedTarPath>$(MSBuildProjectDirectory)/artifacts/unpacked/</UnpackedTarPath>
@ -13,26 +13,35 @@
<ItemGroup> <ItemGroup>
<!-- These packages will be replaced with ms-built packages downloaded from official package feeds--> <!-- These packages will be replaced with ms-built packages downloaded from official package feeds-->
<PackageReference Include="Microsoft.NET.HostModel" Version="$(MicrosoftNETHostModelVersion)" /> <PackageDownload Include="Microsoft.NET.HostModel" Version="[$(MicrosoftNETHostModelVersion)]" />
<PackageReference Include="Microsoft.ILVerification" Version="$(MicrosoftILVerificationVersion)" /> <PackageDownload Include="Microsoft.NET.Sdk.IL" Version="[$(MicrosoftNETSdkILVersion)]" />
<PackageReference Include="Microsoft.NET.Sdk.IL" Version="$(MicrosoftNETSdkILVersion)" /> <PackageDownload Include="Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(MicrosoftNETCoreILAsmVersion)" /> <PackageDownload Include="Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(MicrosoftNETCoreILDAsmVersion)" /> <PackageDownload Include="Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<PackageReference Include="Microsoft.NETCore.TestHost" Version="$(MicrosoftNETCoreTestHostVersion)" /> <PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)]" />
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" /> <PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)]" />
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" /> <PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.TestHost" Version="[$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)]" />
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" /> <PackageDownload Include="runtime.linux-x64.runtime.native.System.IO.Ports" Version="[$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)]" />
<PackageReference Include="runtime.linux-arm64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" /> <PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.ILAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)]" />
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" /> <PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)]" />
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" /> <PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.TestHost" Version="[$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)]" />
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
<PackageReference Include="runtime.linux-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" />
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" />
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
<!-- There's no nuget package for runtime.linux-musl-x64.runtime.native.System.IO.Ports <!-- There's no nuget package for runtime.linux-musl-x64.runtime.native.System.IO.Ports
<PackageReference Include="runtime.linux-musl-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" /> <PackageReference Include="runtime.linux-musl-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
--> -->
<!-- Packages needed to bootstrap arm64 -->
<PackageDownload Include="Microsoft.Aspnetcore.App.Runtime.linux-arm64" Version="[$(MicrosoftAspNetCoreAppRuntimeLinuxx64Version)]" />
<PackageDownload Include="Microsoft.NETCore.App.Crossgen2.linux-arm64" Version="[$(MicrosoftNETCoreAppCrossgen2LinuxX64Version)]" />
<PackageDownload Include="Microsoft.NETCore.App.Host.linux-arm64" Version="[$(MicrosoftNETCoreAppHostLinuxX64Version)]" />
<PackageDownload Include="Microsoft.NETCore.App.Runtime.linux-arm64" Version="[$(MicrosoftNETCoreAppRuntimeLinuxX64Version)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.DotNet.IlCompiler" Version="[$(RuntimeLinuxX64MicrosoftDotNetIlCompilerVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost" Version="[$(RuntimeLinuxX64MicrosoftNETCoreDotNetAppHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHost" Version="[$(RuntimeLinuxX64MicrosoftNETCoreDotNetHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy" Version="[$(RuntimeLinuxX64MicrosoftNETCoreDotNetHostPolicyVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver" Version="[$(RuntimeLinuxX64MicrosoftNETCoreDotNetHostResolverVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.ILAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.ILDAsm" Version="[$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.TestHost" Version="[$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.runtime.native.System.IO.Ports" Version="[$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)]" />
</ItemGroup> </ItemGroup>
<Target Name="BuildBoostrapPreviouslySourceBuilt" AfterTargets="Restore"> <Target Name="BuildBoostrapPreviouslySourceBuilt" AfterTargets="Restore">
@ -61,7 +70,7 @@
<Message Text=" Replacing restored files in $(UnpackedTarPath)" Importance="High" /> <Message Text=" Replacing restored files in $(UnpackedTarPath)" Importance="High" />
<MSBuild Projects="$(MSBuildProjectFile)" <MSBuild Projects="$(MSBuildProjectFile)"
Targets="CopyDownloadedPackage" Targets="CopyDownloadedPackage"
Properties="SourcePath=$(RestorePackagesPath);DestinationPath=$(UnpackedTarPath);PackageName=%(PackageReference.Identity);PackageVersion=%(PackageReference.Version)" /> Properties="SourcePath=$(RestorePackagesPath);DestinationPath=$(UnpackedTarPath);PackageName=%(PackageDownload.Identity);PackageVersion=%(PackageDownload.Version)" />
<!-- Repack tarball with new bootstrap name --> <!-- Repack tarball with new bootstrap name -->
<Message Text=" Repacking tarball to $(NewTarballName)" Importance="High" /> <Message Text=" Repacking tarball to $(NewTarballName)" Importance="High" />

View file

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

View file

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

View file

@ -45,6 +45,7 @@
<ItemGroup> <ItemGroup>
<EnvironmentVariables Include="DotNetBuildFromSource=true" /> <EnvironmentVariables Include="DotNetBuildFromSource=true" />
<EnvironmentVariables Include="DotNetBuildFromSourceFlavor=Product" />
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" /> <EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
<EnvironmentVariables Include="DotNetRestorePackagesPath=$(PackagesDir)" /> <EnvironmentVariables Include="DotNetRestorePackagesPath=$(PackagesDir)" />
<EnvironmentVariables Include="DotNetBuildOffline=true" /> <EnvironmentVariables Include="DotNetBuildOffline=true" />
@ -61,7 +62,7 @@
<EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetCliToolDir)" /> <EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetCliToolDir)" />
<EnvironmentVariables Include="_DotNetInstallDir=$(DotNetCliToolDir)" /> <EnvironmentVariables Include="_DotNetInstallDir=$(DotNetCliToolDir)" />
<EnvironmentVariables Include="_InitializeToolset=$(ProjectDir)Tools/source-built/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj" Condition="'$(UseBootstrapArcade)' != 'true'" /> <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" /> <EnvironmentVariables Include="DotNetUseShippingVersions=true" />
@ -150,7 +151,7 @@
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)"/> <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)" /> <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)"/> <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)"/> <ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)"/>
<ILSdkOverride Include="Microsoft.NET.Sdk.IL" Group="IL" /> <ILSdkOverride Include="Microsoft.NET.Sdk.IL" Group="IL" />
<MsBuildTraversalSdkOverride Include="Microsoft.Build.Traversal" Group="MSBUILD_TRAVERSAL" Version="2.0.2"/> <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. --> See https://github.com/dotnet/source-build/issues/1914 for details. -->
<PropertyGroup> <PropertyGroup>
<ArcadeSdkReplacementText> <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> </ArcadeSdkReplacementText>
<ArcadeLoggingReplacementText> <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> </ArcadeLoggingReplacementText>
<LoggerPathReplacementText> <LoggerPathReplacementText>
@ -346,47 +346,9 @@
<Output TaskParameter="PackageInfoItems" ItemName="_PreviouslySourceBuiltPackageInfos" /> <Output TaskParameter="PackageInfoItems" ItemName="_PreviouslySourceBuiltPackageInfos" />
</ReadNuGetPackageInfos> </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" /> <WriteLinesToFile File="$(RepoCompletedSemaphorePath)CreateBuildOutputProps.complete" Overwrite="true" />
</Target> </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" <Target Name="CreateCombinedRestoreSourceAndVersionProps"
BeforeTargets="Build" BeforeTargets="Build"
Inputs="$(MSBuildProjectFullPath)" Inputs="$(MSBuildProjectFullPath)"
@ -659,12 +621,6 @@
Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' " Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' "
WorkingDirectory="$(ToolPackageExtractDir)%(_ToolPackage.Id)/tools/SourceBuild/" /> 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 <!-- Allow overriding of Arcade targets for SourceBuild to enable quicker
dev turnaround for Preview 6 --> dev turnaround for Preview 6 -->
<PropertyGroup> <PropertyGroup>

View file

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

View file

@ -7,14 +7,11 @@
<!-- The arch flag (defaults to x64) overrides any value of TargetArchitecture that we might set --> <!-- The arch flag (defaults to x64) overrides any value of TargetArchitecture that we might set -->
<BuildCommandArgs>$(BuildCommandArgs) --arch $(Platform)</BuildCommandArgs> <BuildCommandArgs>$(BuildCommandArgs) --arch $(Platform)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) --no-build-repo-tasks</BuildCommandArgs> <BuildCommandArgs>$(BuildCommandArgs) --no-build-repo-tasks</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:BuildNodeJs=false</BuildCommandArgs> <BuildCommandArgs>$(BuildCommandArgs) --no-build-nodejs</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:PublishCompressedFilesPathPrefix=$(SourceBuiltAspNetCoreRuntime)</BuildCommandArgs> <BuildCommandArgs>$(BuildCommandArgs) /p:PublishCompressedFilesPathPrefix=$(SourceBuiltAspNetCoreRuntime)</BuildCommandArgs>
<!-- Update to 1.0.0 version of reference assemblies which are built in SBRP instead of the preview.2 version <!-- Update to 1.0.0 version of reference assemblies which are built in SBRP instead of the preview.2 version
included by Arcade --> included by Arcade -->
<BuildCommandArgs>$(BuildCommandArgs) /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0</BuildCommandArgs> <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> <BuildCommand>$(ProjectDirectory)\eng\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<LogVerbosityOptOut>true</LogVerbosityOptOut> <LogVerbosityOptOut>true</LogVerbosityOptOut>
@ -40,7 +37,7 @@
<ItemGroup> <ItemGroup>
<RepositoryReference Include="arcade" /> <RepositoryReference Include="arcade" />
<RepositoryReference Include="source-build" /> <RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="runtime" /> <RepositoryReference Include="runtime" />
<RepositoryReference Include="msbuild" /> <RepositoryReference Include="msbuild" />
<RepositoryReference Include="roslyn" /> <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> <ItemGroup>
<RepositoryReference Include="roslyn" /> <RepositoryReference Include="roslyn" />
<RepositoryReference Include="roslyn-analyzers" /> <RepositoryReference Include="roslyn-analyzers" />
<RepositoryReference Include="source-build" /> <RepositoryReference Include="source-build-externals" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View file

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

View file

@ -55,15 +55,13 @@
<ItemGroup> <ItemGroup>
<RepositoryReference Include="arcade" /> <RepositoryReference Include="arcade" />
<RepositoryReference Include="aspnetcore" /> <RepositoryReference Include="aspnetcore" />
<RepositoryReference Include="clicommandlineparser" />
<RepositoryReference Include="fsharp" /> <RepositoryReference Include="fsharp" />
<RepositoryReference Include="msbuild" /> <RepositoryReference Include="msbuild" />
<RepositoryReference Include="source-build" /> <RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="nuget-client" /> <RepositoryReference Include="nuget-client" />
<RepositoryReference Include="roslyn" /> <RepositoryReference Include="roslyn" />
<RepositoryReference Include="runtime" /> <RepositoryReference Include="runtime" />
<RepositoryReference Include="sdk" /> <RepositoryReference Include="sdk" />
<RepositoryReference Include="templating" />
<RepositoryReference Include="test-templates" /> <RepositoryReference Include="test-templates" />
<RepositoryReference Include="vstest" /> <RepositoryReference Include="vstest" />
<RepositoryReference Include="xliff-tasks" /> <RepositoryReference Include="xliff-tasks" />
@ -86,6 +84,7 @@
Unable to find package dotnet-ef. Unable to find package dotnet-ef.
Unable to find package dotnet-sql-cache. Unable to find package dotnet-sql-cache.
Unable to find package dotnet-user-secrets. Unable to find package dotnet-user-secrets.
Unable to find package dotnet-user-jwts.
Unable to find package dotnet-watch. --> Unable to find package dotnet-watch. -->
<EnvironmentVariables Include="CLIBUILD_SKIP_BUNDLEDDOTNETTOOLS=true" /> <EnvironmentVariables Include="CLIBUILD_SKIP_BUNDLEDDOTNETTOOLS=true" />
</ItemGroup> </ItemGroup>

View file

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

View file

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

View file

@ -50,7 +50,8 @@
<SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz</SourceBuiltTarballName> <SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz</SourceBuiltTarballName>
</PropertyGroup> </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)" /> <Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
</Target> </Target>

View file

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

View file

@ -11,6 +11,8 @@
<!-- issue: https://github.com/dotnet/source-build/issues/1719 --> <!-- issue: https://github.com/dotnet/source-build/issues/1719 -->
<BuildCommandArgs>$(BuildCommandArgs) /p:UsingToolMicrosoftNetCompilers=false</BuildCommandArgs> <BuildCommandArgs>$(BuildCommandArgs) /p:UsingToolMicrosoftNetCompilers=false</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:RepoRoot=$(ProjectDirectory)</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> <BuildCommand>$(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
@ -19,27 +21,10 @@
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile> <GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<!--
From roslyn Versions.props:
The version of Roslyn we build Source Generators against that are built in this
repository. This must be lower than MicrosoftNetCompilersToolsetVersion,
but not higher than our minimum dogfoodable Visual Studio version, or else
the generators we build would load on the command line but not load in IDEs.
In source-build these don't need to be pinned and can use the source-built versions since it doesn't
need to support VS.
-->
<ExtraPackageVersionPropsPackageInfo Include="SourceGeneratorMicrosoftCodeAnalysisVersion" Version="%24(MicrosoftCodeAnalysisCommonVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="SourceBuildLiftedSystemCollectionsImmutableVersion" Version="%24(SystemCollectionsImmutableVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="SourceBuildLiftedSystemReflectionMetadataVersion" Version="%24(SystemReflectionMetadataVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="SourceBuildLiftedSystemRuntimeCompilerServicesUnsafeVersion" Version="%24(SystemRuntimeCompilerServicesUnsafeVersion)" />
<ExtraPackageVersionPropsPackageInfo Include="SourceBuildLiftedSystemTextEncodingCodePagesVersion" Version="%24(SystemTextEncodingCodePagesVersion)" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<RepositoryReference Include="arcade" /> <RepositoryReference Include="arcade" />
<RepositoryReference Include="command-line-api" /> <RepositoryReference Include="command-line-api" />
<RepositoryReference Include="source-build" /> <RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="xliff-tasks" /> <RepositoryReference Include="xliff-tasks" />
</ItemGroup> </ItemGroup>

View file

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

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