Merge branch 'feature/installer-merge-update-main' into feature/installer-merge-update
# Conflicts: # eng/Version.Details.xml # eng/Versions.props # global.json # src/redist/redist.csproj # src/redist/targets/BundledDotnetTools.targets # src/redist/targets/BundledTemplates.targets # src/redist/targets/Crossgen.targets # src/redist/targets/GenerateArchives.targets # src/redist/targets/GenerateLayout.targets # src/redist/targets/GeneratePKG.targets # test/SdkTests/SdkTests.csproj
This commit is contained in:
commit
34c7829222
121 changed files with 5521 additions and 4406 deletions
|
@ -3,7 +3,7 @@
|
||||||
"isRoot": true,
|
"isRoot": true,
|
||||||
"tools": {
|
"tools": {
|
||||||
"microsoft.dotnet.darc": {
|
"microsoft.dotnet.darc": {
|
||||||
"version": "1.1.0-beta.24074.1",
|
"version": "1.1.0-beta.24112.3",
|
||||||
"commands": [
|
"commands": [
|
||||||
"darc"
|
"darc"
|
||||||
]
|
]
|
||||||
|
|
|
@ -13,7 +13,7 @@ This Codespace can help you debug the source build of .NET. In case you have run
|
||||||
`/workspaces/dotnet` with the PR changes pulled into it. You can then attempt to source-build
|
`/workspaces/dotnet` with the PR changes pulled into it. You can then attempt to source-build
|
||||||
the VMR which is what the VMR leg in the installer PR build doing. This build takes about 45
|
the VMR which is what the VMR leg in the installer PR build doing. This build takes about 45
|
||||||
minutes and, after completion, produces an archived .NET SDK located in
|
minutes and, after completion, produces an archived .NET SDK located in
|
||||||
`/workspaces/dotnet/artifacts/x64/Release`.
|
`/workspaces/dotnet/artifacts/assets/Release`.
|
||||||
|
|
||||||
## Build the SDK
|
## Build the SDK
|
||||||
|
|
||||||
|
|
|
@ -121,7 +121,7 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Debug_x64
|
jobName: Build_Linux_musl_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode'
|
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runtimeIdentifier: 'linux-musl-x64'
|
runtimeIdentifier: 'linux-musl-x64'
|
||||||
|
@ -222,7 +222,7 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_x64
|
jobName: Build_Linux_musl_Release_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode'
|
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runtimeIdentifier: 'linux-musl-x64'
|
runtimeIdentifier: 'linux-musl-x64'
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
|
<BuildArchitecture Condition="'$(BuildArchitecture)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
|
||||||
<Architecture Condition="'$(Architecture)' == '' AND ('$(BuildArchitecture)' == 'arm64' OR '$(BuildArchitecture)' == 'arm')">$(BuildArchitecture)</Architecture>
|
<Architecture Condition="'$(Architecture)' == '' AND ('$(BuildArchitecture)' == 'arm64' OR '$(BuildArchitecture)' == 'arm')">$(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)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Architecture>
|
||||||
|
|
110
README.md
110
README.md
|
@ -169,25 +169,24 @@ With development builds, internal NuGet feeds are necessary for some scenarios (
|
||||||
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 aren't shown here because they may contain upcoming security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.
|
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 aren't shown here because they may contain upcoming security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.
|
||||||
|
|
||||||
### Table
|
### Table
|
||||||
*Note* the 8.0.100 build will be finished internally starting in mid-October.
|
|
||||||
|
|
||||||
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
|
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
| Platform | main<br>(9.0.x Runtime) | 8.0.3xx<br>(8.0 Runtime) | Release/7.0.4xx<br>(7.0.x Runtime) |
|
| Platform | main<br>(9.0.x Runtime) | 9.0.1xx-preview1<br>(9.0-preview1 Runtime) | 8.0.3xx<br>(8.0 Runtime) | Release/7.0.4xx<br>(7.0.x Runtime) |
|
||||||
| :--------- | :----------: | :----------: | :----------: |
|
| :--------- | :----------: | :----------: | :----------: | :----------: |
|
||||||
| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]<br>[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]<br>[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-8.0.3XX]][win-x64-version-8.0.3XX]<br>[Installer][win-x64-installer-8.0.3XX] - [Checksum][win-x64-installer-checksum-8.0.3XX]<br>[zip][win-x64-zip-8.0.3XX] - [Checksum][win-x64-zip-checksum-8.0.3XX] | [![][win-x64-badge-7.0.4XX]][win-x64-version-7.0.4XX]<br>[Installer][win-x64-installer-7.0.4XX] - [Checksum][win-x64-installer-checksum-7.0.4XX]<br>[zip][win-x64-zip-7.0.4XX] - [Checksum][win-x64-zip-checksum-7.0.4XX] |
|
| **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-9.0.1XX-preview1]][win-x64-version-9.0.1XX-preview1]<br>[Installer][win-x64-installer-9.0.1XX-preview1] - [Checksum][win-x64-installer-checksum-9.0.1XX-preview1]<br>[zip][win-x64-zip-9.0.1XX-preview1] - [Checksum][win-x64-zip-checksum-9.0.1XX-preview1] | [![][win-x64-badge-8.0.3XX]][win-x64-version-8.0.3XX]<br>[Installer][win-x64-installer-8.0.3XX] - [Checksum][win-x64-installer-checksum-8.0.3XX]<br>[zip][win-x64-zip-8.0.3XX] - [Checksum][win-x64-zip-checksum-8.0.3XX] | [![][win-x64-badge-7.0.4XX]][win-x64-version-7.0.4XX]<br>[Installer][win-x64-installer-7.0.4XX] - [Checksum][win-x64-installer-checksum-7.0.4XX]<br>[zip][win-x64-zip-7.0.4XX] - [Checksum][win-x64-zip-checksum-7.0.4XX] |
|
||||||
| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]<br>[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]<br>[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-8.0.3XX]][win-x86-version-8.0.3XX]<br>[Installer][win-x86-installer-8.0.3XX] - [Checksum][win-x86-installer-checksum-8.0.3XX]<br>[zip][win-x86-zip-8.0.3XX] - [Checksum][win-x86-zip-checksum-8.0.3XX] | [![][win-x86-badge-7.0.4XX]][win-x86-version-7.0.4XX]<br>[Installer][win-x86-installer-7.0.4XX] - [Checksum][win-x86-installer-checksum-7.0.4XX]<br>[zip][win-x86-zip-7.0.4XX] - [Checksum][win-x86-zip-checksum-7.0.4XX] |
|
| **Windows x86** | [![][win-x86-badge-main]][win-x86-version-main]<br>[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]<br>[zip][win-x86-zip-main] - [Checksum][win-x86-zip-checksum-main] | [![][win-x86-badge-9.0.1XX-preview1]][win-x86-version-9.0.1XX-preview1]<br>[Installer][win-x86-installer-9.0.1XX-preview1] - [Checksum][win-x86-installer-checksum-9.0.1XX-preview1]<br>[zip][win-x86-zip-9.0.1XX-preview1] - [Checksum][win-x86-zip-checksum-9.0.1XX-preview1] | [![][win-x86-badge-8.0.3XX]][win-x86-version-8.0.3XX]<br>[Installer][win-x86-installer-8.0.3XX] - [Checksum][win-x86-installer-checksum-8.0.3XX]<br>[zip][win-x86-zip-8.0.3XX] - [Checksum][win-x86-zip-checksum-8.0.3XX] | [![][win-x86-badge-7.0.4XX]][win-x86-version-7.0.4XX]<br>[Installer][win-x86-installer-7.0.4XX] - [Checksum][win-x86-installer-checksum-7.0.4XX]<br>[zip][win-x86-zip-7.0.4XX] - [Checksum][win-x86-zip-checksum-7.0.4XX] |
|
||||||
| **Windows arm** | **N/A** | **N/A** | **N/A** |
|
| **Windows arm** | **N/A** | **N/A** | **N/A** | **N/A** |
|
||||||
| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]<br>[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]<br>[zip][win-arm64-zip-main] | [![][win-arm64-badge-8.0.3XX]][win-arm64-version-8.0.3XX]<br>[Installer][win-arm64-installer-8.0.3XX] - [Checksum][win-arm64-installer-checksum-8.0.3XX]<br>[zip][win-arm64-zip-8.0.3XX] | [![][win-arm64-badge-7.0.4XX]][win-arm64-version-7.0.4XX]<br>[Installer][win-arm64-installer-7.0.4XX] - [Checksum][win-arm64-installer-checksum-7.0.4XX]<br>[zip][win-arm64-zip-7.0.4XX] |
|
| **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-9.0.1XX-preview1]][win-arm64-version-9.0.1XX-preview1]<br>[Installer][win-arm64-installer-9.0.1XX-preview1] - [Checksum][win-arm64-installer-checksum-9.0.1XX-preview1]<br>[zip][win-arm64-zip-9.0.1XX-preview1] | [![][win-arm64-badge-8.0.3XX]][win-arm64-version-8.0.3XX]<br>[Installer][win-arm64-installer-8.0.3XX] - [Checksum][win-arm64-installer-checksum-8.0.3XX]<br>[zip][win-arm64-zip-8.0.3XX] | [![][win-arm64-badge-7.0.4XX]][win-arm64-version-7.0.4XX]<br>[Installer][win-arm64-installer-7.0.4XX] - [Checksum][win-arm64-installer-checksum-7.0.4XX]<br>[zip][win-arm64-zip-7.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-8.0.3XX]][osx-x64-version-8.0.3XX]<br>[Installer][osx-x64-installer-8.0.3XX] - [Checksum][osx-x64-installer-checksum-8.0.3XX]<br>[tar.gz][osx-x64-targz-8.0.3XX] - [Checksum][osx-x64-targz-checksum-8.0.3XX] | [![][osx-x64-badge-7.0.4XX]][osx-x64-version-7.0.4XX]<br>[Installer][osx-x64-installer-7.0.4XX] - [Checksum][osx-x64-installer-checksum-7.0.4XX]<br>[tar.gz][osx-x64-targz-7.0.4XX] - [Checksum][osx-x64-targz-checksum-7.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-9.0.1XX-preview1]][osx-x64-version-9.0.1XX-preview1]<br>[Installer][osx-x64-installer-9.0.1XX-preview1] - [Checksum][osx-x64-installer-checksum-9.0.1XX-preview1]<br>[tar.gz][osx-x64-targz-9.0.1XX-preview1] - [Checksum][osx-x64-targz-checksum-9.0.1XX-preview1] | [![][osx-x64-badge-8.0.3XX]][osx-x64-version-8.0.3XX]<br>[Installer][osx-x64-installer-8.0.3XX] - [Checksum][osx-x64-installer-checksum-8.0.3XX]<br>[tar.gz][osx-x64-targz-8.0.3XX] - [Checksum][osx-x64-targz-checksum-8.0.3XX] | [![][osx-x64-badge-7.0.4XX]][osx-x64-version-7.0.4XX]<br>[Installer][osx-x64-installer-7.0.4XX] - [Checksum][osx-x64-installer-checksum-7.0.4XX]<br>[tar.gz][osx-x64-targz-7.0.4XX] - [Checksum][osx-x64-targz-checksum-7.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-8.0.3XX]][osx-arm64-version-8.0.3XX]<br>[Installer][osx-arm64-installer-8.0.3XX] - [Checksum][osx-arm64-installer-checksum-8.0.3XX]<br>[tar.gz][osx-arm64-targz-8.0.3XX] - [Checksum][osx-arm64-targz-checksum-8.0.3XX] | [![][osx-arm64-badge-7.0.4XX]][osx-arm64-version-7.0.4XX]<br>[Installer][osx-arm64-installer-7.0.4XX] - [Checksum][osx-arm64-installer-checksum-7.0.4XX]<br>[tar.gz][osx-arm64-targz-7.0.4XX] - [Checksum][osx-arm64-targz-checksum-7.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-9.0.1XX-preview1]][osx-arm64-version-9.0.1XX-preview1]<br>[Installer][osx-arm64-installer-9.0.1XX-preview1] - [Checksum][osx-arm64-installer-checksum-9.0.1XX-preview1]<br>[tar.gz][osx-arm64-targz-9.0.1XX-preview1] - [Checksum][osx-arm64-targz-checksum-9.0.1XX-preview1] | [![][osx-arm64-badge-8.0.3XX]][osx-arm64-version-8.0.3XX]<br>[Installer][osx-arm64-installer-8.0.3XX] - [Checksum][osx-arm64-installer-checksum-8.0.3XX]<br>[tar.gz][osx-arm64-targz-8.0.3XX] - [Checksum][osx-arm64-targz-checksum-8.0.3XX] | [![][osx-arm64-badge-7.0.4XX]][osx-arm64-version-7.0.4XX]<br>[Installer][osx-arm64-installer-7.0.4XX] - [Checksum][osx-arm64-installer-checksum-7.0.4XX]<br>[tar.gz][osx-arm64-targz-7.0.4XX] - [Checksum][osx-arm64-targz-checksum-7.0.4XX] |
|
||||||
| **Linux x64** | [![][linux-badge-main]][linux-version-main]<br>[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]<br>[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-8.0.3XX]][linux-version-8.0.3XX]<br>[DEB Installer][linux-DEB-installer-8.0.3XX] - [Checksum][linux-DEB-installer-checksum-8.0.3XX]<br>[RPM Installer][linux-RPM-installer-8.0.3XX] - [Checksum][linux-RPM-installer-checksum-8.0.3XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-8.0.3XX] - [Checksum][linux-targz-checksum-8.0.3XX] | [![][linux-badge-7.0.4XX]][linux-version-7.0.4XX]<br>[DEB Installer][linux-DEB-installer-7.0.4XX] - [Checksum][linux-DEB-installer-checksum-7.0.4XX]<br>[RPM Installer][linux-RPM-installer-7.0.4XX] - [Checksum][linux-RPM-installer-checksum-7.0.4XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.4XX] - [Checksum][linux-targz-checksum-7.0.4XX] |
|
| **Linux x64** | [![][linux-badge-main]][linux-version-main]<br>[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]<br>[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-9.0.1XX-preview1]][linux-version-9.0.1XX-preview1]<br>[DEB Installer][linux-DEB-installer-9.0.1XX-preview1] - [Checksum][linux-DEB-installer-checksum-9.0.1XX-preview1]<br>[RPM Installer][linux-RPM-installer-9.0.1XX-preview1] - [Checksum][linux-RPM-installer-checksum-9.0.1XX-preview1]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-9.0.1XX-preview1] - [Checksum][linux-targz-checksum-9.0.1XX-preview1] | [![][linux-badge-8.0.3XX]][linux-version-8.0.3XX]<br>[DEB Installer][linux-DEB-installer-8.0.3XX] - [Checksum][linux-DEB-installer-checksum-8.0.3XX]<br>[RPM Installer][linux-RPM-installer-8.0.3XX] - [Checksum][linux-RPM-installer-checksum-8.0.3XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-8.0.3XX] - [Checksum][linux-targz-checksum-8.0.3XX] | [![][linux-badge-7.0.4XX]][linux-version-7.0.4XX]<br>[DEB Installer][linux-DEB-installer-7.0.4XX] - [Checksum][linux-DEB-installer-checksum-7.0.4XX]<br>[RPM Installer][linux-RPM-installer-7.0.4XX] - [Checksum][linux-RPM-installer-checksum-7.0.4XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.4XX] - [Checksum][linux-targz-checksum-7.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-8.0.3XX]][linux-arm-version-8.0.3XX]<br>[tar.gz][linux-arm-targz-8.0.3XX] - [Checksum][linux-arm-targz-checksum-8.0.3XX] | [![][linux-arm-badge-7.0.4XX]][linux-arm-version-7.0.4XX]<br>[tar.gz][linux-arm-targz-7.0.4XX] - [Checksum][linux-arm-targz-checksum-7.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-9.0.1XX-preview1]][linux-arm-version-9.0.1XX-preview1]<br>[tar.gz][linux-arm-targz-9.0.1XX-preview1] - [Checksum][linux-arm-targz-checksum-9.0.1XX-preview1] | [![][linux-arm-badge-8.0.3XX]][linux-arm-version-8.0.3XX]<br>[tar.gz][linux-arm-targz-8.0.3XX] - [Checksum][linux-arm-targz-checksum-8.0.3XX] | [![][linux-arm-badge-7.0.4XX]][linux-arm-version-7.0.4XX]<br>[tar.gz][linux-arm-targz-7.0.4XX] - [Checksum][linux-arm-targz-checksum-7.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-8.0.3XX]][linux-arm64-version-8.0.3XX]<br>[tar.gz][linux-arm64-targz-8.0.3XX] - [Checksum][linux-arm64-targz-checksum-8.0.3XX] | [![][linux-arm64-badge-7.0.4XX]][linux-arm64-version-7.0.4XX]<br>[tar.gz][linux-arm64-targz-7.0.4XX] - [Checksum][linux-arm64-targz-checksum-7.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-9.0.1XX-preview1]][linux-arm64-version-9.0.1XX-preview1]<br>[tar.gz][linux-arm64-targz-9.0.1XX-preview1] - [Checksum][linux-arm64-targz-checksum-9.0.1XX-preview1] | [![][linux-arm64-badge-8.0.3XX]][linux-arm64-version-8.0.3XX]<br>[tar.gz][linux-arm64-targz-8.0.3XX] - [Checksum][linux-arm64-targz-checksum-8.0.3XX] | [![][linux-arm64-badge-7.0.4XX]][linux-arm64-version-7.0.4XX]<br>[tar.gz][linux-arm64-targz-7.0.4XX] - [Checksum][linux-arm64-targz-checksum-7.0.4XX] |
|
||||||
| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]<br>[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-8.0.3XX]][linux-musl-x64-version-8.0.3XX]<br>[tar.gz][linux-musl-x64-targz-8.0.3XX] - [Checksum][linux-musl-x64-targz-checksum-8.0.3XX] | [![][linux-musl-x64-badge-7.0.4XX]][linux-musl-x64-version-7.0.4XX]<br>[tar.gz][linux-musl-x64-targz-7.0.4XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.4XX] |
|
| **Linux-musl-x64** | [![][linux-musl-x64-badge-main]][linux-musl-x64-version-main]<br>[tar.gz][linux-musl-x64-targz-main] - [Checksum][linux-musl-x64-targz-checksum-main] | [![][linux-musl-x64-badge-9.0.1XX-preview1]][linux-musl-x64-version-9.0.1XX-preview1]<br>[tar.gz][linux-musl-x64-targz-9.0.1XX-preview1] - [Checksum][linux-musl-x64-targz-checksum-9.0.1XX-preview1] | [![][linux-musl-x64-badge-8.0.3XX]][linux-musl-x64-version-8.0.3XX]<br>[tar.gz][linux-musl-x64-targz-8.0.3XX] - [Checksum][linux-musl-x64-targz-checksum-8.0.3XX] | [![][linux-musl-x64-badge-7.0.4XX]][linux-musl-x64-version-7.0.4XX]<br>[tar.gz][linux-musl-x64-targz-7.0.4XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.4XX] |
|
||||||
| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]<br>[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-8.0.3XX]][linux-musl-arm-version-8.0.3XX]<br>[tar.gz][linux-musl-arm-targz-8.0.3XX] - [Checksum][linux-musl-arm-targz-checksum-8.0.3XX] | [![][linux-musl-arm-badge-7.0.4XX]][linux-musl-arm-version-7.0.4XX]<br>[tar.gz][linux-musl-arm-targz-7.0.4XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.4XX] |
|
| **Linux-musl-arm** | [![][linux-musl-arm-badge-main]][linux-musl-arm-version-main]<br>[tar.gz][linux-musl-arm-targz-main] - [Checksum][linux-musl-arm-targz-checksum-main] | [![][linux-musl-arm-badge-9.0.1XX-preview1]][linux-musl-arm-version-9.0.1XX-preview1]<br>[tar.gz][linux-musl-arm-targz-9.0.1XX-preview1] - [Checksum][linux-musl-arm-targz-checksum-9.0.1XX-preview1] | [![][linux-musl-arm-badge-8.0.3XX]][linux-musl-arm-version-8.0.3XX]<br>[tar.gz][linux-musl-arm-targz-8.0.3XX] - [Checksum][linux-musl-arm-targz-checksum-8.0.3XX] | [![][linux-musl-arm-badge-7.0.4XX]][linux-musl-arm-version-7.0.4XX]<br>[tar.gz][linux-musl-arm-targz-7.0.4XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.4XX] |
|
||||||
| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]<br>[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-8.0.3XX]][linux-musl-arm64-version-8.0.3XX]<br>[tar.gz][linux-musl-arm64-targz-8.0.3XX] - [Checksum][linux-musl-arm64-targz-checksum-8.0.3XX] | [![][linux-musl-arm64-badge-7.0.4XX]][linux-musl-arm64-version-7.0.4XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.4XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.4XX] |
|
| **Linux-musl-arm64** | [![][linux-musl-arm64-badge-main]][linux-musl-arm64-version-main]<br>[tar.gz][linux-musl-arm64-targz-main] - [Checksum][linux-musl-arm64-targz-checksum-main] | [![][linux-musl-arm64-badge-9.0.1XX-preview1]][linux-musl-arm64-version-9.0.1XX-preview1]<br>[tar.gz][linux-musl-arm64-targz-9.0.1XX-preview1] - [Checksum][linux-musl-arm64-targz-checksum-9.0.1XX-preview1] | [![][linux-musl-arm64-badge-8.0.3XX]][linux-musl-arm64-version-8.0.3XX]<br>[tar.gz][linux-musl-arm64-targz-8.0.3XX] - [Checksum][linux-musl-arm64-targz-checksum-8.0.3XX] | [![][linux-musl-arm64-badge-7.0.4XX]][linux-musl-arm64-version-7.0.4XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.4XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.4XX] |
|
||||||
| **RHEL 6** | **N/A** | **N/A** | **N/A** |
|
| **RHEL 6** | **N/A** | **N/A** | **N/A** | **N/A** |
|
||||||
|
|
||||||
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:
|
||||||
|
@ -203,6 +202,13 @@ Reference notes:
|
||||||
[win-x64-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x64.zip
|
[win-x64-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x64.zip
|
||||||
[win-x64-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x64.zip.sha
|
[win-x64-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x64.zip.sha
|
||||||
|
|
||||||
|
[win-x64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/win_x64_Release_version_badge.svg?no-cache
|
||||||
|
[win-x64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-win-x64.txt
|
||||||
|
[win-x64-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x64.exe
|
||||||
|
[win-x64-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x64.exe.sha
|
||||||
|
[win-x64-zip-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x64.zip
|
||||||
|
[win-x64-zip-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x64.zip.sha
|
||||||
|
|
||||||
[win-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_x64_Release_version_badge.svg?no-cache
|
[win-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_x64_Release_version_badge.svg?no-cache
|
||||||
[win-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-x64.txt
|
[win-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-x64.txt
|
||||||
[win-x64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-x64.exe
|
[win-x64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-x64.exe
|
||||||
|
@ -224,6 +230,13 @@ Reference notes:
|
||||||
[win-x86-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x86.zip
|
[win-x86-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x86.zip
|
||||||
[win-x86-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x86.zip.sha
|
[win-x86-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-x86.zip.sha
|
||||||
|
|
||||||
|
[win-x86-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/win_x86_Release_version_badge.svg?no-cache
|
||||||
|
[win-x86-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-win-x86.txt
|
||||||
|
[win-x86-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x86.exe
|
||||||
|
[win-x86-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x86.exe.sha
|
||||||
|
[win-x86-zip-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x86.zip
|
||||||
|
[win-x86-zip-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-x86.zip.sha
|
||||||
|
|
||||||
[win-x86-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_x86_Release_version_badge.svg?no-cache
|
[win-x86-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_x86_Release_version_badge.svg?no-cache
|
||||||
[win-x86-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-x86.txt
|
[win-x86-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-x86.txt
|
||||||
[win-x86-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-x86.exe
|
[win-x86-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-x86.exe
|
||||||
|
@ -245,6 +258,13 @@ Reference notes:
|
||||||
[osx-x64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz
|
[osx-x64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz
|
||||||
[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
|
[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
|
||||||
|
|
||||||
|
[osx-x64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/osx_x64_Release_version_badge.svg?no-cache
|
||||||
|
[osx-x64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-osx-x64.txt
|
||||||
|
[osx-x64-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg
|
||||||
|
[osx-x64-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg.sha
|
||||||
|
[osx-x64-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-x64.tar.gz
|
||||||
|
[osx-x64-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
|
||||||
|
|
||||||
[osx-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/osx_x64_Release_version_badge.svg?no-cache
|
[osx-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/osx_x64_Release_version_badge.svg?no-cache
|
||||||
[osx-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-osx-x64.txt
|
[osx-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-osx-x64.txt
|
||||||
[osx-x64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-osx-x64.pkg
|
[osx-x64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-osx-x64.pkg
|
||||||
|
@ -266,6 +286,13 @@ Reference notes:
|
||||||
[osx-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz
|
[osx-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz
|
||||||
[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
|
[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
|
||||||
|
|
||||||
|
[osx-arm64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/osx_arm64_Release_version_badge.svg?no-cache
|
||||||
|
[osx-arm64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-osx-arm64.txt
|
||||||
|
[osx-arm64-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg
|
||||||
|
[osx-arm64-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg.sha
|
||||||
|
[osx-arm64-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.tar.gz
|
||||||
|
[osx-arm64-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
|
||||||
|
|
||||||
[osx-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/osx_arm64_Release_version_badge.svg?no-cache
|
[osx-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/osx_arm64_Release_version_badge.svg?no-cache
|
||||||
[osx-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-osx-arm64.txt
|
[osx-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-osx-arm64.txt
|
||||||
[osx-arm64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-osx-arm64.pkg
|
[osx-arm64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-osx-arm64.pkg
|
||||||
|
@ -289,6 +316,15 @@ Reference notes:
|
||||||
[linux-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz
|
[linux-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz
|
||||||
[linux-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
|
[linux-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_x64_Release_version_badge.svg?no-cache
|
||||||
|
[linux-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-x64.txt
|
||||||
|
[linux-DEB-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-x64.deb
|
||||||
|
[linux-DEB-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-x64.deb.sha
|
||||||
|
[linux-RPM-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-x64.rpm
|
||||||
|
[linux-RPM-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-x64.rpm.sha
|
||||||
|
[linux-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-x64.tar.gz
|
||||||
|
[linux-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-x64.tar.gz.sha
|
||||||
|
|
||||||
[linux-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_x64_Release_version_badge.svg?no-cache
|
[linux-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_x64_Release_version_badge.svg?no-cache
|
||||||
[linux-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-x64.txt
|
[linux-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-x64.txt
|
||||||
[linux-DEB-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-x64.deb
|
[linux-DEB-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-x64.deb
|
||||||
|
@ -312,6 +348,11 @@ Reference notes:
|
||||||
[linux-arm-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
|
[linux-arm-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
|
||||||
[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-arm-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_arm_Release_version_badge.svg?no-cache
|
||||||
|
[linux-arm-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-arm.txt
|
||||||
|
[linux-arm-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-arm.tar.gz
|
||||||
|
[linux-arm-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-arm.tar.gz.sha
|
||||||
|
|
||||||
[linux-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_arm_Release_version_badge.svg?no-cache
|
[linux-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_arm_Release_version_badge.svg?no-cache
|
||||||
[linux-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-arm.txt
|
[linux-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-arm.txt
|
||||||
[linux-arm-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-arm.tar.gz
|
[linux-arm-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-arm.tar.gz
|
||||||
|
@ -327,6 +368,11 @@ Reference notes:
|
||||||
[linux-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
[linux-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||||
[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-arm64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_arm64_Release_version_badge.svg?no-cache
|
||||||
|
[linux-arm64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-arm64.txt
|
||||||
|
[linux-arm64-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||||
|
[linux-arm64-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-arm64.tar.gz.sha
|
||||||
|
|
||||||
[linux-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_arm64_Release_version_badge.svg?no-cache
|
[linux-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_arm64_Release_version_badge.svg?no-cache
|
||||||
[linux-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-arm64.txt
|
[linux-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-arm64.txt
|
||||||
[linux-arm64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
[linux-arm64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-arm64.tar.gz
|
||||||
|
@ -342,6 +388,11 @@ Reference notes:
|
||||||
[rhel-6-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
[rhel-6-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||||
[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
||||||
|
|
||||||
|
[rhel-6-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/rhel.6_x64_Release_version_badge.svg?no-cache
|
||||||
|
[rhel-6-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-rhel.6-x64.txt
|
||||||
|
[rhel-6-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||||
|
[rhel-6-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
|
||||||
|
|
||||||
[rhel-6-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/rhel.6_x64_Release_version_badge.svg?no-cache
|
[rhel-6-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/rhel.6_x64_Release_version_badge.svg?no-cache
|
||||||
[rhel-6-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-rhel.6-x64.txt
|
[rhel-6-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-rhel.6-x64.txt
|
||||||
[rhel-6-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
[rhel-6-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
|
||||||
|
@ -357,6 +408,11 @@ Reference notes:
|
||||||
[linux-musl-x64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
[linux-musl-x64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||||
[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-musl-x64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_musl_x64_Release_version_badge.svg?no-cache
|
||||||
|
[linux-musl-x64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-musl-x64.txt
|
||||||
|
[linux-musl-x64-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||||
|
[linux-musl-x64-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
|
||||||
|
|
||||||
[linux-musl-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_x64_Release_version_badge.svg?no-cache
|
[linux-musl-x64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_x64_Release_version_badge.svg?no-cache
|
||||||
[linux-musl-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-x64.txt
|
[linux-musl-x64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-x64.txt
|
||||||
[linux-musl-x64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
[linux-musl-x64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
|
||||||
|
@ -372,6 +428,11 @@ Reference notes:
|
||||||
[linux-musl-arm-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
[linux-musl-arm-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||||
[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-musl-arm-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_musl_arm_Release_version_badge.svg?no-cache
|
||||||
|
[linux-musl-arm-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-musl-arm.txt
|
||||||
|
[linux-musl-arm-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||||
|
[linux-musl-arm-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
|
||||||
|
|
||||||
[linux-musl-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_arm_Release_version_badge.svg?no-cache
|
[linux-musl-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_arm_Release_version_badge.svg?no-cache
|
||||||
[linux-musl-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-arm.txt
|
[linux-musl-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-arm.txt
|
||||||
[linux-musl-arm-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
[linux-musl-arm-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
|
||||||
|
@ -387,6 +448,11 @@ Reference notes:
|
||||||
[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||||
[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
||||||
|
|
||||||
|
[linux-musl-arm64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
|
||||||
|
[linux-musl-arm64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-linux-musl-arm64.txt
|
||||||
|
[linux-musl-arm64-targz-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||||
|
[linux-musl-arm64-targz-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
|
||||||
|
|
||||||
[linux-musl-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
|
[linux-musl-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
|
||||||
[linux-musl-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-arm64.txt
|
[linux-musl-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-linux-musl-arm64.txt
|
||||||
[linux-musl-arm64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
[linux-musl-arm64-targz-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
|
||||||
|
@ -402,6 +468,11 @@ Reference notes:
|
||||||
[win-arm-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm.zip
|
[win-arm-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm.zip
|
||||||
[win-arm-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
|
[win-arm-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
|
||||||
|
|
||||||
|
[win-arm-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/win_arm_Release_version_badge.svg?no-cache
|
||||||
|
[win-arm-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-win-arm.txt
|
||||||
|
[win-arm-zip-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm.zip
|
||||||
|
[win-arm-zip-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm.zip.sha
|
||||||
|
|
||||||
[win-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_arm_Release_version_badge.svg?no-cache
|
[win-arm-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_arm_Release_version_badge.svg?no-cache
|
||||||
[win-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-arm.txt
|
[win-arm-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-arm.txt
|
||||||
[win-arm-zip-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-arm.zip
|
[win-arm-zip-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-arm.zip
|
||||||
|
@ -419,6 +490,13 @@ Reference notes:
|
||||||
[win-arm64-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm64.zip
|
[win-arm64-zip-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm64.zip
|
||||||
[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha
|
[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/9.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha
|
||||||
|
|
||||||
|
[win-arm64-badge-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/win_arm64_Release_version_badge.svg?no-cache
|
||||||
|
[win-arm64-version-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/productCommit-win-arm64.txt
|
||||||
|
[win-arm64-installer-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm64.exe
|
||||||
|
[win-arm64-installer-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm64.exe.sha
|
||||||
|
[win-arm64-zip-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm64.zip
|
||||||
|
[win-arm64-zip-checksum-9.0.1XX-preview1]: https://aka.ms/dotnet/9.0.1xx-preview1/daily/dotnet-sdk-win-arm64.zip.sha
|
||||||
|
|
||||||
[win-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_arm64_Release_version_badge.svg?no-cache
|
[win-arm64-badge-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/win_arm64_Release_version_badge.svg?no-cache
|
||||||
[win-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-arm64.txt
|
[win-arm64-version-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/productCommit-win-arm64.txt
|
||||||
[win-arm64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-arm64.exe
|
[win-arm64-installer-8.0.3XX]: https://aka.ms/dotnet/8.0.3xx/daily/dotnet-sdk-win-arm64.exe
|
||||||
|
|
|
@ -8,13 +8,25 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="ConfigureInnerBuildArg" BeforeTargets="GetSourceBuildCommandConfiguration">
|
<Target Name="ConfigureInnerBuildArg" BeforeTargets="GetSourceBuildCommandConfiguration">
|
||||||
<PropertyGroup>
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:SkipBuildingInstallers=true</InnerBuildArgs>
|
<InnerBuildArgs>$(InnerBuildArgs) /p:SkipBuildingInstallers=true</InnerBuildArgs>
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false</InnerBuildArgs>
|
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false</InnerBuildArgs>
|
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false</InnerBuildArgs>
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false</InnerBuildArgs>
|
|
||||||
<InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:DISABLE_CROSSGEN=true</InnerBuildArgs>
|
<InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:DISABLE_CROSSGEN=true</InnerBuildArgs>
|
||||||
|
<InnerBuildArgs Condition="'$(PgoInstrument)' == 'true'">$(InnerBuildArgs) /p:PgoInstrument=true</InnerBuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<!-- This should be resolved/removed with https://github.com/dotnet/source-build/issues/4101 -->
|
||||||
|
<Target Name="AddInstallers"
|
||||||
|
BeforeTargets="GetCategorizedIntermediateNupkgContents">
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildOrchestrator)' == 'true'">
|
||||||
|
<!-- Include installers when in product VMR builds. These are not necessary when building the repo-only build as we don't
|
||||||
|
need them in downstream source-only PR legs. We could include them, but it may bump us over the package size limit. -->
|
||||||
|
<IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\*.msi" />
|
||||||
|
<IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\*.deb" />
|
||||||
|
<IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\*.rpm" />
|
||||||
|
<IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\*.pkg" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -5,42 +5,41 @@
|
||||||
Source-build uses transitive dependency resolution to determine correct build SHA of all product contributing repos.
|
Source-build uses transitive dependency resolution to determine correct build SHA of all product contributing repos.
|
||||||
The order of dependencies is important and should not be modified without approval from dotnet/source-build-internal.
|
The order of dependencies is important and should not be modified without approval from dotnet/source-build-internal.
|
||||||
-->
|
-->
|
||||||
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="9.0.0-preview.2.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="9.0.0-preview.2.24122.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24122.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0" Version="9.0.0-preview.2.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0" Version="9.0.0-preview.2.24122.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="9.0.0-preview.2.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="9.0.0-preview.2.24122.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
|
||||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
<SourceBuild RepoName="runtime" ManagedOnly="false" />
|
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NETCore.App.Ref" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.9.0" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.9.0" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</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,56 +47,72 @@
|
||||||
<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="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NETCore.Platforms" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
<!-- Intermediate is necessary for source build. -->
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.runtime.linux-x64" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
|
<SourceBuild RepoName="runtime" ManagedOnly="false" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="dotnet-dev-certs" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="dotnet-user-jwts" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="dotnet-user-secrets" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspnetcore" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||||
|
<Sha>cc5bc6b56dc0a6e6f1ca103acff5afd9c71973ba</Sha>
|
||||||
<SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
|
<SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="9.0.100-preview.2.24123.3">
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="dotnet-dev-certs" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="dotnet-user-jwts" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="dotnet-user-secrets" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
|
||||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="9.0.100-preview.2.24076.3">
|
|
||||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="9.0.100-preview.2.24076.3">
|
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="9.0.100-preview.2.24123.3">
|
||||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NET.Sdk" Version="9.0.100-preview.2.24076.3">
|
<Dependency Name="Microsoft.NET.Sdk" Version="9.0.100-preview.2.24123.3">
|
||||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="9.0.100-preview.2.24123.3">
|
||||||
|
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||||
|
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.sdk" Version="9.0.100-preview.2.24123.3">
|
||||||
|
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||||
|
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||||
<SourceBuild RepoName="sdk" ManagedOnly="true" />
|
<SourceBuild RepoName="sdk" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="9.0.100-preview.2.24076.3">
|
|
||||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
|
||||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.2.1" Version="1.0.2-beta4.22406.1">
|
<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>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
|
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
|
||||||
|
@ -114,55 +129,76 @@
|
||||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||||
<Sha>becc4bd157cd6608b51a5ffe414a5d2de6330272</Sha>
|
<Sha>becc4bd157cd6608b51a5ffe414a5d2de6330272</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.24076.1">
|
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.24120.2">
|
||||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||||
<Sha>5fc17f5abd212c64fe9adcc3641283954a7555aa</Sha>
|
<Sha>1591b24326caa98288e04e18e5c1b75c36c917c1</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.9.0" Version="1.1.0-rc.24120.2">
|
||||||
|
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||||
|
<Sha>1591b24326caa98288e04e18e5c1b75c36c917c1</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.test-templates" Version="1.1.0-rc.24120.2">
|
||||||
|
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||||
|
<Sha>1591b24326caa98288e04e18e5c1b75c36c917c1</Sha>
|
||||||
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
|
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.9.0" Version="1.1.0-rc.24076.1">
|
|
||||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
|
||||||
<Sha>5fc17f5abd212c64fe9adcc3641283954a7555aa</Sha>
|
|
||||||
</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="9.0.0-preview.2.24074.4" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="9.0.0-preview.2.24122.2" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||||
<Uri>https://github.com/dotnet/winforms</Uri>
|
<Uri>https://github.com/dotnet/winforms</Uri>
|
||||||
<Sha>daf3f4db5de296ac78b51d279e86a38c62255e0b</Sha>
|
<Sha>822e882f4080b6197234cd82ad0d2f2a485a4f35</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="9.0.0-preview.2.24075.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="9.0.0-preview.2.24122.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
|
||||||
<Uri>https://github.com/dotnet/wpf</Uri>
|
<Uri>https://github.com/dotnet/wpf</Uri>
|
||||||
<Sha>b9272765feae8da69fee7340c127add8296917fb</Sha>
|
<Sha>a86dc342ee4a97a9d36c1e55503e5d7ae7eb8b80</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.300-beta.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.8.300-beta.24122.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/fsharp</Uri>
|
<Uri>https://github.com/dotnet/fsharp</Uri>
|
||||||
<Sha>32898dc51efc669de98e7e47f57d521bc07ac4cc</Sha>
|
<Sha>02bb351b606468bce98688fccda9d0c8adcd964d</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="8.0.300-beta.24075.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="8.0.300-beta.24122.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/fsharp</Uri>
|
<Uri>https://github.com/dotnet/fsharp</Uri>
|
||||||
<Sha>32898dc51efc669de98e7e47f57d521bc07ac4cc</Sha>
|
<Sha>02bb351b606468bce98688fccda9d0c8adcd964d</Sha>
|
||||||
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
|
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.10.0-preview-24073-02" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.10.0-preview-24120-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/microsoft/vstest</Uri>
|
<Uri>https://github.com/microsoft/vstest</Uri>
|
||||||
<Sha>c0c0e75fb8ea396a8b0717d17c2e738975d412e7</Sha>
|
<Sha>48d8e778c871315db0bad221b00f4843b06242c3</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.vstest" Version="17.10.0-preview-24120-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/microsoft/vstest</Uri>
|
||||||
|
<Sha>48d8e778c871315db0bad221b00f4843b06242c3</Sha>
|
||||||
<SourceBuild RepoName="vstest" ManagedOnly="true" />
|
<SourceBuild RepoName="vstest" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="9.0.0-preview.2.24076.4" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.10.0-1.24067.21" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.10.0-2.24122.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||||
<Sha>3cd939f76803da435c20b082a5cfcc844386fcfb</Sha>
|
<Sha>2bfcc497086de48b15861bb56407324facef4c4a</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.roslyn" Version="4.10.0-2.24122.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||||
|
<Sha>2bfcc497086de48b15861bb56407324facef4c4a</Sha>
|
||||||
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
|
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24073-02" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="Microsoft.Build" Version="17.10.0-preview-24122-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/msbuild</Uri>
|
<Uri>https://github.com/dotnet/msbuild</Uri>
|
||||||
<Sha>d51ae5297cd0a24caa8cfe356442cc8634c3f087</Sha>
|
<Sha>d4cb14fe4d2e6df0327308feab18ccbb2046246c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.msbuild" Version="17.10.0-preview-24122-01" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
|
<Uri>https://github.com/dotnet/msbuild</Uri>
|
||||||
|
<Sha>d4cb14fe4d2e6df0327308feab18ccbb2046246c</Sha>
|
||||||
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
|
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="NuGet.Build.Tasks" Version="6.9.0-rc.86" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="NuGet.Build.Tasks" Version="6.10.0-preview.2.41" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/nuget/nuget.client</Uri>
|
<Uri>https://github.com/nuget/nuget.client</Uri>
|
||||||
<Sha>d55931a69dcda3dcb87ba46a09fe268e0febc223</Sha>
|
<Sha>63958aab19b7120862ff55eac32ab6a155596a59</Sha>
|
||||||
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
|
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<!-- TODO -->
|
<!-- TODO -->
|
||||||
|
@ -170,81 +206,109 @@
|
||||||
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
|
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
|
||||||
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
|
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport" Version="9.0.0-alpha.1.24072.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
|
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
|
||||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||||
<Sha>ae7c93e25ae596594b3b22d64115f374a3595912</Sha>
|
<Sha>2d3f1fe4807a21879cedba9d3fde8cd329fb17f2</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.emsdk" Version="9.0.0-preview.2.24121.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
|
||||||
|
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||||
|
<Sha>2d3f1fe4807a21879cedba9d3fde8cd329fb17f2</Sha>
|
||||||
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
|
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-8.0.100" Version="8.0.0-preview.3.24060.4">
|
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="2.0.0-preview.1.24113.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/aspire</Uri>
|
|
||||||
<Sha>66a1dd77e4077592a587c1429c8814d1057dc474</Sha>
|
|
||||||
<SourceBuild RepoName="aspire" ManagedOnly="true" />
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="2.0.0-preview.1.24067.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
||||||
<Sha>e56c69b0610b50407d29fdc2dda2574712a7b94d</Sha>
|
<Sha>822ff266c5f999ab9ceb6928df59d79285ea4a4f</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<!-- Explicit dependency because Microsoft.Deployment.DotNet.Releases has different versioning
|
<!-- Intermediate is necessary for source build. -->
|
||||||
than the SB intermediate -->
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.deployment-tools" Version="9.0.0-preview.1.24113.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.deployment-tools" Version="9.0.0-preview.1.24067.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
|
||||||
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
||||||
<Sha>e56c69b0610b50407d29fdc2dda2574712a7b94d</Sha>
|
<Sha>822ff266c5f999ab9ceb6928df59d79285ea4a4f</Sha>
|
||||||
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
|
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="9.0.0-alpha.1.24076.1">
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="9.0.0-alpha.1.24112.1">
|
||||||
<Uri>https://github.com/dotnet/source-build-externals</Uri>
|
<Uri>https://github.com/dotnet/source-build-externals</Uri>
|
||||||
<Sha>414a85bf970355c0e91d6a2de1ee183fafbfcecd</Sha>
|
<Sha>ddfb60463c966af55fd0e222c2266170e83d1324</Sha>
|
||||||
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
|
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="System.CommandLine" Version="2.0.0-beta4.24068.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
<Dependency Name="System.CommandLine" Version="2.0.0-beta4.24112.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/command-line-api</Uri>
|
<Uri>https://github.com/dotnet/command-line-api</Uri>
|
||||||
<Sha>ecd2ce5eafbba3008a7d4f5d04b025d30928c812</Sha>
|
<Sha>e9ac4ff4293cf853f3d07eb9e747aef27f5be965</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.command-line-api" Version="0.1.506801" CoherentParentDependency="Microsoft.NET.Sdk">
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.command-line-api" Version="0.1.511201" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||||
<Uri>https://github.com/dotnet/command-line-api</Uri>
|
<Uri>https://github.com/dotnet/command-line-api</Uri>
|
||||||
<Sha>ecd2ce5eafbba3008a7d4f5d04b025d30928c812</Sha>
|
<Sha>e9ac4ff4293cf853f3d07eb9e747aef27f5be965</Sha>
|
||||||
<SourceBuild RepoName="command-line-api" ManagedOnly="true" />
|
<SourceBuild RepoName="command-line-api" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24075.2">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24114.1">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
<Sha>d5b02a4900c4d521cb48b8f0d7e3f28175268f7c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="9.0.0-beta.24114.1">
|
||||||
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
|
<Sha>d5b02a4900c4d521cb48b8f0d7e3f28175268f7c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24114.1">
|
||||||
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
|
<Sha>d5b02a4900c4d521cb48b8f0d7e3f28175268f7c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.24112.3">
|
||||||
|
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
||||||
|
<Sha>c041bcdab75f5447be8bd11ddcfbe8e639f13f32</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.24112.3">
|
||||||
|
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
||||||
|
<Sha>c041bcdab75f5447be8bd11ddcfbe8e639f13f32</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24114.1">
|
||||||
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
|
<Sha>d5b02a4900c4d521cb48b8f0d7e3f28175268f7c</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24114.1">
|
||||||
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
|
<Sha>d5b02a4900c4d521cb48b8f0d7e3f28175268f7c</Sha>
|
||||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="9.0.0-beta.24075.2">
|
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
|
||||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="9.0.0-beta.24075.2">
|
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
|
||||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.24074.1">
|
|
||||||
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
|
||||||
<Sha>70e9b79b12680b7be6c36913f1d0ecb5cc9e32cf</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.24074.1">
|
|
||||||
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
|
||||||
<Sha>70e9b79b12680b7be6c36913f1d0ecb5cc9e32cf</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.24075.2">
|
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
|
||||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
|
||||||
</Dependency>
|
|
||||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="9.0.0-alpha.1.23612.13">
|
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="9.0.0-alpha.1.23612.13">
|
||||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||||
<Sha>ab1a8224cdf115b65e0db5dc88d11f205068f444</Sha>
|
<Sha>ab1a8224cdf115b65e0db5dc88d11f205068f444</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.24075.1">
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.24119.1">
|
||||||
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
||||||
<Sha>e659f328bf255d3e17e81296117c3aed1d461f2f</Sha>
|
<Sha>539af5d8ae183d4fe61e8b2f8f4a8505c8a765a7</Sha>
|
||||||
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
|
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.24057.2">
|
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.24057.2">
|
||||||
<Uri>https://github.com/dotnet/scenario-tests</Uri>
|
<Uri>https://github.com/dotnet/scenario-tests</Uri>
|
||||||
<Sha>bfde902a10d7b672f4fc7e844198ede405dbb9c6</Sha>
|
<Sha>bfde902a10d7b672f4fc7e844198ede405dbb9c6</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.scenario-tests" Version="9.0.0-preview.24057.2">
|
||||||
|
<Uri>https://github.com/dotnet/scenario-tests</Uri>
|
||||||
|
<Sha>bfde902a10d7b672f4fc7e844198ede405dbb9c6</Sha>
|
||||||
<SourceBuild RepoName="scenario-tests" ManagedOnly="true" />
|
<SourceBuild RepoName="scenario-tests" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
|
<!-- Aspire isn't really a toolset dependency. However, it only inserts a baseline manifest in installer,
|
||||||
|
and if you squint at it, this means we can say that its specific dependency versions don't matter to installer.
|
||||||
|
Avoiding this as a product dependency avoids a long coherency path (aspnetcore->extensions->aspire->installer).
|
||||||
|
**It is** of course possible that an incoherent aspire means that aspire depends on versions of extensions that
|
||||||
|
aren't shipping, or those extensions packages depend on aspnetcore packages that won't ship. However, given the cost
|
||||||
|
of maintaining this coherency path is high. This being toolset means that aspire is responsible for its own coherency.
|
||||||
|
-->
|
||||||
|
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-9.0.100-preview.1" Version="9.0.0-preview.1.24116.3">
|
||||||
|
<Uri>https://github.com/dotnet/aspire</Uri>
|
||||||
|
<Sha>1dd4b3265f01a50b20522fd3d7f3cd315db5be6b</Sha>
|
||||||
|
</Dependency>
|
||||||
|
<!-- Intermediate is necessary for source build. -->
|
||||||
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.aspire" Version="9.0.0-preview.1.24116.3">
|
||||||
|
<Uri>https://github.com/dotnet/aspire</Uri>
|
||||||
|
<Sha>1dd4b3265f01a50b20522fd3d7f3cd315db5be6b</Sha>
|
||||||
|
<SourceBuild RepoName="aspire" ManagedOnly="true" />
|
||||||
|
</Dependency>
|
||||||
</ToolsetDependencies>
|
</ToolsetDependencies>
|
||||||
</Dependencies>
|
</Dependencies>
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
<VersionMinor>0</VersionMinor>
|
<VersionMinor>0</VersionMinor>
|
||||||
<VersionSDKMinor>1</VersionSDKMinor>
|
<VersionSDKMinor>1</VersionSDKMinor>
|
||||||
<VersionFeature>00</VersionFeature>
|
<VersionFeature>00</VersionFeature>
|
||||||
|
<!-- This property powers the SdkAnalysisLevel property in end-user MSBuild code.
|
||||||
|
It should always be the hundreds-value of the current SDK version, never any
|
||||||
|
preview version components or anything else. E.g. 8.0.100, 9.0.300, etc. -->
|
||||||
|
<SdkFeatureBand>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)00</SdkFeatureBand>
|
||||||
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
|
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
|
||||||
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
|
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
|
||||||
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
|
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
|
||||||
|
@ -19,7 +23,7 @@
|
||||||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' != 'true'">preview</PreReleaseVersionLabel>
|
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' != 'true'">preview</PreReleaseVersionLabel>
|
||||||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' == '00'">rtm</PreReleaseVersionLabel>
|
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' == '00'">rtm</PreReleaseVersionLabel>
|
||||||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' != '00'">servicing</PreReleaseVersionLabel>
|
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' != '00'">servicing</PreReleaseVersionLabel>
|
||||||
<PreReleaseVersionIteration Condition="'$(StabilizePackageVersion)' != 'true'">2</PreReleaseVersionIteration>
|
<PreReleaseVersionIteration Condition="'$(StabilizePackageVersion)' != 'true'">3</PreReleaseVersionIteration>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VersionFeature21>30</VersionFeature21>
|
<VersionFeature21>30</VersionFeature21>
|
||||||
|
@ -40,19 +44,19 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/arcade -->
|
<!-- Dependency from https://github.com/dotnet/arcade -->
|
||||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24075.2</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
<MicrosoftDotNetBuildTasksInstallersPackageVersion>9.0.0-beta.24114.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/arcade-services -->
|
<!-- Dependency from https://github.com/dotnet/arcade-services -->
|
||||||
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.24074.1</MicrosoftDotNetDarcLibVersion>
|
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.24112.3</MicrosoftDotNetDarcLibVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/winforms -->
|
<!-- Dependency from https://github.com/dotnet/winforms -->
|
||||||
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>9.0.0-preview.2.24074.4</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
|
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>9.0.0-preview.2.24122.2</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/wpf -->
|
<!-- Dependency from https://github.com/dotnet/wpf -->
|
||||||
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>9.0.0-preview.2.24075.1</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
|
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>9.0.0-preview.2.24122.1</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/test-templates -->
|
<!-- Dependency from https://github.com/dotnet/test-templates -->
|
||||||
|
@ -64,8 +68,8 @@
|
||||||
<!-- Supported versions -->
|
<!-- Supported versions -->
|
||||||
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
|
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
|
||||||
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
|
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
|
||||||
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24076.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24120.2</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
||||||
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24076.1</MicrosoftDotNetTestProjectTemplates90PackageVersion>
|
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24120.2</MicrosoftDotNetTestProjectTemplates90PackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
|
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
|
||||||
|
@ -73,13 +77,13 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
|
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
|
||||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||||
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRefPackageVersion>
|
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRefPackageVersion>
|
||||||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||||
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24075.3</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
|
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24121.1</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
|
||||||
<DotnetDevCertsPackageVersion>9.0.0-preview.2.24075.3</DotnetDevCertsPackageVersion>
|
<DotnetDevCertsPackageVersion>9.0.0-preview.2.24121.1</DotnetDevCertsPackageVersion>
|
||||||
<DotnetUserJwtsPackageVersion>9.0.0-preview.2.24075.3</DotnetUserJwtsPackageVersion>
|
<DotnetUserJwtsPackageVersion>9.0.0-preview.2.24121.1</DotnetUserJwtsPackageVersion>
|
||||||
<DotnetUserSecretsPackageVersion>9.0.0-preview.2.24075.3</DotnetUserSecretsPackageVersion>
|
<DotnetUserSecretsPackageVersion>9.0.0-preview.2.24121.1</DotnetUserSecretsPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
||||||
|
@ -87,36 +91,36 @@
|
||||||
<!-- TODO -->
|
<!-- TODO -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/dotnet/sdk -->
|
<!-- Dependencies from https://github.com/dotnet/sdk -->
|
||||||
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.2.24076.3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.2.24123.3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
||||||
<MicrosoftNETSdkPackageVersion>9.0.100-preview.2.24076.3</MicrosoftNETSdkPackageVersion>
|
<MicrosoftNETSdkPackageVersion>9.0.100-preview.2.24123.3</MicrosoftNETSdkPackageVersion>
|
||||||
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.2.24076.3</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
|
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.2.24123.3</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/roslyn -->
|
<!-- Dependencies from https://github.com/dotnet/roslyn -->
|
||||||
<MicrosoftNetCompilersToolsetPackageVersion>4.10.0-1.24067.21</MicrosoftNetCompilersToolsetPackageVersion>
|
<MicrosoftNetCompilersToolsetPackageVersion>4.10.0-2.24122.3</MicrosoftNetCompilersToolsetPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/dotnet/corefx -->
|
<!-- Dependencies from https://github.com/dotnet/corefx -->
|
||||||
<MicrosoftNETCorePlatformsPackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCorePlatformsPackageVersion>
|
<MicrosoftNETCorePlatformsPackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCorePlatformsPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/dotnet/core-setup -->
|
<!-- Dependencies from https://github.com/dotnet/core-setup -->
|
||||||
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24076.4</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
|
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24123.1</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
|
||||||
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.2.24076.4</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
|
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.2.24123.1</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
|
||||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||||
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
||||||
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppRefPackageVersion>
|
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppRefPackageVersion>
|
||||||
<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 -->
|
||||||
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24075.4</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
|
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24122.1</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
|
||||||
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.2.24075.4</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
|
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.2.24122.1</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
|
||||||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.2.24075.4</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.2.24122.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||||
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.2.24075.4</MicrosoftWindowsDesktopAppRefPackageVersion>
|
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.2.24122.1</MicrosoftWindowsDesktopAppRefPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 version above and create aliases without the winx64 here for clarity elsewhere. -->
|
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 version above and create aliases without the winx64 here for clarity elsewhere. -->
|
||||||
|
@ -127,11 +131,11 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/NuGet/NuGet.Client -->
|
<!-- Dependencies from https://github.com/NuGet/NuGet.Client -->
|
||||||
<NuGetBuildTasksPackageVersion>6.9.0-rc.86</NuGetBuildTasksPackageVersion>
|
<NuGetBuildTasksPackageVersion>6.10.0-preview.2.41</NuGetBuildTasksPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<!-- Dependencies from https://github.com/dotnet/deployment-tools -->
|
<!-- Dependencies from https://github.com/dotnet/deployment-tools -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<MicrosoftDeploymentDotNetReleasesVersion>2.0.0-preview.1.24067.1</MicrosoftDeploymentDotNetReleasesVersion>
|
<MicrosoftDeploymentDotNetReleasesVersion>2.0.0-preview.1.24113.2</MicrosoftDeploymentDotNetReleasesVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- TODO -->
|
<!-- TODO -->
|
||||||
|
@ -186,7 +190,8 @@
|
||||||
<SharedHostVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedHostVersion>
|
<SharedHostVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedHostVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<WixPackageVersion>1.0.0-v3.14.0.5722</WixPackageVersion>
|
<!-- This is the version of the zip archive for the WiX toolset and is different from the NuGet package version format. -->
|
||||||
|
<WixVersion>3.14.0.8606</WixVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- 9.0 Template versions -->
|
<!-- 9.0 Template versions -->
|
||||||
|
@ -248,23 +253,23 @@
|
||||||
<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.10.0-preview-24073-02</MicrosoftNETTestSdkVersion>
|
<MicrosoftNETTestSdkVersion>17.10.0-preview-24120-01</MicrosoftNETTestSdkVersion>
|
||||||
<MicrosoftExtensionsLoggingConsoleVersion>9.0.0-alpha.1.24058.10</MicrosoftExtensionsLoggingConsoleVersion>
|
<MicrosoftExtensionsLoggingConsoleVersion>9.0.0-alpha.1.24058.10</MicrosoftExtensionsLoggingConsoleVersion>
|
||||||
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.24057.2</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
|
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.24057.2</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<!-- Workload manifest package versions -->
|
<!-- Workload manifest package versions -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AspireFeatureBand>8.0.100</AspireFeatureBand>
|
<AspireFeatureBand>9.0.100-preview.1</AspireFeatureBand>
|
||||||
<AspireWorkloadManifestVersion>8.0.0-preview.3.24060.4</AspireWorkloadManifestVersion>
|
<MicrosoftNETSdkAspireManifest90100preview1PackageVersion>9.0.0-preview.1.24116.3</MicrosoftNETSdkAspireManifest90100preview1PackageVersion>
|
||||||
<MauiFeatureBand>9.0.100-alpha.1</MauiFeatureBand>
|
<MauiFeatureBand>9.0.100-preview.1</MauiFeatureBand>
|
||||||
<MauiWorkloadManifestVersion>9.0.0-ci.net9.9818</MauiWorkloadManifestVersion>
|
<MauiWorkloadManifestVersion>9.0.0-preview.1.9973</MauiWorkloadManifestVersion>
|
||||||
<XamarinAndroidWorkloadManifestVersion>34.99.0-preview.1.109</XamarinAndroidWorkloadManifestVersion>
|
<XamarinAndroidWorkloadManifestVersion>34.99.0-preview.1.151</XamarinAndroidWorkloadManifestVersion>
|
||||||
<XamarinIOSWorkloadManifestVersion>17.0.9712-net9-p1</XamarinIOSWorkloadManifestVersion>
|
<XamarinIOSWorkloadManifestVersion>17.2.9088-net9-p1</XamarinIOSWorkloadManifestVersion>
|
||||||
<XamarinMacCatalystWorkloadManifestVersion>17.0.9712-net9-p1</XamarinMacCatalystWorkloadManifestVersion>
|
<XamarinMacCatalystWorkloadManifestVersion>17.2.9088-net9-p1</XamarinMacCatalystWorkloadManifestVersion>
|
||||||
<XamarinMacOSWorkloadManifestVersion>14.0.9712-net9-p1</XamarinMacOSWorkloadManifestVersion>
|
<XamarinMacOSWorkloadManifestVersion>14.2.9088-net9-p1</XamarinMacOSWorkloadManifestVersion>
|
||||||
<XamarinTvOSWorkloadManifestVersion>17.0.9712-net9-p1</XamarinTvOSWorkloadManifestVersion>
|
<XamarinTvOSWorkloadManifestVersion>17.2.9088-net9-p1</XamarinTvOSWorkloadManifestVersion>
|
||||||
<!-- Workloads from dotnet/emsdk -->
|
<!-- Workloads from dotnet/emsdk -->
|
||||||
<MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>9.0.0-alpha.1.24072.1</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>
|
<MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>9.0.0-preview.2.24121.1</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion>
|
||||||
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion)</EmscriptenWorkloadManifestVersion>
|
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportPackageVersion)</EmscriptenWorkloadManifestVersion>
|
||||||
<!-- emsdk workload prerelease version band must match the emsdk feature band -->
|
<!-- emsdk workload prerelease version band must match the emsdk feature band -->
|
||||||
<EmscriptenWorkloadFeatureBand>9.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-[A-z]*[\.]*\d*`))</EmscriptenWorkloadFeatureBand>
|
<EmscriptenWorkloadFeatureBand>9.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-[A-z]*[\.]*\d*`))</EmscriptenWorkloadFeatureBand>
|
||||||
|
|
|
@ -83,10 +83,10 @@ jobs:
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
name: $(DncEngPublicBuildPool)
|
name: $(DncEngPublicBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2019.amd64.open
|
demands: ImageOverride -equals windows.vs2022.amd64.open
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2019.amd64
|
demands: ImageOverride -equals windows.vs2022.amd64
|
||||||
${{ if eq(parameters.agentOs, 'Linux') }}:
|
${{ if eq(parameters.agentOs, 'Linux') }}:
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
|
|
|
@ -35,6 +35,10 @@ fi
|
||||||
case "$CPUName" in
|
case "$CPUName" in
|
||||||
arm64|aarch64)
|
arm64|aarch64)
|
||||||
arch=arm64
|
arch=arm64
|
||||||
|
if [ "$(getconf LONG_BIT)" -lt 64 ]; then
|
||||||
|
# This is 32-bit OS running on 64-bit CPU (for example Raspberry Pi OS)
|
||||||
|
arch=arm
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
loongarch64)
|
loongarch64)
|
||||||
|
|
|
@ -12,7 +12,7 @@ param(
|
||||||
try {
|
try {
|
||||||
. $PSScriptRoot\post-build-utils.ps1
|
. $PSScriptRoot\post-build-utils.ps1
|
||||||
|
|
||||||
$darc = Get-Darc
|
$darc = Get-Darc
|
||||||
|
|
||||||
$optionalParams = [System.Collections.ArrayList]::new()
|
$optionalParams = [System.Collections.ArrayList]::new()
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ try {
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host 'done.'
|
Write-Host 'done.'
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Host $_
|
Write-Host $_
|
||||||
Write-PipelineTelemetryError -Category 'PromoteBuild' -Message "There was an error while trying to publish build '$BuildId' to default channels."
|
Write-PipelineTelemetryError -Category 'PromoteBuild' -Message "There was an error while trying to publish build '$BuildId' to default channels."
|
||||||
|
|
|
@ -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 "17.8.1-2" -MemberType NoteProperty
|
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.8.5" -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
|
||||||
|
|
|
@ -58,7 +58,7 @@ jobs:
|
||||||
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') }}:
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: NetCore1ESPool-Publishing-Internal
|
||||||
demands: ImageOverride -equals windows.vs2019.amd64
|
demands: ImageOverride -equals windows.vs2019.amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -66,7 +66,7 @@ jobs:
|
||||||
- checkout: self
|
- checkout: self
|
||||||
fetchDepth: 3
|
fetchDepth: 3
|
||||||
clean: true
|
clean: true
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download artifact
|
displayName: Download artifact
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -75,7 +75,7 @@ jobs:
|
||||||
checkDownloadedFiles: true
|
checkDownloadedFiles: true
|
||||||
condition: ${{ parameters.condition }}
|
condition: ${{ parameters.condition }}
|
||||||
continueOnError: ${{ parameters.continueOnError }}
|
continueOnError: ${{ parameters.continueOnError }}
|
||||||
|
|
||||||
- task: NuGetAuthenticate@1
|
- task: NuGetAuthenticate@1
|
||||||
|
|
||||||
- task: PowerShell@2
|
- task: PowerShell@2
|
||||||
|
@ -90,7 +90,7 @@ jobs:
|
||||||
/p:OfficialBuildId=$(Build.BuildNumber)
|
/p:OfficialBuildId=$(Build.BuildNumber)
|
||||||
condition: ${{ parameters.condition }}
|
condition: ${{ parameters.condition }}
|
||||||
continueOnError: ${{ parameters.continueOnError }}
|
continueOnError: ${{ parameters.continueOnError }}
|
||||||
|
|
||||||
- task: powershell@2
|
- task: powershell@2
|
||||||
displayName: Create ReleaseConfigs Artifact
|
displayName: Create ReleaseConfigs Artifact
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -99,7 +99,7 @@ jobs:
|
||||||
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId)
|
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId)
|
||||||
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)"
|
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)"
|
||||||
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild)
|
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild)
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
displayName: Publish ReleaseConfigs Artifact
|
displayName: Publish ReleaseConfigs Artifact
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -125,7 +125,7 @@ jobs:
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
displayName: Publish SymbolPublishingExclusionsFile Artifact
|
displayName: Publish SymbolPublishingExclusionsFile Artifact
|
||||||
condition: eq(variables['SymbolExclusionFile'], 'true')
|
condition: eq(variables['SymbolExclusionFile'], 'true')
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
|
PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
|
||||||
PublishLocation: Container
|
PublishLocation: Container
|
||||||
|
@ -141,7 +141,7 @@ jobs:
|
||||||
displayName: Publish Using Darc
|
displayName: Publish Using Darc
|
||||||
inputs:
|
inputs:
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
||||||
arguments: -BuildId $(BARBuildId)
|
arguments: -BuildId $(BARBuildId)
|
||||||
-PublishingInfraVersion 3
|
-PublishingInfraVersion 3
|
||||||
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
||||||
-MaestroToken '$(MaestroApiAccessToken)'
|
-MaestroToken '$(MaestroApiAccessToken)'
|
||||||
|
@ -152,4 +152,4 @@ jobs:
|
||||||
- ${{ 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:
|
||||||
JobLabel: 'Publish_Artifacts_Logs'
|
JobLabel: 'Publish_Artifacts_Logs'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
parameters:
|
parameters:
|
||||||
runAsPublic: false
|
runAsPublic: false
|
||||||
sourceIndexPackageVersion: 1.0.1-20231213.4
|
sourceIndexPackageVersion: 1.0.1-20240129.2
|
||||||
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: []
|
||||||
|
|
|
@ -39,7 +39,7 @@ parameters:
|
||||||
displayName: Enable NuGet validation
|
displayName: Enable NuGet validation
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
|
|
||||||
- name: publishInstallersAndChecksums
|
- name: publishInstallersAndChecksums
|
||||||
displayName: Publish installers and checksums
|
displayName: Publish installers and checksums
|
||||||
type: boolean
|
type: boolean
|
||||||
|
@ -131,8 +131,8 @@ stages:
|
||||||
displayName: Validate
|
displayName: Validate
|
||||||
inputs:
|
inputs:
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1
|
||||||
arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
|
arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
|
||||||
-ToolDestinationPath $(Agent.BuildDirectory)/Extract/
|
-ToolDestinationPath $(Agent.BuildDirectory)/Extract/
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
displayName: Signing Validation
|
displayName: Signing Validation
|
||||||
|
@ -222,9 +222,9 @@ stages:
|
||||||
displayName: Validate
|
displayName: Validate
|
||||||
inputs:
|
inputs:
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1
|
||||||
arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
|
arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
|
||||||
-ExtractPath $(Agent.BuildDirectory)/Extract/
|
-ExtractPath $(Agent.BuildDirectory)/Extract/
|
||||||
-GHRepoName $(Build.Repository.Name)
|
-GHRepoName $(Build.Repository.Name)
|
||||||
-GHCommit $(Build.SourceVersion)
|
-GHCommit $(Build.SourceVersion)
|
||||||
-SourcelinkCliVersion $(SourceLinkCLIVersion)
|
-SourcelinkCliVersion $(SourceLinkCLIVersion)
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
@ -259,7 +259,7 @@ stages:
|
||||||
demands: Cmd
|
demands: Cmd
|
||||||
# If it's not devdiv, it's dnceng
|
# If it's not devdiv, it's dnceng
|
||||||
${{ else }}:
|
${{ else }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: NetCore1ESPool-Publishing-Internal
|
||||||
demands: ImageOverride -equals windows.vs2019.amd64
|
demands: ImageOverride -equals windows.vs2019.amd64
|
||||||
steps:
|
steps:
|
||||||
- template: setup-maestro-vars.yml
|
- template: setup-maestro-vars.yml
|
||||||
|
@ -273,7 +273,7 @@ stages:
|
||||||
displayName: Publish Using Darc
|
displayName: Publish Using Darc
|
||||||
inputs:
|
inputs:
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
||||||
arguments: -BuildId $(BARBuildId)
|
arguments: -BuildId $(BARBuildId)
|
||||||
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
|
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
|
||||||
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
||||||
-MaestroToken '$(MaestroApiAccessToken)'
|
-MaestroToken '$(MaestroApiAccessToken)'
|
||||||
|
|
|
@ -5,6 +5,8 @@ parameters:
|
||||||
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
|
||||||
|
HelixProjectPath: 'eng/common/helixpublish.proj' # optional -- path to the project file to build relative to BUILD_SOURCESDIRECTORY
|
||||||
|
HelixProjectArguments: '' # optional -- arguments passed to the build command
|
||||||
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
|
||||||
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
|
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
|
||||||
|
@ -29,7 +31,7 @@ parameters:
|
||||||
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 /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
|
- powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /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)
|
||||||
|
@ -59,7 +61,7 @@ steps:
|
||||||
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 /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
|
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
|
||||||
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
|
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
|
||||||
env:
|
env:
|
||||||
BuildConfig: $(_BuildConfig)
|
BuildConfig: $(_BuildConfig)
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool,
|
# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool,
|
||||||
# otherwise it should go into the "normal" pools. This separates out the queueing and billing of released branches.
|
# otherwise it should go into the "normal" pools. This separates out the queueing and billing of released branches.
|
||||||
|
|
||||||
# Motivation:
|
# Motivation:
|
||||||
# Once a given branch of a repository's output has been officially "shipped" once, it is then considered to be COGS
|
# Once a given branch of a repository's output has been officially "shipped" once, it is then considered to be COGS
|
||||||
# (Cost of goods sold) and should be moved to a servicing pool provider. This allows both separation of queueing
|
# (Cost of goods sold) and should be moved to a servicing pool provider. This allows both separation of queueing
|
||||||
# (allowing release builds and main PR builds to not intefere with each other) and billing (required for COGS.
|
# (allowing release builds and main PR builds to not intefere with each other) and billing (required for COGS.
|
||||||
# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services
|
# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services
|
||||||
# team needs to move resources around and create new and potentially differently-named pools. Using this template
|
# team needs to move resources around and create new and potentially differently-named pools. Using this template
|
||||||
# file from an Arcade-ified repo helps guard against both having to update one's release/* branches and renaming.
|
# file from an Arcade-ified repo helps guard against both having to update one's release/* branches and renaming.
|
||||||
|
|
||||||
# How to use:
|
# How to use:
|
||||||
# This yaml assumes your shipped product branches use the naming convention "release/..." (which many do).
|
# This yaml assumes your shipped product branches use the naming convention "release/..." (which many do).
|
||||||
# If we find alternate naming conventions in broad usage it can be added to the condition below.
|
# If we find alternate naming conventions in broad usage it can be added to the condition below.
|
||||||
#
|
#
|
||||||
|
@ -54,4 +54,4 @@ variables:
|
||||||
False,
|
False,
|
||||||
'NetCore1ESPool-Internal'
|
'NetCore1ESPool-Internal'
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
|
@ -379,8 +379,8 @@ 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/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.8.1-2
|
# https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.8.5
|
||||||
$defaultXCopyMSBuildVersion = '17.8.1-2'
|
$defaultXCopyMSBuildVersion = '17.8.5'
|
||||||
|
|
||||||
if (!$vsRequirements) {
|
if (!$vsRequirements) {
|
||||||
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
|
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
|
||||||
|
@ -445,7 +445,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
||||||
if ($xcopyMSBuildVersion.Trim() -ine "none") {
|
if ($xcopyMSBuildVersion.Trim() -ine "none") {
|
||||||
$vsInstallDir = InitializeXCopyMSBuild $xcopyMSBuildVersion $install
|
$vsInstallDir = InitializeXCopyMSBuild $xcopyMSBuildVersion $install
|
||||||
if ($vsInstallDir -eq $null) {
|
if ($vsInstallDir -eq $null) {
|
||||||
throw "Could not xcopy msbuild. Please check that package 'RoslynTools.MSBuild @ $xcopyMSBuildVersion' exists on feed 'dotnet-eng'."
|
throw "Could not xcopy msbuild. Please check that package 'Microsoft.DotNet.Arcade.MSBuild.Xcopy @ $xcopyMSBuildVersion' exists on feed 'dotnet-eng'."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($vsInstallDir -eq $null) {
|
if ($vsInstallDir -eq $null) {
|
||||||
|
@ -482,7 +482,7 @@ function InstallXCopyMSBuild([string]$packageVersion) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function InitializeXCopyMSBuild([string]$packageVersion, [bool]$install) {
|
function InitializeXCopyMSBuild([string]$packageVersion, [bool]$install) {
|
||||||
$packageName = 'RoslynTools.MSBuild'
|
$packageName = 'Microsoft.DotNet.Arcade.MSBuild.Xcopy'
|
||||||
$packageDir = Join-Path $ToolsDir "msbuild\$packageVersion"
|
$packageDir = Join-Path $ToolsDir "msbuild\$packageVersion"
|
||||||
$packagePath = Join-Path $packageDir "$packageName.$packageVersion.nupkg"
|
$packagePath = Join-Path $packageDir "$packageName.$packageVersion.nupkg"
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,7 @@
|
||||||
### This job source-builds https://github.com/dotnet/dotnet with given parameters
|
### This job builds https://github.com/dotnet/dotnet with given parameters
|
||||||
### If run in a PR, new changes are applied to a local copy of the VMR, then it is source-built and tested
|
### If run in an installer PR, new changes are applied to a local copy of the VMR, then it is built and tested
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: isBuiltFromVmr
|
|
||||||
displayName: True when build is running from dotnet/dotnet directly
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
- name: vmrPath
|
|
||||||
type: string
|
|
||||||
default: $(Agent.BuildDirectory)/vmr
|
|
||||||
|
|
||||||
- name: vmrBranch
|
|
||||||
displayName: dotnet/dotnet branch to use
|
|
||||||
type: string
|
|
||||||
default: $(Build.SourceBranch)
|
|
||||||
|
|
||||||
- name: buildName
|
|
||||||
type: string
|
|
||||||
|
|
||||||
- name: architecture
|
- name: architecture
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
@ -25,34 +9,60 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
|
- name: buildName
|
||||||
|
type: string
|
||||||
|
|
||||||
- name: container
|
- name: container
|
||||||
type: string
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
- name: crossRootFs
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
- name: pool
|
- name: pool
|
||||||
type: object
|
type: object
|
||||||
|
|
||||||
# Allow downloading artifacts from the internet during the build
|
- name: targetOS
|
||||||
- name: runOnline
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
# Name of a previous job (from the same template as this) whose output will be used to build this job
|
|
||||||
# The SDK from its artifacts is copied to vmr/.dotnet
|
|
||||||
- name: reuseBuildArtifactsFrom
|
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
- name: excludeOmniSharpTests
|
- name: targetArchitecture
|
||||||
type: boolean
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
- name: enablePoison
|
#### SOURCE-ONLY parameters ####
|
||||||
type: boolean
|
|
||||||
|
|
||||||
# Instead of building the VMR directly, exports the sources into a tarball and builds from that
|
# Instead of building the VMR directly, exports the sources into a tarball and builds from that
|
||||||
- name: buildFromArchive
|
- name: buildFromArchive
|
||||||
type: boolean
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
# Use the previous version's SDK to build the current one
|
# Enable for source-building the VMR
|
||||||
- name: withPreviousSDK
|
- name: buildSourceOnly
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
- name: enablePoison
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
- name: excludeOmniSharpTests
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
# Name of a previous job (from the same template as this) whose output will be used to build this job
|
||||||
|
# The SDK from its artifacts is copied to $(sourcesPath)/.dotnet
|
||||||
|
- name: reuseBuildArtifactsFrom
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
# Allow downloading artifacts from the internet during the build
|
||||||
|
- name: runOnline
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
- name: runTests
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
@ -61,13 +71,25 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
- name: crossRootFS
|
# Freeform field for extra values to pass to build.sh for special build modes
|
||||||
|
- name: extraProperties
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
- name: targetRid
|
# Use the previous version's SDK to build the current one
|
||||||
|
- name: withPreviousSDK
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
#### INSTALLER parameters ####
|
||||||
|
|
||||||
|
- name: isBuiltFromVmr
|
||||||
|
displayName: True when build is running from dotnet/dotnet directly
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
- name: vmrBranch
|
||||||
|
displayName: dotnet/dotnet branch to use
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
|
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
|
||||||
|
@ -90,6 +112,13 @@ jobs:
|
||||||
- name: additionalBuildArgs
|
- name: additionalBuildArgs
|
||||||
value: ''
|
value: ''
|
||||||
|
|
||||||
|
- ${{ if parameters.isBuiltFromVmr }}:
|
||||||
|
- name: vmrPath
|
||||||
|
value: $(Build.SourcesDirectory)
|
||||||
|
- ${{ else }}:
|
||||||
|
- name: vmrPath
|
||||||
|
value: $(Agent.BuildDirectory)/vmr
|
||||||
|
|
||||||
# Location of the VMR sources
|
# Location of the VMR sources
|
||||||
# We either build the repo directly, or we extract them outside (which is what partners do)
|
# We either build the repo directly, or we extract them outside (which is what partners do)
|
||||||
- ${{ if parameters.buildFromArchive }}:
|
- ${{ if parameters.buildFromArchive }}:
|
||||||
|
@ -97,35 +126,34 @@ jobs:
|
||||||
value: $(Build.StagingDirectory)/dotnet-sources/
|
value: $(Build.StagingDirectory)/dotnet-sources/
|
||||||
- ${{ else }}:
|
- ${{ else }}:
|
||||||
- name: sourcesPath
|
- name: sourcesPath
|
||||||
value: ${{ parameters.vmrPath }}
|
value: $(vmrPath)
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- template: ../steps/vmr-prepare.yml
|
- ${{ if not(parameters.isBuiltFromVmr) }}:
|
||||||
parameters:
|
- template: ../steps/vmr-prepare.yml
|
||||||
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
|
||||||
vmrBranch: $(System.PullRequest.TargetBranch)
|
|
||||||
${{ else }}:
|
|
||||||
vmrBranch: ${{ parameters.vmrBranch }}
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
skipComponentGovernanceDetection: true
|
|
||||||
|
|
||||||
# Synchronize new content in the VMR during PRs (we expect this to come
|
|
||||||
- ${{ if and(not(parameters.isBuiltFromVmr), eq(variables['Build.Reason'], 'PullRequest')) }}:
|
|
||||||
- template: ../steps/vmr-pull-updates.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
vmrPath: ${{ parameters.vmrPath }}
|
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
vmrBranch: ${{ parameters.vmrBranch }}
|
vmrBranch: $(System.PullRequest.TargetBranch)
|
||||||
targetRef: $(Build.SourceVersion) # Synchronize the current installer commit
|
${{ else }}:
|
||||||
|
vmrBranch: ${{ parameters.vmrBranch }}
|
||||||
|
|
||||||
|
# Synchronize new content in the VMR during PRs (we expect this to come
|
||||||
|
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
|
- template: ../steps/vmr-pull-updates.yml
|
||||||
|
parameters:
|
||||||
|
vmrPath: $(vmrPath)
|
||||||
|
vmrBranch: ${{ parameters.vmrBranch }}
|
||||||
|
targetRef: $(Build.SourceVersion) # Synchronize the current installer commit
|
||||||
|
|
||||||
- ${{ if parameters.buildFromArchive }}:
|
- ${{ if parameters.buildFromArchive }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -ex
|
set -ex
|
||||||
cp -r "${{ parameters.vmrPath }}" "$(sourcesPath)"
|
cp -r "$(vmrPath)" "$(sourcesPath)"
|
||||||
rm -rf "$(sourcesPath)/.git"
|
rm -rf "$(sourcesPath)/.git"
|
||||||
displayName: Export VMR sources
|
displayName: Export VMR sources
|
||||||
workingDirectory: $(Build.StagingDirectory)
|
workingDirectory: $(Build.StagingDirectory)
|
||||||
|
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), eq(parameters.runTests, 'True')) }}:
|
||||||
- script: cp "$(sourcesPath)/src/installer/NuGet.config" "$(sourcesPath)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config"
|
- script: cp "$(sourcesPath)/src/installer/NuGet.config" "$(sourcesPath)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config"
|
||||||
displayName: Copy Test NuGet Config
|
displayName: Copy Test NuGet Config
|
||||||
|
|
||||||
|
@ -150,7 +178,7 @@ jobs:
|
||||||
inputs:
|
inputs:
|
||||||
SourceFolder: $(Pipeline.Workspace)/${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
SourceFolder: $(Pipeline.Workspace)/${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
||||||
Contents: '*.tar.gz'
|
Contents: '*.tar.gz'
|
||||||
TargetFolder: ${{ variables.sourcesPath }}/prereqs/packages/archive/
|
TargetFolder: $(sourcesPath)/prereqs/packages/archive/
|
||||||
|
|
||||||
- ${{ if eq(parameters.withPreviousSDK, 'true') }}:
|
- ${{ if eq(parameters.withPreviousSDK, 'true') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -161,7 +189,7 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
packageVersionsPath="${{ variables.sourcesPath }}/eng/Versions.props"
|
packageVersionsPath="$(sourcesPath)/eng/Versions.props"
|
||||||
notFoundMessage="No source-built SDK found to download..."
|
notFoundMessage="No source-built SDK found to download..."
|
||||||
|
|
||||||
echo "Looking for source-built SDK to download..."
|
echo "Looking for source-built SDK to download..."
|
||||||
|
@ -180,115 +208,123 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
displayName: Setup Previously Source-Built SDK
|
displayName: Setup Previously Source-Built SDK
|
||||||
|
|
||||||
- script: |
|
- ${{ if eq(parameters.targetOS, 'windows') }}:
|
||||||
set -x
|
|
||||||
|
|
||||||
customPrepArgs=""
|
|
||||||
prepSdk=true
|
|
||||||
|
|
||||||
if [[ -n '${{ parameters.artifactsRid }}' ]]; then
|
|
||||||
customPrepArgs="${customPrepArgs} --artifacts-rid ${{ parameters.artifactsRid }}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
|
|
||||||
# Source-built artifacts are from CentOS 8 Stream or Alpine 3.19. We want to download them without
|
|
||||||
# downloading portable versions from the internet.
|
|
||||||
customPrepArgs="${customPrepArgs} --no-sdk --no-bootstrap"
|
|
||||||
prepSdk=false
|
|
||||||
elif [[ -n '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
|
|
||||||
customPrepArgs="${customPrepArgs} --no-sdk --no-artifacts"
|
|
||||||
prepSdk=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$prepSdk" == "false" ]]; then
|
|
||||||
mkdir $(sourcesPath)/.dotnet
|
|
||||||
previousSdkPath="$(sourcesPath)/prereqs/packages/archive/dotnet-sdk-*.tar.gz"
|
|
||||||
eval tar -ozxf "$previousSdkPath" -C "$(sourcesPath)/.dotnet"
|
|
||||||
eval rm -f "$previousSdkPath"
|
|
||||||
|
|
||||||
echo "##vso[task.setvariable variable=additionalBuildArgs]--with-sdk /vmr/.dotnet"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Only use Docker stuff on Linux
|
|
||||||
if [[ -n "${{ parameters.container }}" ]]; then
|
|
||||||
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh $customPrepArgs
|
|
||||||
else
|
|
||||||
cd $(sourcesPath)
|
|
||||||
./prep.sh $customPrepArgs
|
|
||||||
fi
|
|
||||||
displayName: Prep the Build
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
df -h
|
|
||||||
|
|
||||||
# Allows Arcade to have access to the commit for the build
|
|
||||||
customEnvVars="BUILD_SOURCEVERSION=$BUILD_SOURCEVERSION"
|
|
||||||
customBuildArgs="--ci --prepareMachine"
|
|
||||||
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
|
|
||||||
customBuildArgs="$customBuildArgs --online"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.enablePoison }}' == 'True' ]]; then
|
|
||||||
customBuildArgs="$customBuildArgs --poison"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.buildFromArchive }}' == 'True' ]]; then
|
|
||||||
customBuildArgs="$customBuildArgs --source-repository https://github.com/dotnet/dotnet"
|
|
||||||
customBuildArgs="$customBuildArgs --source-version $(git -C "${{ parameters.vmrPath }}" rev-parse HEAD)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.useMonoRuntime }}' == 'True' ]]; then
|
|
||||||
customBuildArgs="$customBuildArgs --use-mono-runtime"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n "${{ parameters.container }}" ]]; then
|
|
||||||
useDocker=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -z '${{ parameters.targetRid }}' ]]; then
|
|
||||||
extraBuildProperties="--"
|
|
||||||
if [[ '${{ parameters.useMonoRuntime }}' == 'True' ]]; then
|
|
||||||
customEnvVars="$customEnvVars CROSSCOMPILE=1"
|
|
||||||
fi
|
|
||||||
extraBuildProperties="$extraBuildProperties /p:PortableBuild=true /p:DotNetBuildVertical=true /p:CrossBuild=true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -z '${{ parameters.crossRootFs }}' ]]; then
|
|
||||||
customEnvVars="$customEnvVars ROOTFS_DIR=${{ parameters.crossRootFs}}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -z '${{ parameters.targetRid }}' ]]; then
|
|
||||||
extraBuildProperties="$extraBuildProperties /p:OverrideTargetRid=${{ parameters.targetRid }}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Only use Docker stuff on Linux
|
|
||||||
if [[ "$useDocker" == "true" ]]; then
|
|
||||||
customDockerRunArgs=""
|
|
||||||
for envVar in $customEnvVars; do
|
|
||||||
customDockerRunArgs="$customDockerRunArgs -e $envVar"
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ '${{ parameters.runOnline }}' == 'False' ]]; then
|
|
||||||
customDockerRunArgs="$customDockerRunArgs --network none"
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr $customDockerRunArgs ${{ parameters.container }} ./build.sh --source-only --clean-while-building $(additionalBuildArgs) $customBuildArgs $extraBuildProperties
|
|
||||||
else
|
|
||||||
for envVar in $customEnvVars; do
|
|
||||||
customEnvVarsWithBashSyntax="$customEnvVarsWithBashSyntax export $envVar;"
|
|
||||||
done
|
|
||||||
cd $(sourcesPath)
|
|
||||||
eval $customEnvVarsWithBashSyntax
|
|
||||||
./build.sh --source-only --clean-while-building $(additionalBuildArgs) $customBuildArgs $extraBuildProperties
|
|
||||||
fi
|
|
||||||
displayName: Build
|
|
||||||
|
|
||||||
# Don't run tests if overriding RID, we don't support that for now
|
|
||||||
- ${{ if eq(parameters.targetRid, '') }}:
|
|
||||||
- script: |
|
- script: |
|
||||||
set -x
|
call $(sourcesPath)\build.cmd -ci -cleanWhileBuilding -prepareMachine ${{ parameters.extraProperties }}
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
|
- ${{ else }}:
|
||||||
|
- ${{ if eq(parameters.buildSourceOnly, 'true') }}:
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
customPrepArgs=""
|
||||||
|
prepSdk=true
|
||||||
|
|
||||||
|
if [[ -n '${{ parameters.artifactsRid }}' ]]; then
|
||||||
|
customPrepArgs="${customPrepArgs} --artifacts-rid ${{ parameters.artifactsRid }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
|
||||||
|
# Source-built artifacts are from CentOS 8 Stream or Alpine 3.19. We want to download them without
|
||||||
|
# downloading portable versions from the internet.
|
||||||
|
customPrepArgs="${customPrepArgs} --no-sdk --no-bootstrap"
|
||||||
|
prepSdk=false
|
||||||
|
elif [[ -n '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
|
||||||
|
customPrepArgs="${customPrepArgs} --no-sdk --no-artifacts"
|
||||||
|
prepSdk=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$prepSdk" == "false" ]]; then
|
||||||
|
mkdir $(sourcesPath)/.dotnet
|
||||||
|
previousSdkPath="$(sourcesPath)/prereqs/packages/archive/dotnet-sdk-*.tar.gz"
|
||||||
|
eval tar -ozxf "$previousSdkPath" -C "$(sourcesPath)/.dotnet"
|
||||||
|
eval rm -f "$previousSdkPath"
|
||||||
|
|
||||||
|
echo "##vso[task.setvariable variable=additionalBuildArgs]--with-sdk /vmr/.dotnet"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh $customPrepArgs
|
||||||
|
displayName: Prep the Build
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
df -h
|
||||||
|
|
||||||
|
customEnvVars=""
|
||||||
|
customBuildArgs="--ci --clean-while-building --prepareMachine"
|
||||||
|
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --online"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '${{ parameters.enablePoison }}' == 'True' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --poison"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '${{ parameters.buildFromArchive }}' == 'True' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --source-repository https://github.com/dotnet/dotnet"
|
||||||
|
customBuildArgs="$customBuildArgs --source-version $(git -C "$(vmrPath)" rev-parse HEAD)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '${{ parameters.buildSourceOnly }}' == 'True' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --source-only"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '${{ parameters.useMonoRuntime }}' == 'True' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --use-mono-runtime"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${{ parameters.crossRootFs }}" ]]; then
|
||||||
|
customEnvVars="$customEnvVars ROOTFS_DIR=${{ parameters.crossRootFs}}"
|
||||||
|
if [[ '${{ parameters.targetArchitecture }}' != 'wasm' ]]; then
|
||||||
|
customEnvVars="$customEnvVars CROSSCOMPILE=1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z '${{ parameters.targetOS }}' ]]; then
|
||||||
|
extraBuildProperties="$extraBuildProperties /p:TargetOS=${{ parameters.targetOS }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -z '${{ parameters.targetArchitecture }}' ]]; then
|
||||||
|
extraBuildProperties="$extraBuildProperties /p:TargetArchitecture=${{ parameters.targetArchitecture }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${{ parameters.extraProperties }}" ]]; then
|
||||||
|
extraBuildProperties="$extraBuildProperties ${{ parameters.extraProperties }}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildArgs="$(additionalBuildArgs) $customBuildArgs $extraBuildProperties"
|
||||||
|
|
||||||
|
# Only use Docker when a container is specified
|
||||||
|
if [[ -n "${{ parameters.container }}" ]]; then
|
||||||
|
# Allows Arcade to have access to the commit for the build, pass it through to the container
|
||||||
|
customEnvVars="$customEnvVars BUILD_SOURCEVERSION=$BUILD_SOURCEVERSION"
|
||||||
|
|
||||||
|
customDockerRunArgs=""
|
||||||
|
for envVar in $customEnvVars; do
|
||||||
|
customDockerRunArgs="$customDockerRunArgs -e $envVar"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ '${{ parameters.runOnline }}' == 'False' ]]; then
|
||||||
|
customDockerRunArgs="$customDockerRunArgs --network none"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr $customDockerRunArgs ${{ parameters.container }} ./build.sh $buildArgs
|
||||||
|
else
|
||||||
|
for envVar in $customEnvVars; do
|
||||||
|
customEnvVarsWithBashSyntax="$customEnvVarsWithBashSyntax export $envVar;"
|
||||||
|
done
|
||||||
|
cd $(sourcesPath)
|
||||||
|
eval $customEnvVarsWithBashSyntax
|
||||||
|
./build.sh $buildArgs
|
||||||
|
fi
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
|
# Only run tests if enabled
|
||||||
|
- ${{ if eq(parameters.runTests, 'True') }}:
|
||||||
|
- script: |
|
||||||
|
set -ex
|
||||||
|
|
||||||
dockerVolumeArgs="-v $(sourcesPath):/vmr"
|
dockerVolumeArgs="-v $(sourcesPath):/vmr"
|
||||||
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=${{ parameters.excludeOmniSharpTests }} -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true -e SMOKE_TESTS_RUNNING_IN_CI=true"
|
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=${{ parameters.excludeOmniSharpTests }} -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true -e SMOKE_TESTS_RUNNING_IN_CI=true"
|
||||||
|
@ -301,25 +337,67 @@ jobs:
|
||||||
docker run --rm $dockerVolumeArgs -w /vmr $dockerEnvArgs ${{ parameters.container }} ./build.sh --source-only $poisonArg --test $(additionalBuildArgs) /p:SmokeTestConsoleVerbosity=detailed
|
docker run --rm $dockerVolumeArgs -w /vmr $dockerEnvArgs ${{ parameters.container }} ./build.sh --source-only $poisonArg --test $(additionalBuildArgs) /p:SmokeTestConsoleVerbosity=detailed
|
||||||
displayName: Run Tests
|
displayName: Run Tests
|
||||||
|
|
||||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
- ${{ if eq(parameters.targetOS, 'windows') }}:
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
|
|
||||||
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||||
mkdir -p ${targetFolder}
|
- powershell: |
|
||||||
|
function CopyWithRelativeFolders($sourcePath, $targetFolder, $filter) {
|
||||||
|
Get-ChildItem -Path $sourcePath -Filter $filter -Recurse | ForEach-Object {
|
||||||
|
$targetPath = Join-Path $targetFolder (Resolve-Path -Relative $_.FullName)
|
||||||
|
New-Item -ItemType Directory -Path (Split-Path -Parent $targetPath) -Force | Out-Null
|
||||||
|
Copy-Item $_.FullName -Destination $targetPath -Force
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cd "$(sourcesPath)"
|
$targetFolder = "$(Build.StagingDirectory)/BuildLogs/"
|
||||||
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
New-Item -ItemType Directory -Path $targetFolder -Force | Out-Null
|
||||||
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
cd "$(sourcesPath)"
|
||||||
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
CopyWithRelativeFolders "artifacts/" $targetFolder "*.binlog"
|
||||||
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
CopyWithRelativeFolders "artifacts/" $targetFolder "*.log"
|
||||||
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
|
CopyWithRelativeFolders "src/" $targetFolder "*.binlog"
|
||||||
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
|
CopyWithRelativeFolders "src/" $targetFolder "*.log"
|
||||||
displayName: Prepare BuildLogs staging directory
|
CopyWithRelativeFolders "test/" $targetFolder "*.binlog"
|
||||||
continueOnError: true
|
CopyWithRelativeFolders "test/" $targetFolder "Updated*.diff"
|
||||||
condition: succeededOrFailed()
|
CopyWithRelativeFolders "test/" $targetFolder "Updated*.txt"
|
||||||
|
|
||||||
|
# check if we have assets to publish
|
||||||
|
if (Test-Path "artifacts/assets/Release/*") {
|
||||||
|
echo "##vso[task.setvariable variable=hasAssets]true"
|
||||||
|
}
|
||||||
|
displayName: Prepare BuildLogs staging directory and check assets
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
- ${{ else }}:
|
||||||
|
|
||||||
|
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
||||||
|
mkdir -p ${targetFolder}
|
||||||
|
|
||||||
|
cd "$(sourcesPath)"
|
||||||
|
find artifacts/ -type f -name "*.binlog" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
find artifacts/ -type f -name "*.log" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
if [[ "${{ parameters.buildSourceOnly }}" == "True" ]]; then
|
||||||
|
find artifacts/prebuilt-report/ -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
fi
|
||||||
|
find src/ -type f -name "*.binlog" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
find src/ -type f -name "*.log" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
find test/ -type f -name "*.binlog" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
find test/ -type f -name "Updated*.diff" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
find test/ -type f -name "Updated*.txt" -exec rsync -R {} -t ${targetFolder} \;
|
||||||
|
|
||||||
|
# check if we have assets to publish
|
||||||
|
if [ -n "$(ls -A 'artifacts/assets/Release/')" ]; then
|
||||||
|
echo "##vso[task.setvariable variable=hasAssets]true"
|
||||||
|
fi
|
||||||
|
displayName: Prepare BuildLogs staging directory and check assets
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
||||||
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
||||||
|
@ -327,20 +405,28 @@ jobs:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
# Only upload test results if enabled
|
||||||
displayName: Publish Test Results
|
- ${{ if eq(parameters.runTests, 'True') }}:
|
||||||
condition: succeededOrFailed()
|
- task: PublishTestResults@2
|
||||||
continueOnError: true
|
displayName: Publish Test Results
|
||||||
inputs:
|
condition: succeededOrFailed()
|
||||||
testRunner: vSTest
|
continueOnError: true
|
||||||
testResultsFiles: 'test/**/*.trx'
|
inputs:
|
||||||
searchFolder: ${{ variables.sourcesPath }}
|
testRunner: vSTest
|
||||||
mergeTestResults: true
|
testResultsFiles: 'test/**/*.trx'
|
||||||
publishRunAttachments: true
|
searchFolder: $(sourcesPath)
|
||||||
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
mergeTestResults: true
|
||||||
|
publishRunAttachments: true
|
||||||
|
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
||||||
|
|
||||||
- publish: '${{ variables.sourcesPath }}/artifacts/${{ parameters.architecture }}/Release/'
|
- publish: '$(sourcesPath)/artifacts/assets/Release/'
|
||||||
artifact: $(Agent.JobName)_Artifacts
|
artifact: $(Agent.JobName)_Artifacts
|
||||||
displayName: Publish Artifacts
|
displayName: Publish Artifacts
|
||||||
condition: succeededOrFailed()
|
condition: and(succeededOrFailed(), eq(variables['hasAssets'], 'true'))
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
||||||
|
# When building from source, the Private.SourceBuilt.Artifacts archive already contains the nuget packages
|
||||||
|
- ${{ if ne(parameters.buildSourceOnly, 'true') }}:
|
||||||
|
- publish: '$(sourcesPath)/artifacts/packages/Release/'
|
||||||
|
artifact: $(Agent.JobName)_Packages
|
||||||
|
displayName: Publish Packages
|
||||||
|
|
|
@ -53,7 +53,14 @@ jobs:
|
||||||
- template: ../steps/vmr-prepare.yml
|
- template: ../steps/vmr-prepare.yml
|
||||||
parameters:
|
parameters:
|
||||||
vmrBranch: ${{ parameters.vmrBranch }}
|
vmrBranch: ${{ parameters.vmrBranch }}
|
||||||
isBuiltFromVmr: false
|
|
||||||
|
# TODO (https://github.com/dotnet/arcade/issues/11332): Allow full CG?
|
||||||
|
# Currently, we ignore dirs of individual repos - they have been scanned before
|
||||||
|
- ${{ if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||||
|
- task: ComponentGovernanceComponentDetection@0
|
||||||
|
inputs:
|
||||||
|
sourceScanPath: $(Agent.BuildDirectory)/vmr
|
||||||
|
ignoreDirectories: $(Agent.BuildDirectory)/vmr/src
|
||||||
|
|
||||||
- template: ../steps/vmr-pull-updates.yml
|
- template: ../steps/vmr-pull-updates.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,167 +0,0 @@
|
||||||
### This stage source-builds https://github.com/dotnet/dotnet with varying parameters
|
|
||||||
### If run in a PR, new changes are applied to a local copy of the VMR, then it is source-built and tested
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
dependsOn: []
|
|
||||||
condition: always()
|
|
||||||
|
|
||||||
# Branch of the VMR to use (to push to for internal builds)
|
|
||||||
vmrBranch: $(Build.SourceBranch)
|
|
||||||
|
|
||||||
# True when the build is a lite build
|
|
||||||
isLiteBuild:
|
|
||||||
|
|
||||||
# True when build is running from dotnet/dotnet directly
|
|
||||||
isBuiltFromVmr:
|
|
||||||
|
|
||||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
|
||||||
# -----------------------------------------------------------------------------------------------
|
|
||||||
marinerX64CrossContainer: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64
|
|
||||||
marinerArm64CrossContainer: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64
|
|
||||||
|
|
||||||
# Internal builds
|
|
||||||
poolInternalAmd64:
|
|
||||||
name: NetCore1ESPool-Svc-Internal
|
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
|
||||||
poolInternalAmd64PR:
|
|
||||||
name: NetCore1ESPool-Internal-XL
|
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
|
||||||
poolInternalArm64:
|
|
||||||
name: Docker-Linux-Arm-Internal
|
|
||||||
|
|
||||||
# Public builds / PRs
|
|
||||||
poolPublicAmd64:
|
|
||||||
name: NetCore-Public-XL
|
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
|
||||||
|
|
||||||
# Mac
|
|
||||||
poolMac:
|
|
||||||
vmImage: 'macos-12'
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- stage: VMR_PoC_Build
|
|
||||||
displayName: VMR PoC-Build
|
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
|
||||||
condition: ${{ parameters.condition }}
|
|
||||||
variables:
|
|
||||||
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
|
|
||||||
- name: defaultPoolName
|
|
||||||
value: ${{ parameters.poolPublicAmd64.name }}
|
|
||||||
- name: defaultPoolDemands
|
|
||||||
value: ${{ parameters.poolPublicAmd64.demands }}
|
|
||||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
|
||||||
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
|
||||||
- name: defaultPoolName
|
|
||||||
value: ${{ parameters.poolInternalAmd64PR.name }}
|
|
||||||
- name: defaultPoolDemands
|
|
||||||
value: ${{ parameters.poolInternalAmd64PR.demands }}
|
|
||||||
- ${{ else }}:
|
|
||||||
- name: defaultPoolName
|
|
||||||
value: ${{ parameters.poolInternalAmd64.name }}
|
|
||||||
- name: defaultPoolDemands
|
|
||||||
value: ${{ parameters.poolInternalAmd64.demands }}
|
|
||||||
|
|
||||||
- ${{ if ne(parameters.vmrBranch, '') }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ parameters.vmrBranch }}
|
|
||||||
- ${{ else }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ replace(replace(variables['Build.SourceBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
- template: ../jobs/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
|
||||||
buildName: MarinerCrossX64_Online_MsftSdk
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
architecture: x64
|
|
||||||
pool:
|
|
||||||
name: ${{ variables.defaultPoolName }}
|
|
||||||
demands: ${{ variables.defaultPoolDemands }}
|
|
||||||
container: ${{ parameters.marinerx64CrossContainer }}
|
|
||||||
buildFromArchive: false # 🚫
|
|
||||||
enablePoison: false # 🚫
|
|
||||||
excludeOmniSharpTests: true # ✅
|
|
||||||
runOnline: true # ✅
|
|
||||||
useMonoRuntime: true # ✅
|
|
||||||
withPreviousSDK: false # 🚫
|
|
||||||
crossRootFs: '/crossrootfs/x64' # 📝
|
|
||||||
targetRid: 'linux-x64' # 📝
|
|
||||||
|
|
||||||
- template: ../jobs/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
|
||||||
buildName: MarinerCrossArm64_Online_MsftSdk_Mono
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
architecture: arm64
|
|
||||||
pool:
|
|
||||||
name: ${{ variables.defaultPoolName }}
|
|
||||||
demands: ${{ variables.defaultPoolDemands }}
|
|
||||||
container: ${{ parameters.marinerArm64CrossContainer }}
|
|
||||||
buildFromArchive: false # 🚫
|
|
||||||
enablePoison: false # 🚫
|
|
||||||
excludeOmniSharpTests: true # ✅
|
|
||||||
runOnline: true # ✅
|
|
||||||
useMonoRuntime: true # ✅
|
|
||||||
withPreviousSDK: false # 🚫
|
|
||||||
crossRootFs: '/crossrootfs/arm64' # 📝
|
|
||||||
targetRid: 'linux-arm64' # 📝
|
|
||||||
|
|
||||||
- template: ../jobs/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
|
||||||
buildName: OSXCrossX64_Online_MsftSdk
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
architecture: x64
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ parameters.poolMac.vmImage }}
|
|
||||||
container: ''
|
|
||||||
buildFromArchive: false # 🚫
|
|
||||||
enablePoison: false # 🚫
|
|
||||||
excludeOmniSharpTests: true # ✅
|
|
||||||
runOnline: true # ✅
|
|
||||||
useMonoRuntime: true # ✅
|
|
||||||
withPreviousSDK: false # 🚫
|
|
||||||
targetRid: 'osx-x64' # 📝
|
|
||||||
|
|
||||||
- template: ../jobs/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
|
||||||
buildName: OSXCrossArm64_Online_MsftSdk
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
architecture: arm64
|
|
||||||
pool:
|
|
||||||
vmImage: ${{ parameters.poolMac.vmImage }}
|
|
||||||
container: ''
|
|
||||||
buildFromArchive: false # 🚫
|
|
||||||
enablePoison: false # 🚫
|
|
||||||
excludeOmniSharpTests: true # ✅
|
|
||||||
runOnline: true # ✅
|
|
||||||
useMonoRuntime: true # ✅
|
|
||||||
withPreviousSDK: false # 🚫
|
|
||||||
targetRid: 'osx-arm64' # 📝
|
|
||||||
|
|
||||||
- template: ../jobs/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
|
||||||
buildName: MarinerCrossArm64_Online_MsftSdk_CoreCLR
|
|
||||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
architecture: arm64
|
|
||||||
pool:
|
|
||||||
name: ${{ variables.defaultPoolName }}
|
|
||||||
demands: ${{ variables.defaultPoolDemands }}
|
|
||||||
container: ${{ parameters.marinerArm64CrossContainer }}
|
|
||||||
buildFromArchive: false # 🚫
|
|
||||||
enablePoison: false # 🚫
|
|
||||||
excludeOmniSharpTests: true # ✅
|
|
||||||
runOnline: true # ✅
|
|
||||||
useMonoRuntime: false # 🚫
|
|
||||||
withPreviousSDK: false # 🚫
|
|
||||||
crossRootFs: '/crossrootfs/arm64' # 📝
|
|
||||||
targetRid: 'linux-arm64' # 📝
|
|
|
@ -1,43 +1,18 @@
|
||||||
### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr
|
### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr for installer
|
||||||
### Component Governance scan is also triggered over the VMR's non-repo sources
|
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: isBuiltFromVmr
|
|
||||||
displayName: True when build is running from dotnet/dotnet directly
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
- name: vmrBranch
|
- name: vmrBranch
|
||||||
displayName: dotnet/dotnet branch to use
|
displayName: dotnet/dotnet branch to use
|
||||||
type: string
|
type: string
|
||||||
default: $(Build.SourceBranch)
|
|
||||||
|
|
||||||
- name: skipComponentGovernanceDetection
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- ${{ if parameters.isBuiltFromVmr }}:
|
|
||||||
- checkout: self
|
|
||||||
displayName: Clone dotnet/dotnet
|
|
||||||
path: vmr
|
|
||||||
clean: true
|
|
||||||
|
|
||||||
- ${{ else }}:
|
|
||||||
- checkout: vmr
|
- checkout: vmr
|
||||||
displayName: Clone dotnet/dotnet
|
displayName: Clone dotnet/dotnet
|
||||||
path: vmr
|
path: vmr
|
||||||
clean: true
|
clean: true
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
git checkout --track origin/${{ parameters.vmrBranch }}
|
git checkout --track origin/${{ parameters.vmrBranch }}
|
||||||
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
||||||
displayName: Check out ${{ parameters.vmrBranch }}
|
displayName: Check out ${{ parameters.vmrBranch }}
|
||||||
workingDirectory: $(Agent.BuildDirectory)/vmr
|
workingDirectory: $(Agent.BuildDirectory)/vmr
|
||||||
|
|
||||||
# TODO (https://github.com/dotnet/arcade/issues/11332): Allow full CG?
|
|
||||||
# Currently, we ignore dirs of individual repos - they have been scanned before
|
|
||||||
- ${{ if and(not(parameters.skipComponentGovernanceDetection), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal')) }}:
|
|
||||||
- task: ComponentGovernanceComponentDetection@0
|
|
||||||
inputs:
|
|
||||||
sourceScanPath: $(Agent.BuildDirectory)/vmr
|
|
||||||
ignoreDirectories: $(Agent.BuildDirectory)/vmr/src
|
|
|
@ -33,7 +33,6 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
git checkout -B ${{ parameters.vmrBranch }}
|
git checkout -B ${{ parameters.vmrBranch }}
|
||||||
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
||||||
mkdir -p ${{ parameters.vmrPath }}/artifacts/x64/Release
|
|
||||||
displayName: Prepare branch ${{ parameters.vmrBranch }}
|
displayName: Prepare branch ${{ parameters.vmrBranch }}
|
||||||
workingDirectory: ${{ parameters.vmrPath }}
|
workingDirectory: ${{ parameters.vmrPath }}
|
||||||
|
|
||||||
|
@ -57,13 +56,36 @@ steps:
|
||||||
--branch ${{ parameters.vmrBranch }}
|
--branch ${{ parameters.vmrBranch }}
|
||||||
--repository "installer:${{ parameters.targetRef }}"
|
--repository "installer:${{ parameters.targetRef }}"
|
||||||
--recursive
|
--recursive
|
||||||
--remote "installer:$(pwd)"
|
--remote "installer:$(Agent.BuildDirectory)/installer"
|
||||||
--component-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/Component.template.md
|
--component-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/Component.template.md
|
||||||
--tpn-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
|
--tpn-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
|
||||||
--debug
|
--debug
|
||||||
||
|
||
|
||||||
(echo "##vso[task.logissue type=error]Failed to synchronize the VMR" && exit 1)
|
(echo "##vso[task.logissue type=error]Failed to synchronize the VMR" && exit 1)
|
||||||
displayName: Synchronize dotnet/dotnet
|
displayName: Synchronize dotnet/dotnet (Unix)
|
||||||
|
condition: ne(variables['Agent.OS'], 'Windows_NT')
|
||||||
|
workingDirectory: $(Agent.BuildDirectory)/installer
|
||||||
|
|
||||||
|
- powershell: >
|
||||||
|
./eng/vmr-sync.ps1 `
|
||||||
|
-vmr ${{ parameters.vmrPath }} `
|
||||||
|
-tmp $(Agent.TempDirectory) `
|
||||||
|
-azdevPat '$(dn-bot-all-orgs-code-r)' `
|
||||||
|
-branch ${{ parameters.vmrBranch }} `
|
||||||
|
-repository "installer:${{ parameters.targetRef }}" `
|
||||||
|
-recursive `
|
||||||
|
# passing remote fails for some reason, but it is the default anyway
|
||||||
|
# -remote "installer:$(Agent.BuildDirectory)/installer"
|
||||||
|
-componentTemplate $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/Component.template.md `
|
||||||
|
-tpnTemplate $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt `
|
||||||
|
-debugOutput
|
||||||
|
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
echo "##vso[task.logissue type=error]Failed to synchronize the VMR"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
displayName: Synchronize dotnet/dotnet (Windows)
|
||||||
|
condition: eq(variables['Agent.OS'], 'Windows_NT')
|
||||||
workingDirectory: $(Agent.BuildDirectory)/installer
|
workingDirectory: $(Agent.BuildDirectory)/installer
|
||||||
|
|
||||||
- publish: $(Agent.TempDirectory)
|
- publish: $(Agent.TempDirectory)
|
||||||
|
|
61
eng/pipelines/templates/variables/vmr-stage.yml
Normal file
61
eng/pipelines/templates/variables/vmr-stage.yml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
parameters:
|
||||||
|
- name: vmrBranch
|
||||||
|
type: string
|
||||||
|
|
||||||
|
variables:
|
||||||
|
- ${{ if ne(parameters.vmrBranch, '') }}:
|
||||||
|
- name: VmrBranch
|
||||||
|
value: ${{ parameters.vmrBranch }}
|
||||||
|
- ${{ else }}:
|
||||||
|
- name: VmrBranch
|
||||||
|
value: ${{ replace(replace(variables['Build.SourceBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
||||||
|
|
||||||
|
- name: alpine319Container
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
|
||||||
|
- name: centOSStream8Container
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||||
|
- name: centOSStream9Container
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
|
||||||
|
- name: fedora39Container
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39
|
||||||
|
- name: ubuntu2204Container
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
|
||||||
|
- name: ubuntu2204ArmContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-arm64
|
||||||
|
- name: marinerX64CrossContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-amd64
|
||||||
|
- name: marinerArm64CrossContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64
|
||||||
|
- name: androidCrossContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-android-amd64
|
||||||
|
- name: browserCrossContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly-20230917141449-2aaa02c
|
||||||
|
- name: wasiCrossContainer
|
||||||
|
value: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-webassembly
|
||||||
|
|
||||||
|
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
|
- name: defaultPoolName
|
||||||
|
value: NetCore-Public-XL
|
||||||
|
- name: defaultPoolNameLinuxArm64
|
||||||
|
value: Docker-Linux-Arm-Public
|
||||||
|
- name: defaultPoolNameMac
|
||||||
|
value: macos-12
|
||||||
|
- name: defaultPoolDemandsLinux
|
||||||
|
value: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
|
||||||
|
- name: defaultPoolDemandsWindows
|
||||||
|
value: ImageOverride -equals windows.vs2022.amd64.open
|
||||||
|
- ${{ elseif eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
|
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
|
- name: defaultPoolName
|
||||||
|
value: NetCore1ESPool-Internal-XL
|
||||||
|
- ${{ else }}:
|
||||||
|
- name: defaultPoolName
|
||||||
|
value: NetCore1ESPool-Svc-Internal
|
||||||
|
- name: defaultPoolNameLinuxArm64
|
||||||
|
value: Docker-Linux-Arm-Internal
|
||||||
|
- name: defaultPoolNameMac
|
||||||
|
value: macos-13-arm64
|
||||||
|
- name: defaultPoolDemandsLinux
|
||||||
|
value: ImageOverride -equals Build.Ubuntu.2204.Amd64
|
||||||
|
- name: defaultPoolDemandsWindows
|
||||||
|
value: ImageOverride -equals windows.vs2022.amd64
|
|
@ -1,53 +0,0 @@
|
||||||
trigger: none
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
- release/*
|
|
||||||
- internal/release/*
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: vmrBranch
|
|
||||||
displayName: dotnet/dotnet branch to use
|
|
||||||
type: string
|
|
||||||
default: ' '
|
|
||||||
|
|
||||||
- name: disableVmrBuild
|
|
||||||
displayName: Skip source-building the VMR
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- ${{ if ne(parameters.vmrBranch, ' ') }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ replace(parameters.vmrBranch, ' ', '') }}
|
|
||||||
- ${{ else }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: vmr
|
|
||||||
type: git
|
|
||||||
name: dotnet-dotnet
|
|
||||||
ref: ${{ variables.VmrBranch }}
|
|
||||||
|
|
||||||
stages:
|
|
||||||
# You can temporarily disable the VMR Build stage by changing the default of disableVmrBuild
|
|
||||||
- ${{ if not(parameters.disableVmrBuild) }}:
|
|
||||||
- template: templates/stages/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
isBuiltFromVmr: false
|
|
||||||
|
|
||||||
# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate
|
|
||||||
# that the PR can be merged and later synchronized into the VMR without problems.
|
|
||||||
- ${{ else }}:
|
|
||||||
- stage: Synchronize_VMR
|
|
||||||
displayName: Synchronize VMR
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/jobs/vmr-synchronization.yml
|
|
||||||
parameters:
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
noPush: true
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
# This yml is used by these pipelines and triggers:
|
||||||
|
#
|
||||||
|
# - installer-source-build (public)
|
||||||
|
# - PR: release/* and main, ultralite build
|
||||||
|
# - installer-unified-build (public)
|
||||||
|
# - PR: main, lite build
|
||||||
|
|
||||||
trigger: none
|
trigger: none
|
||||||
pr:
|
pr:
|
||||||
branches:
|
branches:
|
||||||
|
@ -15,8 +22,8 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
default: ' '
|
default: ' '
|
||||||
|
|
||||||
- name: disableVmrBuild
|
- name: disableBuild
|
||||||
displayName: Skip source-building the VMR
|
displayName: Skip the VMR Build stage
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
@ -28,6 +35,10 @@ variables:
|
||||||
- name: VmrBranch
|
- name: VmrBranch
|
||||||
value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
||||||
|
|
||||||
|
# enable source-only build for pipelines with the -source-build suffix
|
||||||
|
- name: isSourceOnlyBuild
|
||||||
|
value: ${{ contains(variables['Build.DefinitionName'], '-source-build') }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
repositories:
|
repositories:
|
||||||
- repository: vmr
|
- repository: vmr
|
||||||
|
@ -37,12 +48,19 @@ resources:
|
||||||
ref: ${{ variables.VmrBranch }}
|
ref: ${{ variables.VmrBranch }}
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
# You can temporarily disable the VMR Build stage by setting the disableVmrBuild variable
|
# You can temporarily disable the VMR Build stage by setting the disableBuild variable
|
||||||
- ${{ if not(parameters.disableVmrBuild) }}:
|
- ${{ if not(parameters.disableBuild) }}:
|
||||||
- template: templates/stages/vmr-build.yml
|
- template: templates/stages/vmr-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
vmrBranch: ${{ variables.VmrBranch }}
|
||||||
isBuiltFromVmr: false
|
isBuiltFromVmr: false
|
||||||
|
isSourceOnlyBuild: ${{ variables.isSourceOnlyBuild }}
|
||||||
|
${{ if contains(variables['Build.DefinitionName'], '-full') }}:
|
||||||
|
scope: full
|
||||||
|
${{ elseif eq(variables.isSourceOnlyBuild, 'true') }}:
|
||||||
|
scope: ultralite
|
||||||
|
${{ else }}:
|
||||||
|
scope: lite
|
||||||
|
|
||||||
# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate
|
# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate
|
||||||
# that the PR can be merged and later synchronized into the VMR without problems.
|
# that the PR can be merged and later synchronized into the VMR without problems.
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
trigger: none
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: vmrBranch
|
|
||||||
displayName: dotnet/dotnet branch to push to
|
|
||||||
type: string
|
|
||||||
default: ' '
|
|
||||||
|
|
||||||
- name: disableVmrBuild
|
|
||||||
displayName: Skip source-building the VMR
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- ${{ if ne(parameters.vmrBranch, ' ') }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ replace(parameters.vmrBranch, ' ', '') }}
|
|
||||||
- ${{ else }}:
|
|
||||||
- name: VmrBranch
|
|
||||||
value: ${{ replace(replace(variables['System.PullRequest.TargetBranch'], 'refs/heads/', ''), 'refs/pull/', '') }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
repositories:
|
|
||||||
- repository: vmr
|
|
||||||
type: github
|
|
||||||
name: dotnet/dotnet
|
|
||||||
endpoint: dotnet
|
|
||||||
ref: ${{ variables.VmrBranch }}
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- ${{ if not(parameters.disableVmrBuild) }}:
|
|
||||||
- template: templates/stages/vmr-cross-build.yml
|
|
||||||
parameters:
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
isBuiltFromVmr: false
|
|
||||||
isLiteBuild: true
|
|
||||||
|
|
||||||
# In case the VMR Build stage is temporarily disabled, the VMR synchronization step is run to validate
|
|
||||||
# that the PR can be merged and later synchronized into the VMR without problems.
|
|
||||||
- ${{ else }}:
|
|
||||||
- stage: Synchronize_VMR
|
|
||||||
displayName: Synchronize VMR
|
|
||||||
dependsOn: []
|
|
||||||
jobs:
|
|
||||||
- template: templates/jobs/vmr-synchronization.yml
|
|
||||||
parameters:
|
|
||||||
vmrBranch: ${{ variables.VmrBranch }}
|
|
||||||
noPush: true
|
|
|
@ -5,7 +5,7 @@ function InitializeCustomSDKToolset {
|
||||||
|
|
||||||
# The following frameworks and tools are used only for testing.
|
# The following frameworks and tools are used only for testing.
|
||||||
# Do not attempt to install them in source build.
|
# Do not attempt to install them in source build.
|
||||||
if ($env:DotNetBuildFromSource -eq "true") {
|
if ($productBuild -or $properties -like "*DotNetBuildRepo=true*") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ function InitializeCustomSDKToolset {
|
||||||
|
|
||||||
# The following frameworks and tools are used only for testing.
|
# The following frameworks and tools are used only for testing.
|
||||||
# Do not attempt to install them in source build.
|
# Do not attempt to install them in source build.
|
||||||
if [[ "${DotNetBuildFromSource:-}" == "true" ]]; then
|
if [[ $product_build == true || $properties == *"DotNetBuildRepo=true"* ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
216
eng/vmr-sync.ps1
Normal file
216
eng/vmr-sync.ps1
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
|
||||||
|
This script is used for synchronizing the dotnet/dotnet VMR locally. This means pulling new
|
||||||
|
code from various repositories into the 'dotnet/dotnet' repository.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
|
||||||
|
The script is used during CI to ingest new code based on dotnet/installer but it can also help
|
||||||
|
for reproducing potential failures during installer's PRs, namely to fix the Source-Build.
|
||||||
|
Another usecase is to try manually synchronizing a given commit of some repo into the VMR and
|
||||||
|
trying to Source-Build the VMR. This can help when fixing the Source-Build but using a commit
|
||||||
|
from a not-yet merged branch (or fork) to test the fix will help.
|
||||||
|
|
||||||
|
The tooling that synchronizes the VMR will need to clone the various repositories into a temporary
|
||||||
|
folder. These clones can be re-used in future synchronizations so it is advised you dedicate a
|
||||||
|
folder to this to speed up your re-runs.
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Synchronize current installer and all dependencies into a local VMR:
|
||||||
|
./vmr-sync.ps1 -vmrDir "$HOME/repos/dotnet" -tmpDir "$HOME/repos/tmp"
|
||||||
|
|
||||||
|
Synchronize the VMR to a specific commit of dotnet/runtime using custom fork:
|
||||||
|
./vmr-sync.ps1 `
|
||||||
|
-repository runtime:e7e71da303af8dc97df99b098f21f526398c3943 `
|
||||||
|
-remote runtime:https://github.com/yourfork/runtime `
|
||||||
|
-tmpDir "$HOME/repos/tmp"
|
||||||
|
|
||||||
|
.PARAMETER tmpDir
|
||||||
|
Required. Path to the temporary folder where repositories will be cloned
|
||||||
|
|
||||||
|
.PARAMETER vmrBranch
|
||||||
|
Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch
|
||||||
|
|
||||||
|
.PARAMETER component-template
|
||||||
|
Optional. Template for VMRs Component.md used for regenerating the file to list the newest versions of
|
||||||
|
components.
|
||||||
|
Defaults to src/VirtualMonoRepo/Component.template.md
|
||||||
|
|
||||||
|
.PARAMETER recursive
|
||||||
|
Optional. Recursively synchronize all the source build dependencies (declared in Version.Details.xml)
|
||||||
|
This is used when performing the full synchronization during installer's CI and the final VMR sync.
|
||||||
|
Defaults to false unless no repository is supplied in which case a recursive sync of installer is performed.
|
||||||
|
|
||||||
|
.PARAMETER remote
|
||||||
|
Optional. Additional remote to use during the synchronization
|
||||||
|
This can be used to synchronize to a commit from a fork of the repository
|
||||||
|
Example: 'runtime:https://github.com/yourfork/runtime'
|
||||||
|
|
||||||
|
.PARAMETER repository
|
||||||
|
Optional. Repository + git ref separated by colon to synchronize to.
|
||||||
|
This can be a specific commit, branch, tag.
|
||||||
|
If not supplied, the revision of the parent installer repository of this script will be used (recursively).
|
||||||
|
Example: 'runtime:my-branch-name'
|
||||||
|
|
||||||
|
.PARAMETER tpnTemplate
|
||||||
|
Optional. Template for the header of VMRs THIRD-PARTY-NOTICES file.
|
||||||
|
Defaults to src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
|
||||||
|
|
||||||
|
.PARAMETER azdevPat
|
||||||
|
Optional. Azure DevOps PAT to use for cloning private repositories.
|
||||||
|
|
||||||
|
.PARAMETER vmrDir
|
||||||
|
Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder
|
||||||
|
|
||||||
|
.PARAMETER debugOutput
|
||||||
|
Optional. Enables debug logging in the darc vmr command.
|
||||||
|
#>
|
||||||
|
param (
|
||||||
|
[Parameter(Mandatory=$true, HelpMessage="Path to the temporary folder where repositories will be cloned")]
|
||||||
|
[string][Alias('t', 'tmp')]$tmpDir,
|
||||||
|
[string][Alias('b', 'branch')]$vmrBranch,
|
||||||
|
[string]$componentTemplate = "src/VirtualMonoRepo/Component.template.md",
|
||||||
|
[switch]$recursive,
|
||||||
|
[string]$remote,
|
||||||
|
[string][Alias('r')]$repository,
|
||||||
|
[string]$tpnTemplate = "src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt",
|
||||||
|
[string]$azdevPat,
|
||||||
|
[string][Alias('v', 'vmr')]$vmrDir,
|
||||||
|
[switch]$debugOutput
|
||||||
|
)
|
||||||
|
|
||||||
|
$scriptRoot = $PSScriptRoot
|
||||||
|
|
||||||
|
function Fail {
|
||||||
|
Write-Host "> $($args[0])" -ForegroundColor 'Red'
|
||||||
|
}
|
||||||
|
|
||||||
|
function Highlight {
|
||||||
|
Write-Host "> $($args[0])" -ForegroundColor 'Cyan'
|
||||||
|
}
|
||||||
|
|
||||||
|
$installerDir = (Split-Path -Parent $scriptRoot)
|
||||||
|
|
||||||
|
# If installer is a repo, we're in an installer and not in the dotnet/dotnet repo
|
||||||
|
if (Test-Path -Path "$installerDir/.git" -PathType Container) {
|
||||||
|
$additionalRemotes = "installer:$installerDir"
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($remote) {
|
||||||
|
$additionalRemotes = "$additionalRemotes $remote"
|
||||||
|
}
|
||||||
|
|
||||||
|
$verbosity = 'verbose'
|
||||||
|
if ($debugOutput) {
|
||||||
|
$verbosity = 'debug'
|
||||||
|
}
|
||||||
|
# Validation
|
||||||
|
|
||||||
|
if (-not (Test-Path -Path $installerDir -PathType Container)) {
|
||||||
|
Fail "Directory '$installerDir' does not exist. Please specify the path to the dotnet/installer repo"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not $tmpDir) {
|
||||||
|
Fail "Missing -tmpDir argument. Please specify the path to the temporary folder where the repositories will be cloned"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not (Test-Path -Path $componentTemplate -PathType Leaf)) {
|
||||||
|
Fail "File '$componentTemplate' does not exist. Please specify a valid path to the component template"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not (Test-Path -Path $tpnTemplate -PathType Leaf)) {
|
||||||
|
Fail "File '$tpnTemplate' does not exist. Please specify a valid path to the THIRD-PARTY-NOTICES template"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sanitize the input
|
||||||
|
|
||||||
|
# Default when no repository is provided
|
||||||
|
if (-not $repository) {
|
||||||
|
$repository = "installer:$(git -C $installerDir rev-parse HEAD)"
|
||||||
|
$recursive = $true
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not $vmrDir) {
|
||||||
|
$vmrDir = Join-Path $tmpDir 'dotnet'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not (Test-Path -Path $tmpDir -PathType Container)) {
|
||||||
|
New-Item -ItemType Directory -Path $tmpDir | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prepare the VMR
|
||||||
|
|
||||||
|
if (-not (Test-Path -Path $vmrDir -PathType Container)) {
|
||||||
|
Highlight "Cloning 'dotnet/dotnet' into $vmrDir.."
|
||||||
|
git clone https://github.com/dotnet/dotnet $vmrDir
|
||||||
|
|
||||||
|
if ($vmrBranch) {
|
||||||
|
git -C $vmrDir switch -c $vmrBranch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((git -C $vmrDir diff --quiet) -eq $false) {
|
||||||
|
Fail "There are changes in the working tree of $vmrDir. Please commit or stash your changes"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($vmrBranch) {
|
||||||
|
Highlight "Preparing $vmrDir"
|
||||||
|
git -C $vmrDir checkout $vmrBranch
|
||||||
|
git -C $vmrDir pull
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Set-StrictMode -Version Latest
|
||||||
|
|
||||||
|
# Prepare darc
|
||||||
|
|
||||||
|
Highlight 'Installing .NET, preparing the tooling..'
|
||||||
|
. $scriptRoot\common\tools.ps1
|
||||||
|
$dotnetRoot = InitializeDotNetCli -install:$true
|
||||||
|
$dotnet = "$dotnetRoot\dotnet.exe"
|
||||||
|
& "$dotnet" tool restore
|
||||||
|
|
||||||
|
Highlight "Starting the synchronization of '$repository'.."
|
||||||
|
|
||||||
|
# Synchronize the VMR
|
||||||
|
$darcArgs = (
|
||||||
|
"darc", "vmr", "update",
|
||||||
|
"--vmr", $vmrDir,
|
||||||
|
"--tmp", $tmpDir,
|
||||||
|
"--$verbosity",
|
||||||
|
"--component-template", $componentTemplate,
|
||||||
|
"--tpn-template", $tpnTemplate,
|
||||||
|
"--discard-patches",
|
||||||
|
$repository
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($recursive) {
|
||||||
|
$darcArgs += ("--recursive")
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($additionalRemotes) {
|
||||||
|
$darcArgs += ("--additional-remotes", $additionalRemotes)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($azdevPat) {
|
||||||
|
$darcArgs += ("--azdev-pat", $azdevPat)
|
||||||
|
}
|
||||||
|
|
||||||
|
& "$dotnet" $darcArgs
|
||||||
|
|
||||||
|
if ($LASTEXITCODE -eq 0) {
|
||||||
|
Highlight "Synchronization succeeded"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Fail "Synchronization of dotnet/dotnet to '$repository' failed!"
|
||||||
|
Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)."
|
||||||
|
Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)."
|
||||||
|
Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script."
|
||||||
|
exit 1
|
||||||
|
}
|
|
@ -104,7 +104,7 @@ repository=''
|
||||||
additional_remotes=''
|
additional_remotes=''
|
||||||
recursive=false
|
recursive=false
|
||||||
verbosity=verbose
|
verbosity=verbose
|
||||||
readme_template="$installer_dir/src/VirtualMonoRepo/Component.template.md"
|
component_template="$installer_dir/src/VirtualMonoRepo/Component.template.md"
|
||||||
tpn_template="$installer_dir/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt"
|
tpn_template="$installer_dir/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt"
|
||||||
azdev_pat=''
|
azdev_pat=''
|
||||||
|
|
||||||
|
@ -180,8 +180,8 @@ if [[ -z "$tmp_dir" ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "$readme_template" ]]; then
|
if [[ ! -f "$component_template" ]]; then
|
||||||
fail "File '$readme_template' does not exist. Please specify a valid path to the README template"
|
fail "File '$component_template' does not exist. Please specify a valid path to the Component.md template"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"native-tools": {
|
"native-tools": {
|
||||||
"cmake": "3.21.0"
|
"cmake": "latest"
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.Build.NoTargets": "3.7.0",
|
"Microsoft.Build.NoTargets": "3.7.0",
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24075.2",
|
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24114.1",
|
||||||
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24075.2"
|
"Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24114.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ if ($Sign) {
|
||||||
$Parameters = "$Parameters -WarnAsError `$$WarnAsError"
|
$Parameters = "$Parameters -WarnAsError `$$WarnAsError"
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$ExpressionToInvoke = "$RepoRoot\eng\common\build.ps1 -restore -build $Parameters $ExtraParameters"
|
$ExpressionToInvoke = "$RepoRoot\eng\common\build.ps1 -restore -build -nativeToolsOnMachine $Parameters $ExtraParameters"
|
||||||
Write-Host "Invoking expression: $ExpressionToInvoke"
|
Write-Host "Invoking expression: $ExpressionToInvoke"
|
||||||
Invoke-Expression $ExpressionToInvoke
|
Invoke-Expression $ExpressionToInvoke
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,14 +10,21 @@
|
||||||
|
|
||||||
This Codespace can help you debug the source build of .NET. This build takes about
|
This Codespace can help you debug the source build of .NET. This build takes about
|
||||||
45 minutes and, after completion, produces an archived .NET SDK located in
|
45 minutes and, after completion, produces an archived .NET SDK located in
|
||||||
`/workspaces/dotnet/artifacts/x64/Release`. In case you selected the `prebuilt-sdk`
|
`/workspaces/dotnet/artifacts/assets/Release`. In case you selected the `prebuilt-sdk`
|
||||||
Codespace, the SDK will already be there.
|
Codespace, the built-from-source SDK will already be there.
|
||||||
|
|
||||||
## Build the SDK
|
## Build the SDK
|
||||||
|
|
||||||
To build the VMR, run following:
|
To build the repository, run one of the following:
|
||||||
```bash
|
```bash
|
||||||
./prep.sh && ./build.sh --online
|
# Microsoft based build
|
||||||
|
./build.sh
|
||||||
|
```
|
||||||
|
or
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Building from source only
|
||||||
|
./prep.sh && ./build.sh -sb
|
||||||
```
|
```
|
||||||
|
|
||||||
> Please note that, at this time, the build modifies some of the checked-in sources so it might
|
> Please note that, at this time, the build modifies some of the checked-in sources so it might
|
||||||
|
|
6
src/SourceBuild/content/.gitignore
vendored
6
src/SourceBuild/content/.gitignore
vendored
|
@ -1,11 +1,9 @@
|
||||||
/.dotnet
|
/.dotnet
|
||||||
|
/.packages
|
||||||
/artifacts
|
/artifacts
|
||||||
/eng/tools/**/bin
|
|
||||||
/eng/tools/**/obj
|
|
||||||
/prereqs/packages
|
/prereqs/packages
|
||||||
/src/linker/src/ILLink.Tasks/ILLink.Tasks.nuspec
|
|
||||||
/src/nuget-client/NuGet.config
|
/src/nuget-client/NuGet.config
|
||||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin
|
/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin
|
||||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/obj
|
/test/Microsoft.DotNet.SourceBuild.SmokeTests/obj
|
||||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults
|
/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults
|
||||||
*.binlog
|
*.binlog
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<Project>
|
<Project>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_SuppressSdkImports Condition="'$(DotNetBuildSourceOnly)' == 'true'">true</_SuppressSdkImports>
|
|
||||||
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
|
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
|
||||||
<DotNetBuildOrchestrator>true</DotNetBuildOrchestrator>
|
<DotNetBuildOrchestrator>true</DotNetBuildOrchestrator>
|
||||||
|
<RootRepo>dotnet</RootRepo>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Label="CalculateTargetOS">
|
<PropertyGroup Label="CalculateTargetOS">
|
||||||
|
@ -19,24 +19,31 @@
|
||||||
<TargetOS Condition="'$(TargetOS)' == ''">$(BuildOS)</TargetOS>
|
<TargetOS Condition="'$(TargetOS)' == ''">$(BuildOS)</TargetOS>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!-- This is a list of cases where we aren't producing a whole SDK, just a runtime. This list should be kept in sync with https://github.com/dotnet/runtime/blob/main/eng/SourceBuild.props#L26 -->
|
||||||
|
<PropertyGroup Label="ShortStacks">
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'wasi'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'browser'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'ios'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'iossimulator'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'tvos'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'tvossimulator'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'maccatalyst'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'android'">true</ShortStack>
|
||||||
|
<ShortStack Condition="'$(TargetOS)' == 'linux-bionic'">true</ShortStack>
|
||||||
|
<!-- Short stack builds stop at runtime, not the whole SDK -->
|
||||||
|
<RootRepo Condition="'$(ShortStack)' == 'true'">runtime</RootRepo>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!-- See https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/Unified-Build-Controls.md#output-controls for
|
||||||
|
control set definition. -->
|
||||||
<PropertyGroup Label="CalculateArch">
|
<PropertyGroup Label="CalculateArch">
|
||||||
|
<!-- Build architecture is what we are building on. -->
|
||||||
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</BuildArchitecture>
|
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</BuildArchitecture>
|
||||||
<HostArchitecture Condition="'$(HostArchitecture)' == ''">$(BuildArchitecture)</HostArchitecture>
|
<!-- The target architecture is the what the customer is targeting their outputs to run on. -->
|
||||||
|
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">$(BuildArchitecture)</TargetArchitecture>
|
||||||
|
<!-- The host architecture is the what the customer will build on. Much of the time, Host==Target. -->
|
||||||
|
<HostArchitecture Condition="'$(HostArchitecture)' == ''">$(TargetArchitecture)</HostArchitecture>
|
||||||
|
|
||||||
<!-- When building on non-x64 architectures, there may be no cross-compilation available, select a target architecture that is the same as the build. -->
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'arm'">arm</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'armv6'">armv6</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'armel'">armel</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'arm64'">arm64</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'riscv64'">riscv64</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'loongarch64'">loongarch64</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 's390x'">s390x</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(BuildArchitecture)' == 'ppc64le'">ppc64le</TargetArchitecture>
|
|
||||||
|
|
||||||
<TargetArchitecture Condition="'$(OverrideTargetRid)' != ''">$(OverrideTargetRid.Substring($(OverrideTargetRid.LastIndexOf('-'))).TrimStart('-'))</TargetArchitecture>
|
|
||||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
|
|
||||||
|
|
||||||
<Platform Condition="'$(Platform)' == '' and '$(InferPlatformFromTargetArchitecture)' == 'true'">$(TargetArchitecture)</Platform>
|
|
||||||
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
|
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
@ -46,7 +53,12 @@
|
||||||
<BuildRid Condition="'$(BuildRid)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</BuildRid>
|
<BuildRid Condition="'$(BuildRid)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</BuildRid>
|
||||||
|
|
||||||
<HostRid Condition="'$(HostRid)' == ''">$(BuildRid)</HostRid>
|
<HostRid Condition="'$(HostRid)' == ''">$(BuildRid)</HostRid>
|
||||||
<TargetRid Condition="'$(TargetRid)' == ''">$(BuildRid)</TargetRid>
|
<TargetRid Condition="'$(TargetRid)' == ''">$(BuildRid.Substring(0, $(BuildRid.LastIndexOf('-'))))-$(TargetArchitecture)</TargetRid>
|
||||||
|
|
||||||
|
<!-- Source-only builds are non portable, except for cross-builds.
|
||||||
|
Source-only cross-builds default to the portable configuration so the resulting SDK works on a wider range of distros. -->
|
||||||
|
<PortableBuild Condition="'$(PortableBuild)' == '' and '$(DotNetBuildSourceOnly)' == 'true' and '$(HostArchitecture)' == '$(TargetArchitecture)'">false</PortableBuild>
|
||||||
|
<PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild>
|
||||||
|
|
||||||
<PortableRid Condition="'$(__PortableTargetOS)' != ''">$(__PortableTargetOS)-$(TargetArchitecture)</PortableRid>
|
<PortableRid Condition="'$(__PortableTargetOS)' != ''">$(__PortableTargetOS)-$(TargetArchitecture)</PortableRid>
|
||||||
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</PortableRid>
|
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</PortableRid>
|
||||||
|
@ -56,13 +68,15 @@
|
||||||
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</PortableRid>
|
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</PortableRid>
|
||||||
|
|
||||||
<TargetRid Condition="'$(PortableBuild)' == 'true' and '$(PortableRid)' != ''">$(PortableRid)</TargetRid>
|
<TargetRid Condition="'$(PortableBuild)' == 'true' and '$(PortableRid)' != ''">$(PortableRid)</TargetRid>
|
||||||
|
<TargetRid Condition="'$(ShortStack)' == 'true' and '$(TargetOS)' != 'windows'">$(TargetOS)-$(TargetArchitecture)</TargetRid>
|
||||||
|
<TargetRid Condition="'$(ShortStack)' == 'true' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</TargetRid>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipArcadeSdkImport)' != 'true'" />
|
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipArcadeSdkImport)' != 'true'" />
|
||||||
|
|
||||||
<!-- Init basic Arcade props, if the project importing this file doesn't use Arcade.
|
<!-- Init basic Arcade props, if the project importing this file doesn't use Arcade.
|
||||||
Keep in sync with props/targets in the Arcade.Sdk. -->
|
Keep in sync with props/targets in the Arcade.Sdk. -->
|
||||||
<PropertyGroup Condition="'$(_SuppressSdkImports)' == 'true' or '$(SkipArcadeSdkImport)' == 'true'">
|
<PropertyGroup Condition="'$(SkipArcadeSdkImport)' == 'true'">
|
||||||
<!-- RepoLayout.props -->
|
<!-- RepoLayout.props -->
|
||||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' != ''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)'))</NuGetPackageRoot>
|
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' != ''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)'))</NuGetPackageRoot>
|
||||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' and '$(NUGET_PACKAGES)' != ''">$([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)'))</NuGetPackageRoot>
|
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' and '$(NUGET_PACKAGES)' != ''">$([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)'))</NuGetPackageRoot>
|
||||||
|
@ -84,6 +98,9 @@
|
||||||
<ArtifactsObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))</ArtifactsObjDir>
|
<ArtifactsObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))</ArtifactsObjDir>
|
||||||
<ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir>
|
<ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir>
|
||||||
<ArtifactsLogDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'log', '$(Configuration)'))</ArtifactsLogDir>
|
<ArtifactsLogDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'log', '$(Configuration)'))</ArtifactsLogDir>
|
||||||
|
<ArtifactsPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)'))</ArtifactsPackagesDir>
|
||||||
|
<ArtifactsNonShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'NonShipping'))</ArtifactsNonShippingPackagesDir>
|
||||||
|
<ArtifactsShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'Shipping'))</ArtifactsShippingPackagesDir>
|
||||||
<RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir>
|
<RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir>
|
||||||
|
|
||||||
<!-- ProjectLayout.props -->
|
<!-- ProjectLayout.props -->
|
||||||
|
@ -108,8 +125,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Manually import the Versions.props file when the Arcade SDK isn't used. -->
|
<!-- Manually import the Versions.props file when the Arcade SDK isn't used. -->
|
||||||
<Import Project="$(RepositoryEngineeringDir)Versions.props"
|
<Import Project="$(RepositoryEngineeringDir)Versions.props" Condition="'$(SkipArcadeSdkImport)' == 'true'" />
|
||||||
Condition="'$(_SuppressSdkImports)' == 'true' or '$(SkipArcadeSdkImport)' == 'true'" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- We have no projects targeting multiple frameworks, so don't include in output path. -->
|
<!-- We have no projects targeting multiple frameworks, so don't include in output path. -->
|
||||||
|
@ -119,9 +135,7 @@
|
||||||
<!-- It's not unusual to build with a preview SDK -->
|
<!-- It's not unusual to build with a preview SDK -->
|
||||||
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
|
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
|
||||||
<!-- By default, the VMR builds with online sources when not building source-only. -->
|
<!-- By default, the VMR builds with online sources when not building source-only. -->
|
||||||
<DotNetBuildWithOnlineSources Condition="'$(DotNetBuildWithOnlineSources)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true</DotNetBuildWithOnlineSources>
|
<DotNetBuildWithOnlineFeeds Condition="'$(DotNetBuildWithOnlineFeeds)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true</DotNetBuildWithOnlineFeeds>
|
||||||
<!-- By default, skip building tests when building the VMR. -->
|
|
||||||
<DotNetBuildSkipTests Condition="'$(DotNetBuildSkipTests)' == ''">true</DotNetBuildSkipTests>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -144,8 +158,6 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<RootRepo>dotnet</RootRepo>
|
|
||||||
|
|
||||||
<SrcDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src'))</SrcDir>
|
<SrcDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src'))</SrcDir>
|
||||||
<ToolsDir>$([MSBuild]::NormalizeDirectory('$(RepositoryEngineeringDir)', 'tools'))</ToolsDir>
|
<ToolsDir>$([MSBuild]::NormalizeDirectory('$(RepositoryEngineeringDir)', 'tools'))</ToolsDir>
|
||||||
<TasksDir>$([MSBuild]::NormalizeDirectory('$(ToolsDir)', 'tasks'))</TasksDir>
|
<TasksDir>$([MSBuild]::NormalizeDirectory('$(ToolsDir)', 'tasks'))</TasksDir>
|
||||||
|
@ -155,18 +167,14 @@
|
||||||
<KeysDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'keys'))</KeysDir>
|
<KeysDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'keys'))</KeysDir>
|
||||||
<PrereqsPackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'packages'))</PrereqsPackagesDir>
|
<PrereqsPackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'packages'))</PrereqsPackagesDir>
|
||||||
|
|
||||||
<!-- When SB mode, the initial arcade is unzipped to a the "ArcadeBootStrap" dir.
|
<!-- When SB mode, the initial arcade is unzipped to the "ArcadeBootstrapPackage" dir.
|
||||||
When running in VBPOC, the bootstrap package is the arcade restored at the beginning of the build. -->
|
When running in VBPOC, the bootstrap package is the arcade restored at the beginning of the build. -->
|
||||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage'))</ArcadeBootstrapPackageDir>
|
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage'))</ArcadeBootstrapPackageDir>
|
||||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</ArcadeBootstrapPackageDir>
|
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</ArcadeBootstrapPackageDir>
|
||||||
|
|
||||||
<!-- Shared output and intermediate output path folders that are architecture and configuration specific. -->
|
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
|
||||||
<SharedOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedOutputPath>
|
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir>
|
||||||
<SharedIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedIntermediateOutputPath>
|
<ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir>
|
||||||
|
|
||||||
<SourceBuiltBlobFeedDir>$([MSBuild]::NormalizeDirectory('$(SharedIntermediateOutputPath)', 'blob-feed'))</SourceBuiltBlobFeedDir>
|
|
||||||
<SourceBuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'packages'))</SourceBuiltPackagesPath>
|
|
||||||
<SourceBuiltAssetsDir>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'assets'))</SourceBuiltAssetsDir>
|
|
||||||
|
|
||||||
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
|
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
|
||||||
<PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath>
|
<PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath>
|
||||||
|
@ -184,6 +192,7 @@
|
||||||
<NonShippingPackagesListPrefix>NonShipping.Packages.</NonShippingPackagesListPrefix>
|
<NonShippingPackagesListPrefix>NonShipping.Packages.</NonShippingPackagesListPrefix>
|
||||||
|
|
||||||
<ReferencePackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference'))</ReferencePackagesDir>
|
<ReferencePackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference'))</ReferencePackagesDir>
|
||||||
|
<ReferenceAssetsDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference-assets'))</ReferenceAssetsDir>
|
||||||
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
||||||
<SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName>
|
<SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName>
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<SdkFilenamePrefix>dotnet-sdk-</SdkFilenamePrefix>
|
<SdkFilenamePrefix>dotnet-sdk-</SdkFilenamePrefix>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SdkTarballItem Include="$(SourceBuiltAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
<SdkTarballItem Include="$(ArtifactsAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
|
@ -39,15 +39,14 @@ See the [Unified Build roadmap](src/arcade/Documentation/UnifiedBuild/Roadmap.md
|
||||||
|
|
||||||
### Supported platforms
|
### Supported platforms
|
||||||
|
|
||||||
The VMR only supports .NET 8.0 and higher. Additionally, source-build currently supports Linux only.
|
* 8.0
|
||||||
It is expected that Mac and Windows will be supported in the .NET 9.0.
|
* source-build configuration on Linux
|
||||||
|
* 9.0+ (WIP)
|
||||||
|
* source-build configuration on Linux
|
||||||
|
* non-source-build configuration on Linux, Mac, and Windows
|
||||||
|
|
||||||
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
|
For the latest information about Source-Build support for new .NET versions, please check our [GitHub Discussions page](https://github.com/dotnet/source-build/discussions) for announcements.
|
||||||
|
|
||||||
### Online build only
|
|
||||||
|
|
||||||
Building the product offline is not fully working at the moment. The `--online` switch is needed when building the VMR as not all dependencies are currently built from source.
|
|
||||||
|
|
||||||
### Code flow
|
### Code flow
|
||||||
For the time being, the source code only flows one way - from the development repos into the VMR.
|
For the time being, the source code only flows one way - from the development repos into the VMR.
|
||||||
More details on this process:
|
More details on this process:
|
||||||
|
@ -72,53 +71,71 @@ For the latest information about Source-Build support, please watch for announce
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
The dependencies for building .NET from source can be found [here](https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/linux-requirements.md).
|
The dependencies for building can be found [here](https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/).
|
||||||
In case you don't want to / cannot prepare your environment per the requirements, consider [using Docker](#building-using-docker).
|
In case you don't want to / cannot prepare your environment per the requirements, consider [using Docker](#building-using-docker).
|
||||||
|
|
||||||
### Building
|
### Building
|
||||||
|
|
||||||
1. **Clone the VMR**
|
1. **Clone the repository**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/dotnet/dotnet dotnet-dotnet
|
git clone https://github.com/dotnet/dotnet dotnet-dotnet
|
||||||
|
cd dotnet-dotnet
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Prep the source to build on your distro**
|
2. **Build the .NET SDK**
|
||||||
This downloads a .NET SDK and a number of .NET packages needed to build .NET from source.
|
|
||||||
|
|
||||||
```bash
|
Choose one of the following build modes:
|
||||||
cd dotnet-dotnet
|
|
||||||
./prep.sh
|
- **Microsoft based build**
|
||||||
```
|
|
||||||
|
|
||||||
3. **Build the .NET SDK**
|
For Unix:
|
||||||
|
```bash
|
||||||
|
./build.sh --clean-while-building
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
For Windows:
|
||||||
./build.sh --clean-while-building --online
|
```cmd
|
||||||
```
|
.\build.cmd -cleanWhileBuilding
|
||||||
|
```
|
||||||
|
|
||||||
This builds the entire .NET SDK from source.
|
- **Building from source**
|
||||||
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-9.0.100-your-RID.tar.gz`.
|
```bash
|
||||||
|
# Prep the source to build on your distro.
|
||||||
|
# This downloads a .NET SDK and a number of .NET packages needed to build .NET from source.
|
||||||
|
./prep.sh
|
||||||
|
|
||||||
Currently, the `--online` flag is required to allow NuGet restore from online sources during the build.
|
# Build the .NET SDK
|
||||||
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
|
./build.sh -sb --clean-while-building
|
||||||
|
```
|
||||||
|
|
||||||
Run `./build.sh --help` to see more information about supported build options.
|
The resulting SDK is placed at `artifacts/assets/Release/dotnet-sdk-9.0.100-[your-RID].tar.gz` (for Unix) or `artifacts/assets/Release/dotnet-sdk-9.0.100-[your-RID].zip` (for Windows).
|
||||||
|
|
||||||
4. *(Optional)* **Unpack and install the .NET SDK**
|
4. *(Optional)* **Unpack and install the .NET SDK**
|
||||||
|
|
||||||
|
For Unix:
|
||||||
```bash
|
```bash
|
||||||
mkdir -p $HOME/dotnet
|
mkdir -p $HOME/dotnet
|
||||||
tar zxf artifacts/[your-arch]/Release/dotnet-sdk-9.0.100-[your-RID].tar.gz -C $HOME/dotnet
|
tar zxf artifacts/assets/Release/dotnet-sdk-9.0.100-[your-RID].tar.gz -C $HOME/dotnet
|
||||||
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
|
ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For Windows:
|
||||||
|
```cmd
|
||||||
|
mkdir %userprofile%\dotnet
|
||||||
|
tar -xf artifacts/assets/Release/dotnet-sdk-9.0.100-[your RID].zip -C %userprofile%\dotnet
|
||||||
|
set "PATH=%userprofile%\dotnet;%PATH%"
|
||||||
|
```
|
||||||
|
|
||||||
To test your source-built SDK, run the following:
|
To test your built SDK, run the following:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dotnet --info
|
dotnet --info
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Run `./build.sh --help` (for Unix) or `.\build.cmd -help` (for Windows) to see more information about supported build options.
|
||||||
|
|
||||||
### Building using Docker
|
### Building using Docker
|
||||||
|
|
||||||
You can also build the repository using a Docker image which has the required prerequisites inside.
|
You can also build the repository using a Docker image which has the required prerequisites inside.
|
||||||
|
@ -127,9 +144,15 @@ The example below creates a Docker volume named `vmr` and clones and builds the
|
||||||
```sh
|
```sh
|
||||||
docker run --rm -it -v vmr:/vmr -w /vmr mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
docker run --rm -it -v vmr:/vmr -w /vmr mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||||
git clone https://github.com/dotnet/dotnet .
|
git clone https://github.com/dotnet/dotnet .
|
||||||
./prep.sh && ./build.sh --online
|
|
||||||
|
# - Microsoft based build
|
||||||
|
./build.sh --clean-while-building
|
||||||
|
|
||||||
|
# - Building from source
|
||||||
|
./prep.sh && ./build.sh -sb --clean-while-building
|
||||||
|
|
||||||
mkdir -p $HOME/.dotnet
|
mkdir -p $HOME/.dotnet
|
||||||
tar -zxf artifacts/x64/Release/dotnet-sdk-9.0.100-centos.8-x64.tar.gz -C $HOME/.dotnet
|
tar -zxf artifacts/assets/Release/dotnet-sdk-9.0.100-centos.8-x64.tar.gz -C $HOME/.dotnet
|
||||||
ln -s $HOME/.dotnet/dotnet /usr/bin/dotnet
|
ln -s $HOME/.dotnet/dotnet /usr/bin/dotnet
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -150,7 +173,7 @@ Alternatively, you can also provide a manifest file where this information can b
|
||||||
|
|
||||||
Sometimes you want to make a change in a repository and test that change in the VMR. You could of course make the change in the VMR directly (locally, as the VMR is read-only for now) but in case it's already available in your repository, you can synchronize it into the VMR (again locally).
|
Sometimes you want to make a change in a repository and test that change in the VMR. You could of course make the change in the VMR directly (locally, as the VMR is read-only for now) but in case it's already available in your repository, you can synchronize it into the VMR (again locally).
|
||||||
|
|
||||||
To do this, you can either start a [dotnet/dotnet](https://github.com/dotnet/dotnet) Codespace - you will see instructions right after it starts. Alternatively, you can clone the repository locally and use the [eng/vmr-sync.sh](../../eng/vmr-sync.sh) script to pull your changes in. Please refer to the documentation in the script for more details.
|
To do this, you can either start a [dotnet/dotnet](https://github.com/dotnet/dotnet) Codespace - you will see instructions right after it starts. Alternatively, you can clone the repository locally and use the [vmr-sync.sh](src/installer/eng/vmr-sync.sh) or [vmr-sync.ps1](src/installer/eng/vmr-sync.ps1) script to pull your changes in. Please refer to the documentation in the script for more details.
|
||||||
|
|
||||||
## List of components
|
## List of components
|
||||||
|
|
||||||
|
|
|
@ -10,34 +10,34 @@ set -e
|
||||||
usage()
|
usage()
|
||||||
{
|
{
|
||||||
echo "Common settings:"
|
echo "Common settings:"
|
||||||
echo " --binaryLog Create MSBuild binary log (short: -bl)"
|
echo " --binaryLog Create MSBuild binary log (short: -bl)"
|
||||||
echo " --configuration <value> Build configuration: 'Debug' or 'Release' (short: -c)"
|
echo " --configuration <value> Build configuration: 'Debug' or 'Release' (short: -c)"
|
||||||
echo " --verbosity <value> Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)"
|
echo " --verbosity <value> Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
echo "Actions:"
|
echo "Actions:"
|
||||||
echo " --clean Clean the solution"
|
echo " --clean Clean the solution"
|
||||||
echo " --help Print help and exit (short: -h)"
|
echo " --help Print help and exit (short: -h)"
|
||||||
echo " --test Run smoke tests (short: -t)"
|
echo " --test Run smoke tests (short: -t)"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
echo "Source-only settings:"
|
echo "Source-only settings:"
|
||||||
echo " --source-only Source-build the solution (short: -so)"
|
echo " --source-only, --source-build Source-build the solution (short: -so, -sb)"
|
||||||
echo " --online Build using online sources"
|
echo " --online Build using online sources"
|
||||||
echo " --poison Build with poisoning checks"
|
echo " --poison Build with poisoning checks"
|
||||||
echo " --release-manifest <FILE> A JSON file, an alternative source of Source Link metadata"
|
echo " --release-manifest <FILE> A JSON file, an alternative source of Source Link metadata"
|
||||||
echo " --source-repository <URL> Source Link repository URL, required when building from tarball"
|
echo " --source-repository <URL> Source Link repository URL, required when building from tarball"
|
||||||
echo " --source-version <SHA> Source Link revision, required when building from tarball"
|
echo " --source-version <SHA> Source Link revision, required when building from tarball"
|
||||||
echo " --use-mono-runtime Output uses the mono runtime"
|
echo " --use-mono-runtime Output uses the mono runtime"
|
||||||
echo " --with-packages <DIR> Use the specified directory of previously-built packages"
|
echo " --with-packages <DIR> Use the specified directory of previously-built packages"
|
||||||
echo " --with-sdk <DIR> Use the SDK in the specified directory for bootstrapping"
|
echo " --with-sdk <DIR> Use the SDK in the specified directory for bootstrapping"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
echo "Advanced settings:"
|
echo "Advanced settings:"
|
||||||
echo " --ci Set when running on CI server"
|
echo " --ci Set when running on CI server"
|
||||||
echo " --clean-while-building Cleans each repo after building (reduces disk space usage, short: -cwb)"
|
echo " --clean-while-building Cleans each repo after building (reduces disk space usage, short: -cwb)"
|
||||||
echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
|
echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
|
||||||
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
|
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Command line arguments not listed above are passed thru to msbuild."
|
echo "Command line arguments not listed above are passed thru to msbuild."
|
||||||
echo "Arguments can also be passed in with a single hyphen."
|
echo "Arguments can also be passed in with a single hyphen."
|
||||||
|
@ -57,8 +57,7 @@ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
|
||||||
|
|
||||||
# Set the NUGET_PACKAGES dir so that we don't accidentally pull some packages from the global location,
|
# Set the NUGET_PACKAGES dir so that we don't accidentally pull some packages from the global location,
|
||||||
# They should be pulled from the local feeds.
|
# They should be pulled from the local feeds.
|
||||||
packagesDir="$scriptroot/prereqs/packages/"
|
packagesRestoredDir="$scriptroot/.packages/"
|
||||||
packagesRestoredDir="${packagesDir}restored/"
|
|
||||||
export NUGET_PACKAGES=$packagesRestoredDir/
|
export NUGET_PACKAGES=$packagesRestoredDir/
|
||||||
|
|
||||||
# Common settings
|
# Common settings
|
||||||
|
@ -77,6 +76,7 @@ sourceRepository=''
|
||||||
sourceVersion=''
|
sourceVersion=''
|
||||||
CUSTOM_PACKAGES_DIR=''
|
CUSTOM_PACKAGES_DIR=''
|
||||||
CUSTOM_SDK_DIR=''
|
CUSTOM_SDK_DIR=''
|
||||||
|
packagesDir="$scriptroot/prereqs/packages/"
|
||||||
packagesArchiveDir="${packagesDir}archive/"
|
packagesArchiveDir="${packagesDir}archive/"
|
||||||
packagesPreviouslySourceBuiltDir="${packagesDir}previously-source-built/"
|
packagesPreviouslySourceBuiltDir="${packagesDir}previously-source-built/"
|
||||||
|
|
||||||
|
@ -117,12 +117,12 @@ while [[ $# > 0 ]]; do
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# Source-only settings
|
# Source-only settings
|
||||||
-source-only|-so)
|
-source-only|-source-build|-so|-sb)
|
||||||
sourceOnly=true
|
sourceOnly=true
|
||||||
properties="$properties /p:DotNetBuildSourceOnly=true"
|
properties="$properties /p:DotNetBuildSourceOnly=true"
|
||||||
;;
|
;;
|
||||||
-online)
|
-online)
|
||||||
properties="$properties /p:DotNetBuildWithOnlineSources=true"
|
properties="$properties /p:DotNetBuildWithOnlineFeeds=true"
|
||||||
;;
|
;;
|
||||||
-poison)
|
-poison)
|
||||||
properties="$properties /p:EnablePoison=true"
|
properties="$properties /p:EnablePoison=true"
|
||||||
|
@ -185,6 +185,12 @@ while [[ $# > 0 ]]; do
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [[ "$ci" == true ]]; then
|
||||||
|
if [[ "$exclude_ci_binary_log" == false ]]; then
|
||||||
|
binary_log=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
. "$scriptroot/eng/common/tools.sh"
|
. "$scriptroot/eng/common/tools.sh"
|
||||||
|
|
||||||
function Build {
|
function Build {
|
||||||
|
@ -206,6 +212,10 @@ function Build {
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
if [ "$ci" == "true" ]; then
|
||||||
|
properties="$properties /p:ContinuousIntegrationBuild=true"
|
||||||
|
fi
|
||||||
|
|
||||||
"$CLI_ROOT/dotnet" build-server shutdown
|
"$CLI_ROOT/dotnet" build-server shutdown
|
||||||
|
|
||||||
if [ "$test" == "true" ]; then
|
if [ "$test" == "true" ]; then
|
||||||
|
@ -216,6 +226,9 @@ function Build {
|
||||||
# kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver
|
# 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" build-server shutdown
|
||||||
|
|
||||||
|
# Point MSBuild to the custom SDK resolvers folder, so it will pick up our custom SDK Resolver
|
||||||
|
export MSBUILDADDITIONALSDKRESOLVERSFOLDER="$scriptroot/artifacts/toolset/VSSdkResolvers/"
|
||||||
|
|
||||||
"$CLI_ROOT/dotnet" msbuild "$scriptroot/build.proj" -bl:"$scriptroot/artifacts/log/$configuration/Build.binlog" -flp:"LogFile=$scriptroot/artifacts/log/$configuration/Build.log" $properties
|
"$CLI_ROOT/dotnet" msbuild "$scriptroot/build.proj" -bl:"$scriptroot/artifacts/log/$configuration/Build.binlog" -flp:"LogFile=$scriptroot/artifacts/log/$configuration/Build.log" $properties
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
<ProductDependencies>
|
<ProductDependencies>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24075.2">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24102.4">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
<Sha>2fb543a45580400a559b5ae41c96a815ea14dac5</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ToolsetDependencies>
|
</ToolsetDependencies>
|
||||||
</Dependencies>
|
</Dependencies>
|
||||||
|
|
|
@ -22,9 +22,8 @@
|
||||||
of a .NET major or minor release, prebuilts may be needed. When the release is mature, prebuilts
|
of a .NET major or minor release, prebuilts may be needed. When the release is mature, prebuilts
|
||||||
are not necessary, and this property is removed from the file.
|
are not necessary, and this property is removed from the file.
|
||||||
-->
|
-->
|
||||||
<PrivateSourceBuiltSdkVersion>9.0.100-alpha.1.24067.1</PrivateSourceBuiltSdkVersion>
|
<PrivateSourceBuiltSdkVersion>9.0.100-preview.2.24104.1</PrivateSourceBuiltSdkVersion>
|
||||||
<PrivateSourceBuiltArtifactsVersion>9.0.100-alpha.1.24067.1</PrivateSourceBuiltArtifactsVersion>
|
<PrivateSourceBuiltArtifactsVersion>9.0.100-preview.2.24104.1</PrivateSourceBuiltArtifactsVersion>
|
||||||
<PrivateSourceBuiltPrebuiltsVersion>0.1.0-9.0.100-9</PrivateSourceBuiltPrebuiltsVersion>
|
|
||||||
<!-- msbuild -->
|
<!-- msbuild -->
|
||||||
<MicrosoftBuildVersion>15.7.179</MicrosoftBuildVersion>
|
<MicrosoftBuildVersion>15.7.179</MicrosoftBuildVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
|
@ -41,28 +41,24 @@ function Get-Usage() {
|
||||||
|
|
||||||
# Set the NUGET_PACKAGES dir so that we don't accidentally pull some packages from the global location,
|
# Set the NUGET_PACKAGES dir so that we don't accidentally pull some packages from the global location,
|
||||||
# They should be pulled from the local feeds.
|
# They should be pulled from the local feeds.
|
||||||
$env:NUGET_PACKAGES="$RepoRoot\prereqs\packages\restored\"
|
$env:NUGET_PACKAGES="$RepoRoot\.packages\"
|
||||||
|
|
||||||
if ($help) {
|
if ($help) {
|
||||||
Get-Usage
|
Get-Usage
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
$arguments=""
|
|
||||||
if ($cleanWhileBuilding) {
|
|
||||||
$arguments += " /p:CleanWhileBuilding=true"
|
|
||||||
}
|
|
||||||
|
|
||||||
function Build {
|
function Build {
|
||||||
InitializeToolset
|
InitializeToolset
|
||||||
|
|
||||||
$bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' }
|
$bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' }
|
||||||
|
$cwb = if ($cleanWhileBuilding) { '/p:CleanWhileBuilding=true' } else { '' }
|
||||||
$buildProj = Join-Path $RepoRoot 'build.proj'
|
$buildProj = Join-Path $RepoRoot 'build.proj'
|
||||||
|
|
||||||
MSBuild $buildProj `
|
MSBuild $buildProj `
|
||||||
$bl `
|
$bl `
|
||||||
/p:Configuration=$configuration `
|
/p:Configuration=$configuration `
|
||||||
$arguments `
|
$cwb `
|
||||||
@properties
|
@properties
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,6 +71,11 @@ try {
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($ci) {
|
||||||
|
if (-not $excludeCIBinarylog) {
|
||||||
|
$binaryLog = $true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Build
|
Build
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project>
|
<Project>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SkipErrorOnPrebuilts>true</SkipErrorOnPrebuilts>
|
|
||||||
<SmokeTestsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'test', 'Microsoft.DotNet.SourceBuild.SmokeTests'))</SmokeTestsDir>
|
<SmokeTestsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'test', 'Microsoft.DotNet.SourceBuild.SmokeTests'))</SmokeTestsDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
@ -9,20 +8,6 @@
|
||||||
<PoisonUsageReportFile>$(PackageReportDir)poison-usage.xml</PoisonUsageReportFile>
|
<PoisonUsageReportFile>$(PackageReportDir)poison-usage.xml</PoisonUsageReportFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Copies the output assets of the builds to the output path. -->
|
|
||||||
<Target Name="CopyBinariesToBinFolder"
|
|
||||||
AfterTargets="Build">
|
|
||||||
<ItemGroup>
|
|
||||||
<BinariesToCopy Include="$(SourceBuiltAssetsDir)*.*"
|
|
||||||
Exclude="$(SourceBuiltAssetsDir)*.nupkg;$(SourceBuiltAssetsDir)*.requires_nupkg_signing" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Copy SourceFiles="@(BinariesToCopy)"
|
|
||||||
DestinationFolder="$(SharedOutputPath)"
|
|
||||||
SkipUnchangedFiles="true"
|
|
||||||
Condition="'@(BinariesToCopy)'!=''" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!-- After building, generate a prebuilt usage report. -->
|
<!-- After building, generate a prebuilt usage report. -->
|
||||||
<Target Name="ReportPrebuiltUsage"
|
<Target Name="ReportPrebuiltUsage"
|
||||||
AfterTargets="Build"
|
AfterTargets="Build"
|
||||||
|
@ -30,45 +15,17 @@
|
||||||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="DiscoverSymbolsTarballs"
|
|
||||||
AfterTargets="Build">
|
|
||||||
<ItemGroup>
|
|
||||||
<SymbolsTarball Include="$(SharedOutputPath)Symbols.*$(ArchiveExtension)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="ExtractSymbolsTarballs"
|
|
||||||
AfterTargets="Build"
|
|
||||||
DependsOnTargets="DiscoverSymbolsTarballs"
|
|
||||||
Outputs="%(SymbolsTarball.Identity)">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<Filename>$([System.IO.Path]::GetFileName('%(SymbolsTarball.Identity)'))</Filename>
|
|
||||||
<RepositoryName>$(Filename.Split('.')[1])</RepositoryName>
|
|
||||||
<UnifiedSymbolsLayout>$(ArtifactsTmpDir)Symbols</UnifiedSymbolsLayout>
|
|
||||||
<DestinationFolder>$(UnifiedSymbolsLayout)/$(RepositoryName)</DestinationFolder>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<MakeDir Directories="$(DestinationFolder)" />
|
|
||||||
<Exec Command="tar -xzf %(SymbolsTarball.Identity) -C $(DestinationFolder)"
|
|
||||||
WorkingDirectory="$(SymbolsRoot)" />
|
|
||||||
|
|
||||||
<Delete Files="%(SymbolsTarball.Identity)" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!-- After building, repackage symbols into a single tarball. -->
|
<!-- After building, repackage symbols into a single tarball. -->
|
||||||
<Target Name="RepackageSymbols"
|
<Target Name="RepackageSymbols"
|
||||||
AfterTargets="Build"
|
AfterTargets="Build"
|
||||||
DependsOnTargets="
|
DependsOnTargets="DetermineSourceBuiltSdkVersion">
|
||||||
DetermineSourceBuiltSdkVersion;
|
|
||||||
DiscoverSymbolsTarballs;
|
|
||||||
ExtractSymbolsTarballs">
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<UnifiedSymbolsTarball>$(SharedOutputPath)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</UnifiedSymbolsTarball>
|
<UnifiedSymbolsTarball>$(ArtifactsAssetsDir)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</UnifiedSymbolsTarball>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(UnifiedSymbolsTarball)'))" />
|
||||||
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
|
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
|
||||||
WorkingDirectory="$(UnifiedSymbolsLayout)" />
|
WorkingDirectory="$(IntermediateSymbolsRootDir)" />
|
||||||
|
|
||||||
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
|
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
|
||||||
</Target>
|
</Target>
|
||||||
|
@ -79,33 +36,33 @@
|
||||||
AfterTargets="Build"
|
AfterTargets="Build"
|
||||||
DependsOnTargets="RepackageSymbols">
|
DependsOnTargets="RepackageSymbols">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SdkTarballItem Include="$(SharedOutputPath)dotnet-sdk-*$(ArchiveExtension)" />
|
<SdkTarballItem Include="$(ArtifactsAssetsDir)dotnet-sdk-*$(ArchiveExtension)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SdkSymbolsLayout>$(ArtifactsTmpDir)SdkSymbols</SdkSymbolsLayout>
|
<SdkSymbolsTarball>$(ArtifactsAssetsDir)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</SdkSymbolsTarball>
|
||||||
<SdkSymbolsTarball>$(SharedOutputPath)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</SdkSymbolsTarball>
|
|
||||||
<SdkLayout>$(ArtifactsTmpDir)Sdk</SdkLayout>
|
<IntermediateSdkSymbolsLayout>$(BaseIntermediateOutputPath)SdkSymbols</IntermediateSdkSymbolsLayout>
|
||||||
|
<IntermediateSdkLayout>$(BaseIntermediateOutputPath)Sdk</IntermediateSdkLayout>
|
||||||
<SdkTarball>%(SdkTarballItem.Identity)</SdkTarball>
|
<SdkTarball>%(SdkTarballItem.Identity)</SdkTarball>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<MakeDir Directories="$(SdkLayout)" />
|
<MakeDir Directories="$(IntermediateSdkLayout)" />
|
||||||
<Exec Command="tar -xzf $(SdkTarball) -C $(SdkLayout)"
|
<Exec Command="tar -xzf $(SdkTarball) -C $(IntermediateSdkLayout)" />
|
||||||
WorkingDirectory="$(SharedOutputPath)" />
|
|
||||||
|
|
||||||
<CreateSdkSymbolsLayout SdkLayoutPath="$(SdkLayout)"
|
<CreateSdkSymbolsLayout SdkLayoutPath="$(IntermediateSdkLayout)"
|
||||||
AllSymbolsPath="$(UnifiedSymbolsLayout)"
|
AllSymbolsPath="$(IntermediateSymbolsRootDir)"
|
||||||
SdkSymbolsLayoutPath="$(SdkSymbolsLayout)"
|
SdkSymbolsLayoutPath="$(IntermediateSdkSymbolsLayout)"
|
||||||
FailOnMissingPDBs="false" />
|
FailOnMissingPDBs="false" />
|
||||||
|
|
||||||
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
|
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
|
||||||
WorkingDirectory="$(SdkSymbolsLayout)" />
|
WorkingDirectory="$(IntermediateSdkSymbolsLayout)" />
|
||||||
|
|
||||||
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
|
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
|
||||||
|
|
||||||
<RemoveDir Directories="$(UnifiedSymbolsLayout)" />
|
<RemoveDir Directories="$(IntermediateSymbolsRootDir)" />
|
||||||
<RemoveDir Directories="$(SdkSymbolsLayout)" />
|
<RemoveDir Directories="$(IntermediateSdkSymbolsLayout)" />
|
||||||
<RemoveDir Directories="$(SdkLayout)" />
|
<RemoveDir Directories="$(IntermediateSdkLayout)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -126,21 +83,22 @@
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
Inputs="$(MSBuildProjectFullPath)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)ReportPoisonUsage.complete" >
|
Outputs="$(BaseIntermediateOutputPath)ReportPoisonUsage.complete" >
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<FinalCliTarball Include="$(SharedOutputPath)**/*$(ArchiveExtension)" />
|
<!-- Exclude the Private.SourceBuilt.Artifacts archive from poison usage scan. -->
|
||||||
|
<PoisonFileToCheck Include="$(ArtifactsAssetsDir)*$(ArchiveExtension)" />
|
||||||
|
<PoisonFileToCheck Remove="$(ArtifactsAssetsDir)$(SourceBuiltArtifactsTarballName)*" />
|
||||||
|
<!-- Include shipping nuget packages. -->
|
||||||
|
<PoisonFileToCheck Include="$(ArtifactsShippingPackagesDir)*.nupkg" />
|
||||||
|
<!-- Add and mark SBRP packages to validate that they have the correct poison attribute. -->
|
||||||
|
<PoisonFileToCheck Include="$(ReferencePackagesDir)**\*.nupkg" IsSourceBuildReferencePackage="true" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Checking @(FinalCliTarball) for poisoned files." />
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Checking @(PoisonFileToCheck) for poisoned files." />
|
||||||
|
|
||||||
<ItemGroup>
|
<CheckForPoison FilesToCheck="@(PoisonFileToCheck)"
|
||||||
<NonShippingPackagesList Include="$(PackageListsDir)**/$(NonShippingPackagesListPrefix)*" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<CheckForPoison FilesToCheck="@(FinalCliTarball)"
|
|
||||||
ProjectDirPath="$(RepoRoot)"
|
ProjectDirPath="$(RepoRoot)"
|
||||||
HashCatalogFilePath="$(PoisonReportDataFile)"
|
HashCatalogFilePath="$(PoisonReportDataFile)"
|
||||||
MarkerFileName="$(PoisonMarkerFile)"
|
MarkerFileName="$(PoisonMarkerFile)"
|
||||||
PoisonReportOutputFilePath="$(PoisonUsageReportFile)"
|
PoisonReportOutputFilePath="$(PoisonUsageReportFile)" />
|
||||||
NonShippingPackagesListFiles="@(NonShippingPackagesList)" />
|
|
||||||
|
|
||||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done checking for poison." />
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done checking for poison." />
|
||||||
|
|
||||||
|
@ -170,8 +128,8 @@
|
||||||
|
|
||||||
<Target Name="RunSmokeTest">
|
<Target Name="RunSmokeTest">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SdkTarballItem Include="$(SharedOutputPath)**/dotnet-sdk*$(ArchiveExtension)" />
|
<SdkTarballItem Include="$(ArtifactsAssetsDir)dotnet-sdk*$(ArchiveExtension)" />
|
||||||
<SourceBuiltArtifactsItem Include="$(SharedOutputPath)**/$(SourceBuiltArtifactsTarballName).*$(ArchiveExtension)" />
|
<SourceBuiltArtifactsItem Include="$(ArtifactsAssetsDir)$(SourceBuiltArtifactsTarballName).*$(ArchiveExtension)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
@ -218,17 +176,18 @@
|
||||||
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
||||||
Condition="'@(SmokeTestsPrereqs->Count())' != '0'">
|
Condition="'@(SmokeTestsPrereqs->Count())' != '0'">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SmokeTestPrereqsTarballName>$(SharedOutputPath)dotnet-smoke-test-prereqs.$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</SmokeTestPrereqsTarballName>
|
<SmokeTestPrereqsTarball>$(ArtifactsAssetsDir)dotnet-smoke-test-prereqs.$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</SmokeTestPrereqsTarball>
|
||||||
<SmokeTestsPrereqPackagesDir>$(SmokeTestsArtifactsDir)prereq-packages/</SmokeTestsPrereqPackagesDir>
|
<SmokeTestsPrereqPackagesDir>$(SmokeTestsArtifactsDir)prereq-packages/</SmokeTestsPrereqPackagesDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Copy SourceFiles="@(SmokeTestsPrereqs)"
|
<Copy SourceFiles="@(SmokeTestsPrereqs)"
|
||||||
DestinationFolder="$(SmokeTestsPrereqPackagesDir)" />
|
DestinationFolder="$(SmokeTestsPrereqPackagesDir)" />
|
||||||
|
|
||||||
<Exec Command="tar --numeric-owner -czf $(SmokeTestPrereqsTarballName) ."
|
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(SmokeTestPrereqsTarball)'))" />
|
||||||
|
<Exec Command="tar --numeric-owner -czf $(SmokeTestPrereqsTarball) ."
|
||||||
WorkingDirectory="$(SmokeTestsPrereqPackagesDir)"/>
|
WorkingDirectory="$(SmokeTestsPrereqPackagesDir)"/>
|
||||||
|
|
||||||
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarballName)'" />
|
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarball)'" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="CreatePrebuiltsTarball"
|
<Target Name="CreatePrebuiltsTarball"
|
||||||
|
@ -251,13 +210,14 @@
|
||||||
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
||||||
Condition="'@(PrebuiltFile->Count())' != '0'">
|
Condition="'@(PrebuiltFile->Count())' != '0'">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TarballFilePath>$(SharedOutputPath)$(SourceBuiltPrebuiltsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</TarballFilePath>
|
<PrebuiltsTarball>$(ArtifactsAssetsDir)$(SourceBuiltPrebuiltsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</PrebuiltsTarball>
|
||||||
<TarballWorkingDir>$(ResultingPrebuiltPackagesDir)</TarballWorkingDir>
|
<PrebuiltsTarballWorkingDir>$(ResultingPrebuiltPackagesDir)</PrebuiltsTarballWorkingDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Exec Command="tar --numeric-owner -zcf $(TarballFilePath) -C $(TarballWorkingDir) ." />
|
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(PrebuiltsTarball)'))" />
|
||||||
|
<Exec Command="tar --numeric-owner -zcf $(PrebuiltsTarball) -C $(PrebuiltsTarballWorkingDir) ." />
|
||||||
|
|
||||||
<Message Text="Tarball '$(TarballFilePath)' was successfully created from '$(TarballWorkingDir)'" Importance="High" />
|
<Message Text="Tarball '$(PrebuiltsTarball)' was successfully created from '$(PrebuiltsTarballWorkingDir)'" Importance="High" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="ErrorOnPrebuilts"
|
<Target Name="ErrorOnPrebuilts"
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
# This is the dotnet/dotnet pipeline that is triggered every weekday at midnight PST (08:00 UTC) for "main" and when changes are pushed to release/* and internal/release/* branches.
|
|
||||||
|
|
||||||
schedules:
|
|
||||||
- cron: '0 8 * * Mon-Fri'
|
|
||||||
displayName: Weekday midnight build
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
batch: true
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
batch: true
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- release/*
|
|
||||||
- internal/release/*
|
|
||||||
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- ${{ if ne(variables['Build.Reason'], 'Schedule') }}:
|
|
||||||
- template: templates/stages/vmr-scan.yml
|
|
||||||
|
|
||||||
- template: /src/installer/eng/pipelines/templates/stages/vmr-cross-build.yml
|
|
||||||
parameters:
|
|
||||||
isBuiltFromVmr: true
|
|
||||||
isLiteBuild: false
|
|
|
@ -1,22 +0,0 @@
|
||||||
# This is the dotnet/dotnet-lite pipeline that is triggered by pushes to main and PRs targetting main and release/*.
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
batch: true
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
- release/*
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
|
||||||
- template: templates/stages/vmr-scan.yml
|
|
||||||
|
|
||||||
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
|
|
||||||
parameters:
|
|
||||||
isBuiltFromVmr: true
|
|
||||||
isLiteBuild: true
|
|
|
@ -1,26 +1,58 @@
|
||||||
# This is the dotnet/dotnet pipeline that is triggered every weekday at midnight PST (08:00 UTC) for "main" and when changes are pushed to release/* and internal/release/* branches.
|
# This yml is used by these pipelines and triggers:
|
||||||
|
# NOTE: the triggers are defined in the Azure DevOps UI as they are too complex
|
||||||
|
#
|
||||||
|
# - dotnet-source-build (public)
|
||||||
|
# - PR: ultralite build
|
||||||
|
# - CI: release/* only, every batched commit, full build
|
||||||
|
# - Schedule: main only, full build
|
||||||
|
#
|
||||||
|
# - dotnet-unified-build (public)
|
||||||
|
# - PR: lite build
|
||||||
|
# - CI: release/* only, every batched commit, full build
|
||||||
|
# - Schedule: main only, full build
|
||||||
|
#
|
||||||
|
# - dotnet-source-build (internal)
|
||||||
|
# - PR: ultralite build
|
||||||
|
# - CI: release/* and internal/release/* only, every batched commit, full build
|
||||||
|
# - Schedule: main only, full build
|
||||||
|
#
|
||||||
|
# - dotnet-source-build-lite (internal)
|
||||||
|
# - PR: release/* and main, lite build, on-demand trigger
|
||||||
|
# - CI: main only, every batched commit, lite build
|
||||||
|
#
|
||||||
|
# - dotnet-unified-build (internal)
|
||||||
|
# - PR: lite build
|
||||||
|
# - CI: release/*, internal/release/* and main, every batched commit, full build
|
||||||
|
|
||||||
schedules:
|
variables:
|
||||||
- cron: '0 8 * * Mon-Fri'
|
# enable source-only build for pipelines that contain the -source-build string
|
||||||
displayName: Weekday midnight build
|
- name: isSourceOnlyBuild
|
||||||
branches:
|
value: ${{ contains(variables['Build.DefinitionName'], '-source-build') }}
|
||||||
include:
|
|
||||||
- main
|
|
||||||
batch: true
|
|
||||||
|
|
||||||
trigger:
|
- name: isSourceOnlyBuildLite
|
||||||
batch: true
|
value: ${{ contains(variables['Build.DefinitionName'], '-source-build-lite') }}
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- release/*
|
|
||||||
- internal/release/*
|
|
||||||
|
|
||||||
pr: none
|
- name: isScheduleTrigger
|
||||||
|
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
|
||||||
|
|
||||||
|
- name: isPRTrigger
|
||||||
|
value: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- template: templates/stages/vmr-scan.yml
|
- ${{ if and(ne(variables.isPRTrigger, 'true'), eq(variables['System.TeamProject'], 'internal')) }}:
|
||||||
|
- template: templates/stages/vmr-scan.yml
|
||||||
|
|
||||||
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
|
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
isBuiltFromVmr: true
|
isBuiltFromVmr: true
|
||||||
isLiteBuild: false
|
isSourceOnlyBuild: ${{ variables.isSourceOnlyBuild }}
|
||||||
|
${{ if eq(variables.isScheduleTrigger, 'true') }}:
|
||||||
|
scope: full
|
||||||
|
${{ elseif eq(variables.isSourceOnlyBuildLite, 'true') }}:
|
||||||
|
scope: lite
|
||||||
|
${{ elseif and(eq(variables.isPRTrigger, 'true'), eq(variables.isSourceOnlyBuild, 'true')) }}:
|
||||||
|
scope: ultralite
|
||||||
|
${{ elseif and(eq(variables.isPRTrigger, 'true'), ne(variables.isSourceOnlyBuild, 'true')) }}:
|
||||||
|
scope: lite
|
||||||
|
${{ else }}:
|
||||||
|
scope: full
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
<Project Sdk="Microsoft.Build.NoTargets">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>$(NetCurrent)</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<Target Name="GenerateGraphViz"
|
|
||||||
AfterTargets="Build">
|
|
||||||
<ItemGroup>
|
|
||||||
<RepoProject Include="$(RepoProjectsDir)*.proj"
|
|
||||||
Exclude="$(RepoProjectsDir)dotnet.proj;
|
|
||||||
$(RepoProjectsDir)package-source-build.proj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(RepoProject)"
|
|
||||||
Targets="GetRepositoryReferences">
|
|
||||||
<Output TaskParameter="TargetOutputs" ItemName="RepoReference" />
|
|
||||||
</MSBuild>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<RepoLink Include="%(RepoReference.MSBuildSourceProjectFile)" SourceRepo="%(RepoReference.Identity)" />
|
|
||||||
<RepoLink TargetRepo="%(Filename)" />
|
|
||||||
<RepoLink Text=""%(SourceRepo)" -> "%(TargetRepo)"" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<GraphVizFile>$(BaseIntermediateOutputPath)graphviz.dot</GraphVizFile>
|
|
||||||
<GraphVizPngFile>$(BaseIntermediateOutputPath)graphviz.png</GraphVizPngFile>
|
|
||||||
<GraphVizContent>digraph {
|
|
||||||
graph [ dpi = 150 ]
|
|
||||||
@(RepoLink -> '%(Text)')
|
|
||||||
}</GraphVizContent>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<WriteLinesToFile Lines="$(GraphVizContent)"
|
|
||||||
File="$(GraphVizFile)"
|
|
||||||
Overwrite="True" />
|
|
||||||
|
|
||||||
<Message Text="$(MSBuildProjectName) -> $(GraphVizFile)" Importance="High" />
|
|
||||||
|
|
||||||
<Exec Command="$([MSBuild]::NormalizePath('$(GraphVizDir)', 'dot')) $(GraphVizFile) -Tpng:cairo -o $(GraphVizPngFile)"
|
|
||||||
Condition="'$(GraphVizDir)' != ''" />
|
|
||||||
|
|
||||||
<Message Text="$(MSBuildProjectName) -> $(GraphVizPngFile)"
|
|
||||||
Importance="High"
|
|
||||||
Condition="'$(GraphVizDir)' != ''" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
|
|
@ -67,7 +67,7 @@
|
||||||
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" />
|
Properties="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" />
|
||||||
|
|
||||||
<MSBuild Projects="tasks\SourceBuild.MSBuildSdkResolver\SourceBuild.MSBuildSdkResolver.csproj"
|
<MSBuild Projects="tasks\SourceBuild.MSBuildSdkResolver\SourceBuild.MSBuildSdkResolver.csproj"
|
||||||
Targets="Build;InstallResolver" />
|
Targets="Build" />
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)BuildMSBuildSdkResolver.complete" AlwaysCreate="true">
|
<Touch Files="$(BaseIntermediateOutputPath)BuildMSBuildSdkResolver.complete" AlwaysCreate="true">
|
||||||
|
@ -75,6 +75,10 @@
|
||||||
</Touch>
|
</Touch>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<SourceBuildMSBuildSdkResolverManifestPath>$([MSBuild]::NormalizePath('$(VSMSBuildSdkResolversDir)', 'SourceBuild.MSBuildSdkResolver', 'SourceBuild.MSBuildSdkResolver.xml'))</SourceBuildMSBuildSdkResolverManifestPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Build msbuild tasks. -->
|
<!-- Build msbuild tasks. -->
|
||||||
<Target Name="BuildXPlatTasks"
|
<Target Name="BuildXPlatTasks"
|
||||||
DependsOnTargets="UnpackTarballs;BuildMSBuildSdkResolver"
|
DependsOnTargets="UnpackTarballs;BuildMSBuildSdkResolver"
|
||||||
|
|
|
@ -28,6 +28,8 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
/// The files to check for poison and/or hash matches. Zips and
|
/// The files to check for poison and/or hash matches. Zips and
|
||||||
/// nupkgs will be extracted and checked recursively.
|
/// nupkgs will be extracted and checked recursively.
|
||||||
/// %(Identity): Path to the initial set of files.
|
/// %(Identity): Path to the initial set of files.
|
||||||
|
/// Add SourceBuildReferencePackage metadata and set to true to
|
||||||
|
/// indicate that the file comes from SBRP.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required]
|
[Required]
|
||||||
public ITaskItem[] FilesToCheck { get; set; }
|
public ITaskItem[] FilesToCheck { get; set; }
|
||||||
|
@ -66,11 +68,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string OverrideTempPath { get; set; }
|
public string OverrideTempPath { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Array of files containing lists of non-shipping packages
|
|
||||||
/// </summary>
|
|
||||||
public ITaskItem[] NonShippingPackagesListFiles { get; set; }
|
|
||||||
|
|
||||||
private static readonly string[] ZipFileExtensions =
|
private static readonly string[] ZipFileExtensions =
|
||||||
{
|
{
|
||||||
".zip",
|
".zip",
|
||||||
|
@ -152,11 +149,13 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
|
|
||||||
private const string SbrpAttributeType = "System.Reflection.AssemblyMetadataAttribute";
|
private const string SbrpAttributeType = "System.Reflection.AssemblyMetadataAttribute";
|
||||||
|
|
||||||
private record CandidateFileEntry(string ExtractedPath, string DisplayPath);
|
private const string SbrpMetadataName = "IsSourceBuildReferencePackage";
|
||||||
|
|
||||||
|
private record CandidateFileEntry(string ExtractedPath, string DisplayPath, bool IsSourceBuildReferencePackage);
|
||||||
|
|
||||||
public override bool Execute()
|
public override bool Execute()
|
||||||
{
|
{
|
||||||
IEnumerable<PoisonedFileEntry> poisons = GetPoisonedFiles(FilesToCheck.Select(f => f.ItemSpec), HashCatalogFilePath, MarkerFileName);
|
IEnumerable<PoisonedFileEntry> poisons = GetPoisonedFiles(FilesToCheck, HashCatalogFilePath, MarkerFileName);
|
||||||
|
|
||||||
// if we should write out the poison report, do that
|
// if we should write out the poison report, do that
|
||||||
if (!string.IsNullOrWhiteSpace(PoisonReportOutputFilePath))
|
if (!string.IsNullOrWhiteSpace(PoisonReportOutputFilePath))
|
||||||
|
@ -184,13 +183,14 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
/// <param name="catalogedPackagesFilePath">File path to the file hash catalog</param>
|
/// <param name="catalogedPackagesFilePath">File path to the file hash catalog</param>
|
||||||
/// <param name="markerFileName">Marker file name to check for in poisoned nupkgs</param>
|
/// <param name="markerFileName">Marker file name to check for in poisoned nupkgs</param>
|
||||||
/// <returns>List of poisoned packages and files found and reasons for each</returns>
|
/// <returns>List of poisoned packages and files found and reasons for each</returns>
|
||||||
internal IEnumerable<PoisonedFileEntry> GetPoisonedFiles(IEnumerable<string> initialCandidates, string catalogedPackagesFilePath, string markerFileName)
|
internal IEnumerable<PoisonedFileEntry> GetPoisonedFiles(IEnumerable<ITaskItem> initialCandidates, string catalogedPackagesFilePath, string markerFileName)
|
||||||
{
|
{
|
||||||
IEnumerable<string> nonShippingPackages = GetAllNonShippingPackages();
|
|
||||||
IEnumerable<CatalogPackageEntry> catalogedPackages = ReadCatalog(catalogedPackagesFilePath);
|
IEnumerable<CatalogPackageEntry> catalogedPackages = ReadCatalog(catalogedPackagesFilePath);
|
||||||
var poisons = new List<PoisonedFileEntry>();
|
var poisons = new List<PoisonedFileEntry>();
|
||||||
var candidateQueue = new Queue<CandidateFileEntry>(initialCandidates.Select(candidate =>
|
var candidateQueue = new Queue<CandidateFileEntry>(initialCandidates.Select(candidate =>
|
||||||
new CandidateFileEntry(candidate, Utility.MakeRelativePath(candidate, ProjectDirPath))));
|
new CandidateFileEntry(candidate.ItemSpec,
|
||||||
|
Utility.MakeRelativePath(candidate.ItemSpec, ProjectDirPath),
|
||||||
|
candidate.GetMetadata(SbrpMetadataName) == "true")));
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(OverrideTempPath))
|
if (!string.IsNullOrWhiteSpace(OverrideTempPath))
|
||||||
{
|
{
|
||||||
|
@ -209,12 +209,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
{
|
{
|
||||||
Log.LogMessage($"Zip or NuPkg file to check: {candidate.ExtractedPath}");
|
Log.LogMessage($"Zip or NuPkg file to check: {candidate.ExtractedPath}");
|
||||||
|
|
||||||
// Skip non-shipping packages
|
|
||||||
if (nonShippingPackages.Contains(Path.GetFileName(candidate.ExtractedPath), StringComparer.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tempCheckingDir = Path.Combine(tempDir.FullName, Path.GetFileNameWithoutExtension(candidate.ExtractedPath));
|
var tempCheckingDir = Path.Combine(tempDir.FullName, Path.GetFileNameWithoutExtension(candidate.ExtractedPath));
|
||||||
PoisonedFileEntry result = ExtractAndCheckZipFileOnly(catalogedPackages, candidate, markerFileName, tempCheckingDir, candidateQueue);
|
PoisonedFileEntry result = ExtractAndCheckZipFileOnly(catalogedPackages, candidate, markerFileName, tempCheckingDir, candidateQueue);
|
||||||
if (result != null)
|
if (result != null)
|
||||||
|
@ -237,21 +231,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
return poisons;
|
return poisons;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<string> GetAllNonShippingPackages()
|
|
||||||
{
|
|
||||||
if (NonShippingPackagesListFiles != null)
|
|
||||||
{
|
|
||||||
return NonShippingPackagesListFiles
|
|
||||||
.SelectMany(item => File.ReadAllLines(item.ItemSpec))
|
|
||||||
.Distinct()
|
|
||||||
.ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return Enumerable.Empty<string>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static PoisonedFileEntry CheckSingleFile(IEnumerable<CatalogPackageEntry> catalogedPackages, CandidateFileEntry candidate)
|
private static PoisonedFileEntry CheckSingleFile(IEnumerable<CatalogPackageEntry> catalogedPackages, CandidateFileEntry candidate)
|
||||||
{
|
{
|
||||||
// skip some common files that get copied verbatim from nupkgs - LICENSE, _._, etc as well as
|
// skip some common files that get copied verbatim from nupkgs - LICENSE, _._, etc as well as
|
||||||
|
@ -303,7 +282,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
AssemblyName asm = AssemblyName.GetAssemblyName(fileToCheck);
|
AssemblyName asm = AssemblyName.GetAssemblyName(fileToCheck);
|
||||||
if (!candidate.DisplayPath.Contains("SourceBuildReferencePackages") && IsAssemblyFromSbrp(fileToCheck))
|
if (!candidate.IsSourceBuildReferencePackage && IsAssemblyFromSbrp(fileToCheck))
|
||||||
{
|
{
|
||||||
poisonEntry.Type |= PoisonType.SourceBuildReferenceAssembly;
|
poisonEntry.Type |= PoisonType.SourceBuildReferenceAssembly;
|
||||||
}
|
}
|
||||||
|
@ -451,7 +430,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
||||||
{
|
{
|
||||||
string displayPath = $"{candidate.DisplayPath}/{child.Replace(tempDir, string.Empty).TrimStart(Path.DirectorySeparatorChar)}";
|
string displayPath = $"{candidate.DisplayPath}/{child.Replace(tempDir, string.Empty).TrimStart(Path.DirectorySeparatorChar)}";
|
||||||
|
|
||||||
futureFilesToCheck.Enqueue(new CandidateFileEntry(child, displayPath));
|
futureFilesToCheck.Enqueue(new CandidateFileEntry(child, displayPath, candidate.IsSourceBuildReferencePackage));
|
||||||
}
|
}
|
||||||
|
|
||||||
return poisonEntry.Type != PoisonType.None ? poisonEntry : null;
|
return poisonEntry.Type != PoisonType.None ? poisonEntry : null;
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool BuildWithOnlineSources { get; set; }
|
public bool BuildWithOnlineFeeds { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A list of prefix strings that make the task keep a package source unconditionally. For
|
/// A list of prefix strings that make the task keep a package source unconditionally. For
|
||||||
|
@ -56,7 +56,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
||||||
}
|
}
|
||||||
|
|
||||||
string feedUrl = e.Attribute("value").Value;
|
string feedUrl = e.Attribute("value").Value;
|
||||||
if (BuildWithOnlineSources)
|
if (BuildWithOnlineFeeds)
|
||||||
{
|
{
|
||||||
return !( feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/_packaging", StringComparison.OrdinalIgnoreCase) ||
|
return !( feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/_packaging", StringComparison.OrdinalIgnoreCase) ||
|
||||||
feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/internal/_packaging", StringComparison.OrdinalIgnoreCase) );
|
feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/internal/_packaging", StringComparison.OrdinalIgnoreCase) );
|
||||||
|
|
|
@ -27,7 +27,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool BuildWithOnlineSources { get; set; }
|
public bool BuildWithOnlineFeeds { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A list of all source-build specific NuGet sources.
|
/// A list of all source-build specific NuGet sources.
|
||||||
|
@ -54,7 +54,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
||||||
.Distinct()
|
.Distinct()
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
if (!BuildWithOnlineSources)
|
if (!BuildWithOnlineFeeds)
|
||||||
{
|
{
|
||||||
// When building offline remove all packageSourceMappings.
|
// When building offline remove all packageSourceMappings.
|
||||||
pkgSrcMappingElement?.ReplaceNodes(new XElement("clear"));
|
pkgSrcMappingElement?.ReplaceNodes(new XElement("clear"));
|
||||||
|
|
|
@ -4,20 +4,23 @@
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="InstallResolver">
|
|
||||||
<PropertyGroup>
|
|
||||||
<SourceBuildMSBuildSdkResolverPath>$([MSBuild]::NormalizePath('$(DotNetRoot)', 'sdk', '$(NETCoreSdkVersion)', 'SdkResolvers', '$(MSBuildProjectName)', '$(MSBuildProjectName).dll'))</SourceBuildMSBuildSdkResolverPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<Copy SourceFiles="$(TargetPath)" DestinationFiles="$(SourceBuildMSBuildSdkResolverPath)" />
|
|
||||||
<Message Text="Adding resolver to SDK: $(MSBuildProjectName) -> $(SourceBuildMSBuildSdkResolverPath)" Importance="High" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime"/>
|
||||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
|
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<SourceBuildMSBuildSdkResolverManifestPath>$([MSBuild]::NormalizePath('$(VSMSBuildSdkResolversDir)', '$(MSBuildProjectName)', '$(MSBuildProjectName).xml'))</SourceBuildMSBuildSdkResolverManifestPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Target Name="InstallResolver" BeforeTargets="PrepareForRun">
|
||||||
|
<WriteLinesToFile
|
||||||
|
File="$(SourceBuildMSBuildSdkResolverManifestPath)"
|
||||||
|
Lines="<SdkResolver><Path>$(TargetPath)</Path></SdkResolver>"
|
||||||
|
Overwrite="true"
|
||||||
|
WriteOnlyWhenDifferent="true" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -12,17 +12,17 @@ using System.Linq;
|
||||||
namespace Microsoft.DotNet.SourceBuild.Tasks
|
namespace Microsoft.DotNet.SourceBuild.Tasks
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Extends the SDK to handle "SOURCE_BUILD_SDK_*" override environment variables. Each override
|
/// Extends the SDK to handle "SOURCE_BUILT_SDK_*" override environment variables. Each override
|
||||||
/// should provide a set of 3 environment variables:
|
/// should provide a set of 3 environment variables:
|
||||||
///
|
///
|
||||||
/// SOURCE_BUILD_SDK_ID_EXAMPLE=Your.Sdk.Example
|
/// SOURCE_BUILT_SDK_ID_EXAMPLE=Your.Sdk.Example
|
||||||
/// ID of the SDK nuget package to override.
|
/// ID of the SDK nuget package to override.
|
||||||
///
|
///
|
||||||
/// SOURCE_BUILD_SDK_DIR_EXAMPLE=/git/repo/bin/extracted/Your.Sdk.Example/
|
/// SOURCE_BUILT_SDK_DIR_EXAMPLE=/git/repo/bin/extracted/Your.Sdk.Example/
|
||||||
/// Directory where the sdk/Sdk.props and/or sdk/Sdk.targets files are located. This should be
|
/// Directory where the sdk/Sdk.props and/or sdk/Sdk.targets files are located. This should be
|
||||||
/// the directory where the override SDK package is extracted.
|
/// the directory where the override SDK package is extracted.
|
||||||
///
|
///
|
||||||
/// SOURCE_BUILD_SDK_VERSION_EXAMPLE=1.0.0-source-built
|
/// SOURCE_BUILT_SDK_VERSION_EXAMPLE=1.0.0-source-built
|
||||||
/// (Optional) Version of the SDK package to use. This is informational.
|
/// (Optional) Version of the SDK package to use. This is informational.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SourceBuiltSdkResolver : SdkResolver
|
public class SourceBuiltSdkResolver : SdkResolver
|
||||||
|
@ -54,7 +54,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
|
||||||
|
|
||||||
void LogMessage(string message)
|
void LogMessage(string message)
|
||||||
{
|
{
|
||||||
resolverContext.Logger.LogMessage($"[{Name}] {message}", MessageImportance.High);
|
resolverContext.Logger.LogMessage($"[{Name}] {message}", MessageImportance.Low);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (overrides.Any())
|
if (overrides.Any())
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
{
|
{
|
||||||
"tools": {
|
"tools": {
|
||||||
"dotnet": "9.0.100-alpha.1.24067.4"
|
"dotnet": "9.0.100-preview.2.24103.2"
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.Build.NoTargets": "3.7.0",
|
"Microsoft.Build.NoTargets": "3.7.0",
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24075.2"
|
"Microsoft.Build.Traversal": "3.4.0",
|
||||||
|
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24102.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,25 +15,41 @@
|
||||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||||
|
|
||||||
<ProjectDirectory>$([MSBuild]::NormalizeDirectory('$(SrcDir)', '$(RepositoryName)'))</ProjectDirectory>
|
<ProjectDirectory>$([MSBuild]::NormalizeDirectory('$(SrcDir)', '$(RepositoryName)'))</ProjectDirectory>
|
||||||
<PackagesOutput>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'packages', '$(Configuration)', 'NonShipping'))</PackagesOutput>
|
|
||||||
|
|
||||||
<!-- Paths to the version props files -->
|
<!-- Paths to the version props files -->
|
||||||
<PackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
|
<PackageVersionsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'PackageVersions'))</PackageVersionsDir>
|
||||||
<CurrentSourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Current.props</CurrentSourceBuiltPackageVersionPropsPath>
|
<PackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
|
||||||
<PreviouslySourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Previous.props</PreviouslySourceBuiltPackageVersionPropsPath>
|
<CurrentSourceBuiltPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Current.props</CurrentSourceBuiltPackageVersionPropsPath>
|
||||||
<SnapshotPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
|
<PreviouslySourceBuiltPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Previous.props</PreviouslySourceBuiltPackageVersionPropsPath>
|
||||||
|
<SnapshotPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
|
||||||
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
|
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
|
||||||
|
|
||||||
<GlobalJsonFile Condition="'$(GlobalJsonFile)' == '' and Exists('$(ProjectDirectory)global.json')">$(ProjectDirectory)global.json</GlobalJsonFile>
|
<GlobalJsonFile Condition="'$(GlobalJsonFile)' == '' and Exists('$(ProjectDirectory)global.json')">$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.config')">$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.config')">$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.Config')">$(ProjectDirectory)NuGet.Config</NuGetConfigFile>
|
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.Config')">$(ProjectDirectory)NuGet.Config</NuGetConfigFile>
|
||||||
|
|
||||||
|
<OriginalNuGetConfigFile>$(NuGetConfigFile)</OriginalNuGetConfigFile>
|
||||||
|
<!-- Update nuget.config property to point to modified file that will be created/updated during build. -->
|
||||||
|
<NuGetConfigFile Condition="'$(OriginalNuGetConfigFile)' != ''">$(BaseIntermediateOutputPath)$([System.IO.Path]::GetFileName('$(OriginalNuGetConfigFile)'))</NuGetConfigFile>
|
||||||
|
|
||||||
<SourceBuiltSdksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))</SourceBuiltSdksDir>
|
<SourceBuiltSdksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))</SourceBuiltSdksDir>
|
||||||
|
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsShippingPackagesDir>
|
||||||
|
<RepoArtifactsShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsShippingPackagesDir>
|
||||||
|
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' != 'source-build-reference-packages'">$([MSBuild]::NormalizeDirectory('$(ArtifactsNonShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsNonShippingPackagesDir>
|
||||||
|
<RepoArtifactsNonShippingPackagesDir Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</RepoArtifactsNonShippingPackagesDir>
|
||||||
|
|
||||||
|
|
||||||
<!-- Set the bootstrap version to the VMR's version if empty. (no bootstrap set). -->
|
<!-- Set the bootstrap version to the VMR's version if empty. (no bootstrap set). -->
|
||||||
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
|
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<!-- Get Microsoft.Build.NoTargets and Microsoft.Build.Traversal versions from VMR's global.json -->
|
||||||
|
<VMRGlobalJsonContents>$([System.IO.File]::ReadAllText($(RepoRoot)global.json))</VMRGlobalJsonContents>
|
||||||
|
<NoTargetsSdkVersion>$([System.Text.RegularExpressions.Regex]::Match($(VMRGlobalJsonContents), '"Microsoft.Build.NoTargets": "([^"]*)"').Groups.get_Item(1))</NoTargetsSdkVersion>
|
||||||
|
<TraversalSdkVersion>$([System.Text.RegularExpressions.Regex]::Match($(VMRGlobalJsonContents), '"Microsoft.Build.Traversal": "([^"]*)"').Groups.get_Item(1))</TraversalSdkVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(BuildOS)' == 'windows'">
|
<PropertyGroup Condition="'$(BuildOS)' == 'windows'">
|
||||||
<FlagParameterPrefix>-</FlagParameterPrefix>
|
<FlagParameterPrefix>-</FlagParameterPrefix>
|
||||||
<ArcadeFalseBoolBuildArg>0</ArcadeFalseBoolBuildArg>
|
<ArcadeFalseBoolBuildArg>0</ArcadeFalseBoolBuildArg>
|
||||||
|
@ -59,7 +75,9 @@
|
||||||
<!-- Indicate that the build is being run from the orchestrator -->
|
<!-- Indicate that the build is being run from the orchestrator -->
|
||||||
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs>
|
||||||
<BuildArgs Condition="'$(CrossBuild)' == 'true'">$(BuildArgs) /p:CrossBuild=true</BuildArgs>
|
<BuildArgs Condition="'$(CrossBuild)' == 'true'">$(BuildArgs) /p:CrossBuild=true</BuildArgs>
|
||||||
<BuildArgs Condition="'$(DotNetBuildSkipTests)' == 'true'">$(BuildArgs) /p:DotNetBuildSkipTests=true</BuildArgs>
|
<!-- Only pass when enabled to reduce command line noise. -->
|
||||||
|
<BuildArgs Condition="'$(DotNetBuildTests)' == 'true'">$(BuildArgs) /p:DotNetBuildTests=true</BuildArgs>
|
||||||
|
<BuildArgs Condition="'$(NuGetConfigFile)' != ''">$(BuildArgs) /p:RestoreConfigFile=$(NuGetConfigFile)</BuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
||||||
|
@ -68,6 +86,7 @@
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<BuildArgs>$(BuildArgs) /p:ArcadeBuildFromSource=true</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:ArcadeBuildFromSource=true</BuildArgs>
|
||||||
|
<BuildArgs>$(BuildArgs) /p:DotNetBuildSourceOnly=true</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
|
||||||
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
||||||
|
@ -81,12 +100,6 @@
|
||||||
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
|
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Cross-build property setting from OverrideTargetRid -->
|
|
||||||
<PropertyGroup Condition="'$(OverrideTargetRid)' != ''">
|
|
||||||
<OverrideTargetOS>$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.LastIndexOf('-'))))</OverrideTargetOS>
|
|
||||||
<OverrideTargetArch>$(OverrideTargetRid.Substring($(OverrideTargetRid.LastIndexOf('-'))).TrimStart('-'))</OverrideTargetArch>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
||||||
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetRoot)" />
|
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetRoot)" />
|
||||||
|
@ -138,11 +151,13 @@
|
||||||
|
|
||||||
<!-- Need to be passed in as an env var so that custom Exec tasks in the repo's SourceBuild.props receive this setting. -->
|
<!-- Need to be passed in as an env var so that custom Exec tasks in the repo's SourceBuild.props receive this setting. -->
|
||||||
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
|
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
|
||||||
|
|
||||||
|
<!-- Needed for miscellanous projects in various repos - see https://github.com/dotnet/source-build/issues/4081-->
|
||||||
|
<EnvironmentVariables Include="RestoreConfigFile=$(NuGetConfigFile)" Condition="'$(NuGetConfigFile)' != ''" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EnvironmentVariables Include="DotNetBuildFromSource=true" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
<EnvironmentVariables Include="DotNetBuildFromSource=true" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
<EnvironmentVariables Include="DotNetBuildVertical=true" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
<ItemGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
||||||
|
@ -168,14 +183,35 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- The Arcade SDK is automatically registered while the others are opt-in for the repo projects. -->
|
<!-- The Arcade SDK is automatically registered while the others are opt-in for the repo projects. -->
|
||||||
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)" />
|
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)" />
|
||||||
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)" />
|
||||||
|
<ArcadeCMakeSdkOverride Include="Microsoft.DotNet.CMake.Sdk" Group="ARCADE_CMAKE_SDK" Version="$(arcadeOutputPackageVersion)" />
|
||||||
|
|
||||||
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)"
|
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)"
|
||||||
Version="$(ArcadeBootstrapVersion)"
|
Version="$(ArcadeBootstrapVersion)"
|
||||||
Location="$(ArcadeBootstrapPackageDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)"
|
Location="$(ArcadeBootstrapPackageDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)"
|
||||||
Condition="'$(UseBootstrapArcade)' == 'true'" />
|
Condition="'$(UseBootstrapArcade)' == 'true'" />
|
||||||
|
|
||||||
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)" />
|
<!-- When not bootstrapping, use the just-built versions. -->
|
||||||
|
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
||||||
|
<SourceBuiltSdkOverride Include="@(ArcadeCMakeSdkOverride)" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
||||||
|
<SourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
||||||
|
|
||||||
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsDir)EmptySdk" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsDir)EmptySdk" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Add Microsoft.Build.NoTargets and Microsoft.Build.Traversal SDK overrides, for all repos,
|
||||||
|
except source-build-reference-packages repo, that builds these packages and utility projects.
|
||||||
|
|
||||||
|
We need to override all SDK packages that are used by repos, to prevent NuGet SDK Resolver from trying to
|
||||||
|
restore these packages from online feeds. In offline build we only want to use local source-build feeds.
|
||||||
|
Therefore, we create a copy of repo's NuGet.config file, modify it, and pass it into repo build using
|
||||||
|
RestoreConfigFile property. MSBuild uses NuGetSdkResolver to restore missing SDKs, which doesn't honor
|
||||||
|
RestoreConfigFile property and uses NuGet.config file from repo's root which has online feeds.
|
||||||
|
-->
|
||||||
|
<NoTargetsSdkOverride Include="Microsoft.Build.NoTargets" Group="NOTARGETS" Version="$(NoTargetsSdkVersion)" />
|
||||||
|
<TraversalSdkOverride Include="Microsoft.Build.Traversal" Group="TRAVERSAL" Version="$(TraversalSdkVersion)" />
|
||||||
|
<SourceBuiltSdkOverride Include="@(NoTargetsSdkOverride)" Condition="'$(DotNetBuildSourceOnly)' == 'true' and '$(RepositoryName)' != 'source-build-reference-packages'" />
|
||||||
|
<SourceBuiltSdkOverride Include="@(TraversalSdkOverride)" Condition="'$(DotNetBuildSourceOnly)' == 'true' and '$(RepositoryName)' != 'source-build-reference-packages'" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- CLI internal version is statically set by us to a version that will never show up in the wild.
|
<!-- CLI internal version is statically set by us to a version that will never show up in the wild.
|
||||||
|
@ -204,8 +240,8 @@
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimePackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimePackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimeVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimeVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppHostPackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppHostPackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
||||||
<!-- core-sdk uses this property for ASP.NET blob directory -->
|
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="VSRedistCommonAspNetCoreTargetingPackx6430PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion" Version="$(windowsdesktopOutputPackageVersion)" />
|
||||||
|
|
||||||
<!-- Used by installer to determine sdk version -->
|
<!-- Used by installer to determine sdk version -->
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
||||||
|
@ -213,11 +249,6 @@
|
||||||
<!-- Used by sdk to determine msbuild version for fsharp -->
|
<!-- Used by sdk to determine msbuild version for fsharp -->
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="FSharpBuildVersion" Version="%24(MicrosoftBuildPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="FSharpBuildVersion" Version="%24(MicrosoftBuildPackageVersion)" />
|
||||||
|
|
||||||
<!-- property used by Arcade to determine what version of SourceLink to use -->
|
|
||||||
<!-- if MicrosoftSourceLinkCommonPackageVersion is non-empty, then we've already built SourceLink, regardless of whether
|
|
||||||
this is the production or offline build, so we should use that version. -->
|
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftSourceLinkVersion" Version="%24(MicrosoftSourceLinkCommonPackageVersion)" />
|
|
||||||
|
|
||||||
<!-- non-rid-specific versions of RID-specific version variables to use for bootstrapping -->
|
<!-- non-rid-specific versions of RID-specific version variables to use for bootstrapping -->
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimeVersion" Version="%24(MicrosoftAspNetCoreAppRefPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimeVersion" Version="%24(MicrosoftAspNetCoreAppRefPackageVersion)" />
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppCrossgen2Version" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppCrossgen2Version" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
||||||
|
|
|
@ -9,11 +9,12 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(BuildArgs)</BuildCommand>
|
<!-- Force use of dotnet msbuild (ignoring global.json contents) unless BuildWithDesktopMSBuild is explicitly set in the repo project. -->
|
||||||
|
<BuildArgs Condition="'$(BuildOS)' == 'windows' and '$(BuildWithDesktopMSBuild)' != 'true'">$(BuildArgs) $(FlagParameterPrefix)msbuildEngine dotnet</BuildArgs>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- The default PackageVersionPropsFlowType behavior (DependenciesOnly) triggers logic that looks for a
|
<PropertyGroup>
|
||||||
Version.Details.xml file. Setting the type to AllPackages will skip that logic. -->
|
<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(BuildArgs)</BuildCommand>
|
||||||
<PackageVersionPropsFlowType Condition="'$(IsUtilityProject)' == 'true'">AllPackages</PackageVersionPropsFlowType>
|
|
||||||
|
|
||||||
<!-- MinimalConsoleLogOutput determines if the repository build should be logged to a separate file or directly to the console. -->
|
<!-- MinimalConsoleLogOutput determines if the repository build should be logged to a separate file or directly to the console. -->
|
||||||
<RepoConsoleLogFile>$(ArtifactsLogDir)$(RepositoryName).log</RepoConsoleLogFile>
|
<RepoConsoleLogFile>$(ArtifactsLogDir)$(RepositoryName).log</RepoConsoleLogFile>
|
||||||
|
@ -23,30 +24,11 @@
|
||||||
<ProjectAssetsJsonArchiveFile>$(PackageReportDir)all-project-assets-json-files.zip</ProjectAssetsJsonArchiveFile>
|
<ProjectAssetsJsonArchiveFile>$(PackageReportDir)all-project-assets-json-files.zip</ProjectAssetsJsonArchiveFile>
|
||||||
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
|
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
|
||||||
<RepoManifestFile>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'artifacts', 'RepoManifest.xml'))</RepoManifestFile>
|
<RepoManifestFile>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'artifacts', 'RepoManifest.xml'))</RepoManifestFile>
|
||||||
|
|
||||||
|
<IntermediateSymbolsRepoDir>$(IntermediateSymbolsRootDir)$(RepositoryName)</IntermediateSymbolsRepoDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Exclude repositories that currently don't build when not building source-only. -->
|
|
||||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
|
||||||
<RepositoryReference Remove="roslyn" />
|
|
||||||
<RepositoryReference Remove="wpf" />
|
|
||||||
<RepositoryReference Remove="msbuild" />
|
|
||||||
<RepositoryReference Remove="roslyn-analyzers" />
|
|
||||||
<RepositoryReference Remove="aspnetcore" />
|
|
||||||
<RepositoryReference Remove="razor" />
|
|
||||||
<RepositoryReference Remove="deployment-tools" />
|
|
||||||
<RepositoryReference Remove="format" />
|
|
||||||
<RepositoryReference Remove="nuget-client" />
|
|
||||||
<RepositoryReference Remove="templating" />
|
|
||||||
<RepositoryReference Remove="test-templates" />
|
|
||||||
<RepositoryReference Remove="fsharp" />
|
|
||||||
<RepositoryReference Remove="vstest" />
|
|
||||||
<RepositoryReference Remove="sdk" />
|
|
||||||
<RepositoryReference Remove="aspire" />
|
|
||||||
<RepositoryReference Remove="installer" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="AddSourceToNuGetConfig" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="AddSourceToNuGetConfig" />
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReadNuGetPackageInfos" />
|
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="RemoveInternetSourcesFromNuGetConfig" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="RemoveInternetSourcesFromNuGetConfig" />
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateJson" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateJson" />
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateNuGetConfigPackageSourcesMappings" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateNuGetConfigPackageSourcesMappings" />
|
||||||
|
@ -54,77 +36,148 @@
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageVersionsProps" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageVersionsProps" />
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageUsageData" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageUsageData" />
|
||||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageReports" />
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageReports" />
|
||||||
|
|
||||||
|
<!-- Wraps the transitive repo references with additional metadata -->
|
||||||
|
<Target Name="GetRepositoryReferenceInfo"
|
||||||
|
DependsOnTargets="GetTransitiveRepositoryReferences">
|
||||||
|
<!-- SBRP is explicitly excluded since it is output to its own special directory, $(ReferencePackagesDir). -->
|
||||||
|
<ItemGroup Condition="'@(TransitiveRepositoryReference)' != ''">
|
||||||
|
<RepositoryReferenceInfo Include="@(TransitiveRepositoryReference)"
|
||||||
|
Exclude="source-build-reference-packages">
|
||||||
|
<ShippingSourceName>source-built-%(Identity)</ShippingSourceName>
|
||||||
|
<NonShippingSourceName>source-built-transport-%(Identity)</NonShippingSourceName>
|
||||||
|
<ShippingPackagesPath>$(ArtifactsShippingPackagesDir)/%(Identity)/</ShippingPackagesPath>
|
||||||
|
<NonShippingPackagesPath>$(ArtifactsNonShippingPackagesDir)/%(Identity)/</NonShippingPackagesPath>
|
||||||
|
</RepositoryReferenceInfo>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'@(RepositoryReferenceInfo)' != ''">
|
||||||
|
<DependentRepoSourceName Include="@(RepositoryReferenceInfo->'%(ShippingSourceName)')" />
|
||||||
|
<DependentRepoSourceName Include="@(RepositoryReferenceInfo->'%(NonShippingSourceName)')" />
|
||||||
|
<DependentRepoPackageFile Include="%(RepositoryReferenceInfo.ShippingPackagesPath)**" />
|
||||||
|
<DependentRepoPackageFile Include="%(RepositoryReferenceInfo.NonShippingPackagesPath)**" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="CopyNuGetConfig"
|
||||||
|
Condition="'$(NuGetConfigFile)' != ''"
|
||||||
|
Inputs="$(MSBuildProjectFullPath);$(OriginalNuGetConfigFile)"
|
||||||
|
Outputs="$(NuGetConfigFile)">
|
||||||
|
|
||||||
|
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(NuGetConfigFile)'))" />
|
||||||
|
|
||||||
|
<Copy
|
||||||
|
SourceFiles="$(OriginalNuGetConfigFile)"
|
||||||
|
DestinationFiles="$(NuGetConfigFile)">
|
||||||
|
<Output TaskParameter="CopiedFiles" ItemName="FileWrites" />
|
||||||
|
</Copy>
|
||||||
|
</Target>
|
||||||
|
|
||||||
<!-- Update NuGet feeds in the repo -->
|
|
||||||
<Target Name="UpdateNuGetConfig"
|
<Target Name="UpdateNuGetConfig"
|
||||||
BeforeTargets="Build"
|
DependsOnTargets="CopyNuGetConfig;GetRepositoryReferenceInfo"
|
||||||
Condition="'$(NuGetConfigFile)' != '' or '@(NuGetConfigFiles)' != ''"
|
Condition="'$(NuGetConfigFile)' != ''"
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
Inputs="$(MSBuildProjectFullPath)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete">
|
Outputs="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<SourceBuiltNuGetSourceName>source-built</SourceBuiltNuGetSourceName>
|
<!-- Dev innerloop opt-in feed: /p:ExtraRestoreSourcePath=... -->
|
||||||
<ExtraSourcesNuGetSourceName>ExtraSources</ExtraSourcesNuGetSourceName>
|
<ExtraSourcesNuGetSourceName>ExtraSources</ExtraSourcesNuGetSourceName>
|
||||||
<SourceBuildSources>$(SourceBuiltNuGetSourceName)</SourceBuildSources>
|
|
||||||
<SourceBuildSources Condition="'$(ExtraRestoreSourcePath)' != ''">$(SourceBuildSources);$(ExtraSourcesNuGetSourceName)</SourceBuildSources>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<PrebuiltNuGetSourceName>prebuilt</PrebuiltNuGetSourceName>
|
<PrebuiltNuGetSourceName>prebuilt</PrebuiltNuGetSourceName>
|
||||||
<PreviouslySourceBuiltNuGetSourceName>previously-source-built</PreviouslySourceBuiltNuGetSourceName>
|
<PreviouslySourceBuiltNuGetSourceName>previously-source-built</PreviouslySourceBuiltNuGetSourceName>
|
||||||
<ReferencePackagesNuGetSourceName>reference-packages</ReferencePackagesNuGetSourceName>
|
<ReferencePackagesNuGetSourceName>reference-packages</ReferencePackagesNuGetSourceName>
|
||||||
<SourceBuildSources>$(SourceBuildSources);$(PrebuiltNuGetSourceName);$(PreviouslySourceBuiltNuGetSourceName);$(ReferencePackagesNuGetSourceName)</SourceBuildSources>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Update the detected or manually specified NuGetConfigFile, but also allow multiple. -->
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<NuGetConfigFiles Include="$(NuGetConfigFile)" />
|
<_CommonBuildSources Include="@(DependentRepoSourceName)" />
|
||||||
|
<_CommonBuildSources Include="$(ExtraSourcesNuGetSourceName)" Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<_BuildSources Condition="'$(DotNetBuildSourceOnly)' == 'true'"
|
||||||
|
Include="$(PrebuiltNuGetSourceName);$(PreviouslySourceBuiltNuGetSourceName);$(ReferencePackagesNuGetSourceName)" />
|
||||||
|
<_BuildSources Include="@(_CommonBuildSources)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
||||||
|
<!-- When not building source-only, repositories lagging behind on the .NET SDK (e.g. tooling repos)
|
||||||
|
that need to utilize a VS-aligned version for development purposes may not have the latest product
|
||||||
|
daily build feed in their NuGet.config. This means that when a newer globally-specified .NET SDK
|
||||||
|
attempts to restore shared framework packages, they will not be found. Work around this by
|
||||||
|
ensuring that repos have the supporting SDK feed. Note that this is not required when the SDK
|
||||||
|
in use is a released SDK.
|
||||||
|
|
||||||
|
Currently we are using a preview .NET 9 SDK and not all repos are using the Net 9 SDK
|
||||||
|
If either of these are not true, set below to false.
|
||||||
|
-->
|
||||||
|
<AddNetSdkSupportingFeed>true</AddNetSdkSupportingFeed>
|
||||||
|
<NetSdkSupportingFeedName>net-sdk-supporting-feed</NetSdkSupportingFeedName>
|
||||||
|
<NetSdkSupportingFeed>https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json</NetSdkSupportingFeed>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<RemoveInternetSourcesFromNuGetConfig
|
<RemoveInternetSourcesFromNuGetConfig
|
||||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
BuildWithOnlineSources="$(DotNetBuildWithOnlineSources)"
|
BuildWithOnlineFeeds="$(DotNetBuildWithOnlineFeeds)"
|
||||||
KeepFeedPrefixes="@(KeepFeedPrefixes)"
|
KeepFeedPrefixes="@(KeepFeedPrefixes)"
|
||||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
|
|
||||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
SourceName="$(PrebuiltNuGetSourceName)"
|
SourceName="$(PrebuiltNuGetSourceName)"
|
||||||
SourcePath="$(PrebuiltPackagesPath)"
|
SourcePath="$(PrebuiltPackagesPath)"
|
||||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
|
|
||||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
SourceName="$(PreviouslySourceBuiltNuGetSourceName)"
|
SourceName="$(PreviouslySourceBuiltNuGetSourceName)"
|
||||||
SourcePath="$(PrebuiltSourceBuiltPackagesPath)"
|
SourcePath="$(PrebuiltSourceBuiltPackagesPath)"
|
||||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
|
|
||||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
SourceName="$(ReferencePackagesNuGetSourceName)"
|
SourceName="$(ReferencePackagesNuGetSourceName)"
|
||||||
SourcePath="$(ReferencePackagesDir)"
|
SourcePath="$(ReferencePackagesDir)"
|
||||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||||
|
|
||||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
SourceName="$(SourceBuiltNuGetSourceName)"
|
SourceName="%(RepositoryReferenceInfo.ShippingSourceName)"
|
||||||
SourcePath="$(SourceBuiltPackagesPath)" />
|
SourcePath="%(RepositoryReferenceInfo.ShippingPackagesPath)"
|
||||||
|
Condition="Exists('%(RepositoryReferenceInfo.ShippingPackagesPath)')" />
|
||||||
|
|
||||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
|
SourceName="%(RepositoryReferenceInfo.NonShippingSourceName)"
|
||||||
|
SourcePath="%(RepositoryReferenceInfo.NonShippingPackagesPath)"
|
||||||
|
Condition="Exists('%(RepositoryReferenceInfo.NonShippingPackagesPath)')" />
|
||||||
|
|
||||||
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
SourceName="$(ExtraSourcesNuGetSourceName)"
|
SourceName="$(ExtraSourcesNuGetSourceName)"
|
||||||
SourcePath="$(ExtraRestoreSourcePath)"
|
SourcePath="$(ExtraRestoreSourcePath)"
|
||||||
Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
||||||
|
|
||||||
|
<!-- See root Directory.Build.props for value. -->
|
||||||
|
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
|
SourceName="$(NetSdkSupportingFeedName)"
|
||||||
|
SourcePath="$(NetSdkSupportingFeed)"
|
||||||
|
Condition="'$(AddNetSdkSupportingFeed)' == 'true'" />
|
||||||
|
|
||||||
<UpdateNuGetConfigPackageSourcesMappings
|
<UpdateNuGetConfigPackageSourcesMappings
|
||||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
NuGetConfigFile="$(NuGetConfigFile)"
|
||||||
BuildWithOnlineSources="$(DotNetBuildWithOnlineSources)"
|
BuildWithOnlineFeeds="$(DotNetBuildWithOnlineFeeds)"
|
||||||
SourceBuildSources="$(SourceBuildSources)" />
|
SourceBuildSources="@(_BuildSources)" />
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete" AlwaysCreate="true">
|
<Touch Files="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete" AlwaysCreate="true">
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
||||||
</Touch>
|
</Touch>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<!-- This is defined in this target to ensure the NuGet.config file is updated before it gets embedded. If this item
|
||||||
|
was define globally, it would immediately get embedded with the original, unmodified version of the file. -->
|
||||||
|
<EmbedInBinlog Include="$(NuGetConfigFile)" />
|
||||||
|
</ItemGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!-- Update the SDK version in the repo's global.json file.
|
<!-- Update the SDK version in the repo's global.json file.
|
||||||
This guarantees that all repositories build with the VMR's SDK version. -->
|
This guarantees that all repositories build with the VMR's SDK version. -->
|
||||||
<Target Name="UpdateGlobalJsonVersions"
|
<Target Name="UpdateGlobalJsonVersions"
|
||||||
BeforeTargets="Build"
|
|
||||||
Condition="'$(GlobalJsonFile)' != ''"
|
Condition="'$(GlobalJsonFile)' != ''"
|
||||||
Inputs="$(MSBuildProjectFullPath);$(MSBuildThisFileFullPath)"
|
Inputs="$(MSBuildProjectFullPath);$(MSBuildThisFileFullPath)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)UpdateGlobalJsonVersions.complete">
|
Outputs="$(BaseIntermediateOutputPath)UpdateGlobalJsonVersions.complete">
|
||||||
|
@ -151,8 +204,7 @@
|
||||||
|
|
||||||
<!-- TODO: Remove when all repos use a consistent set of eng/common files: https://github.com/dotnet/source-build/issues/3710. -->
|
<!-- TODO: Remove when all repos use a consistent set of eng/common files: https://github.com/dotnet/source-build/issues/3710. -->
|
||||||
<Target Name="UpdateEngCommonFiles"
|
<Target Name="UpdateEngCommonFiles"
|
||||||
Condition="'$(UpdateEngCommonFiles)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true'"
|
Condition="'$(UpdateEngCommonFiles)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true'">
|
||||||
BeforeTargets="Build">
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<OrchestratorEngCommonFile Include="$(RepositoryEngineeringDir)common\**\*" />
|
<OrchestratorEngCommonFile Include="$(RepositoryEngineeringDir)common\**\*" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -165,12 +217,13 @@
|
||||||
<!-- Before a repository builds, set up the version property files that override the repo's defaults.
|
<!-- Before a repository builds, set up the version property files that override the repo's defaults.
|
||||||
There are 3 files generated -->
|
There are 3 files generated -->
|
||||||
<Target Name="CreateBuildInputProps"
|
<Target Name="CreateBuildInputProps"
|
||||||
BeforeTargets="Build"
|
DependsOnTargets="GetRepositoryReferenceInfo"
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
Inputs="$(MSBuildProjectFullPath)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)CreateBuildInputProps.complete">
|
Outputs="$(BaseIntermediateOutputPath)CreateBuildInputProps.complete">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_CurrentSourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
|
<!-- Collect all the NuGet packages from dependent repos except for the symbols -->
|
||||||
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
|
<_CurrentSourceBuiltPackages Include="@(DependentRepoPackageFile)"
|
||||||
|
Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.symbols.nupkg'))" />
|
||||||
<_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
<_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -233,11 +286,12 @@
|
||||||
|
|
||||||
<!-- SkipRepoReferences is a developer innerloop switch to skip building dependencies. -->
|
<!-- SkipRepoReferences is a developer innerloop switch to skip building dependencies. -->
|
||||||
<Target Name="BuildRepoReferences"
|
<Target Name="BuildRepoReferences"
|
||||||
|
DependsOnTargets="GetTransitiveRepositoryReferences"
|
||||||
Condition="'@(RepositoryReference)' != '' and '$(SkipRepoReferences)' != 'true'">
|
Condition="'@(RepositoryReference)' != '' and '$(SkipRepoReferences)' != 'true'">
|
||||||
<Message Importance="High" Text="Building dependencies [@(RepositoryReference)] needed by '$(RepositoryName)'." />
|
<Message Importance="High" Text="Building dependencies [@(TransitiveRepositoryReference)] needed by '$(RepositoryName)'." />
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_DependentProject Include="@(RepositoryReference -> '%(Identity).proj')" />
|
<_DependentProject Include="@(TransitiveRepositoryReference -> '%(Identity).proj')" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<MSBuild Projects="@(_DependentProject)"
|
<MSBuild Projects="@(_DependentProject)"
|
||||||
|
@ -246,31 +300,37 @@
|
||||||
StopOnFirstFailure="true" />
|
StopOnFirstFailure="true" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="Build"
|
<Target Name="SetSourceBuiltSdkOverrides"
|
||||||
DependsOnTargets="BuildRepoReferences"
|
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
<ItemGroup>
|
||||||
Outputs="$(BaseIntermediateOutputPath)Build.complete">
|
<!-- Set the environment variables for MSBuild to look for our additional SDK Resolvers and or our resolver to find our source-built SDKs. -->
|
||||||
<Exec Command="$(DotnetTool) build-server shutdown" />
|
<EnvironmentVariables Include="MSBUILDADDITIONALSDKRESOLVERSFOLDER=$(VSMSBuildSdkResolversDir)" />
|
||||||
|
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
||||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(RepositoryName)" />
|
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
||||||
<Message Importance="High" Text="Running command:" Condition="'$(BuildCommand)' != ''" />
|
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
||||||
<Message Importance="High" Text=" $(BuildCommand)" Condition="'$(BuildCommand)' != ''" />
|
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(SourceBuiltSdkOverride.Identity)/" />
|
||||||
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" Condition="'$(BuildCommand)' != '' and '$(MinimalConsoleLogOutput)' == 'true'" />
|
</ItemGroup>
|
||||||
<Message Importance="High" Text=" With Environment Variables:" Condition="'$(BuildCommand)' != ''" />
|
|
||||||
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" Condition="'$(BuildCommand)' != ''" />
|
|
||||||
<CallTarget Targets="RepoBuild" />
|
|
||||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(RepositoryName)...done" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)Build.complete" AlwaysCreate="true">
|
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
|
||||||
</Touch>
|
|
||||||
|
|
||||||
<OnError ExecuteTargets="ReportRepoError" />
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="RepoBuild"
|
<Target Name="RepoBuild"
|
||||||
Condition="'$(BuildCommand)' != ''">
|
Inputs="$(MSBuildProjectFullPath)"
|
||||||
|
Outputs="$(BaseIntermediateOutputPath)Build.complete"
|
||||||
|
Condition="'$(BuildCommand)' != ''"
|
||||||
|
DependsOnTargets="BuildRepoReferences;
|
||||||
|
UpdateNuGetConfig;
|
||||||
|
UpdateGlobalJsonVersions;
|
||||||
|
UpdateEngCommonFiles;
|
||||||
|
CreateBuildInputProps;
|
||||||
|
SetSourceBuiltSdkOverrides">
|
||||||
|
<Exec Command="$(DotnetTool) build-server shutdown" />
|
||||||
|
|
||||||
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(RepositoryName)" />
|
||||||
|
<Message Importance="High" Text="Running command:" />
|
||||||
|
<Message Importance="High" Text=" $(BuildCommand)" />
|
||||||
|
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" Condition="'$(MinimalConsoleLogOutput)' == 'true'" />
|
||||||
|
<Message Importance="High" Text=" With Environment Variables:"/>
|
||||||
|
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" />
|
||||||
|
|
||||||
<Message Text="DirSize Before Building $(RepositoryName)" Importance="High"
|
<Message Text="DirSize Before Building $(RepositoryName)" Importance="High"
|
||||||
Condition=" '$(CleanWhileBuilding)' == 'true' and '$(BuildOS)' != 'windows'" />
|
Condition=" '$(CleanWhileBuilding)' == 'true' and '$(BuildOS)' != 'windows'" />
|
||||||
<Exec Command="df -h $(RepoRoot)"
|
<Exec Command="df -h $(RepoRoot)"
|
||||||
|
@ -279,11 +339,11 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<FullCommand>$(BuildCommand)</FullCommand>
|
<FullCommand>$(BuildCommand)</FullCommand>
|
||||||
<FullCommand Condition="'$(LogVerbosityOptOut)' != 'true'">$(FullCommand) /v:$(LogVerbosity)</FullCommand>
|
<FullCommand Condition="'$(LogVerbosityOptOut)' != 'true'">$(FullCommand) /v:$(LogVerbosity)</FullCommand>
|
||||||
<FullCommand Condition="'$(MinimalConsoleLogOutput)' == 'true'">$(FullCommand) >> $(RepoConsoleLogFile) 2>&1</FullCommand>
|
<FullCommand Condition="'$(MinimalConsoleLogOutput)' == 'true'">$(FullCommand) > $(RepoConsoleLogFile) 2>&1</FullCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(RepoConsoleLogFile)'));
|
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(RepoConsoleLogFile)'));
|
||||||
$(SourceBuiltPackagesPath)" />
|
$(ArtifactsAssetsDir)" />
|
||||||
|
|
||||||
<!-- Create directories for extra debugging. -->
|
<!-- Create directories for extra debugging. -->
|
||||||
<MakeDir Directories="$(MSBuildDebugPathTargetDir);
|
<MakeDir Directories="$(MSBuildDebugPathTargetDir);
|
||||||
|
@ -293,154 +353,100 @@
|
||||||
|
|
||||||
<Exec Command="$(FullCommand)"
|
<Exec Command="$(FullCommand)"
|
||||||
WorkingDirectory="$(ProjectDirectory)"
|
WorkingDirectory="$(ProjectDirectory)"
|
||||||
EnvironmentVariables="@(EnvironmentVariables)"
|
EnvironmentVariables="@(EnvironmentVariables)" />
|
||||||
IgnoreStandardErrorWarningFormat="true" />
|
|
||||||
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(RepositoryName)...done" />
|
||||||
|
|
||||||
|
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||||
|
<Touch Files="$(BaseIntermediateOutputPath)Build.complete" AlwaysCreate="true">
|
||||||
|
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
||||||
|
</Touch>
|
||||||
|
|
||||||
|
<!-- Propagate errors to the output when using the minimal console log feature. -->
|
||||||
|
<OnError ExecuteTargets="LogRepoBuildError" Condition="'$(MinimalConsoleLogOutput)' == 'true'" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="ReportRepoError">
|
<Target Name="LogRepoBuildError">
|
||||||
<Message Importance="High" Text="$([System.IO.File]::ReadAllText('$(RepoConsoleLogFile)'))" Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
<Message Importance="High" Text="$([System.IO.File]::ReadAllText('$(RepoConsoleLogFile)'))" Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
||||||
<Message Importance="High" Text="'$(RepositoryName)' failed during build." />
|
<Message Importance="High" Text="'$(RepositoryName)' failed during build." />
|
||||||
<Message Importance="High" Text="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
<Message Importance="High" Text="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="Package" AfterTargets="Build" />
|
|
||||||
|
|
||||||
<Target Name="GatherBuiltPackages">
|
|
||||||
<ItemGroup>
|
|
||||||
<!-- Filter out packages for WriteVersions -->
|
|
||||||
<_BuiltPackages Condition="'$(PackagesOutput)' != ''" Include="$(PackagesOutput)/*.nupkg" Exclude="$(PackagesOutput)/*.symbols.nupkg"/>
|
|
||||||
<_BuiltPackages Condition="'@(PackagesOutputList)' != ''" Include="%(PackagesOutputList.Identity)/*.nupkg" Exclude="%(PackagesOutputList.Identity)/*.symbols.nupkg"/>
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Condition should be removed after source-build picks up version of Arcade that has
|
|
||||||
source-build infra changes for removal od inner-clone in VMR build. Until then some
|
|
||||||
repos will produce intermediate packages instead of repo manifest file.
|
|
||||||
|
|
||||||
https://github.com/dotnet/source-build/issues/3930
|
|
||||||
-->
|
|
||||||
<Target Name="CopyRepoArtifacts"
|
<Target Name="CopyRepoArtifacts"
|
||||||
AfterTargets="Package"
|
DependsOnTargets="RepoBuild"
|
||||||
Condition="Exists($(RepoManifestFile))"
|
Condition="'$(IsUtilityProject)' != 'true'"
|
||||||
Inputs="$(RepoManifestFile)"
|
Inputs="$(RepoManifestFile)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)ArtifactsCopy.complete">
|
Outputs="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete">
|
||||||
|
<Error Text="Repo manifest file doesn't exist." Condition="!Exists('$(RepoManifestFile)')" />
|
||||||
|
|
||||||
<XmlPeek XmlInputPath="$(RepoManifestFile)"
|
<XmlPeek XmlInputPath="$(RepoManifestFile)"
|
||||||
Query="Build/Artifact/@Path">
|
Query="Build/Artifact/@Path">
|
||||||
<Output TaskParameter="Result" ItemName="RepoManifestArtifact" />
|
<Output TaskParameter="Result" ItemName="RepoManifestArtifact" />
|
||||||
</XmlPeek>
|
</XmlPeek>
|
||||||
|
|
||||||
<ItemGroup>
|
<!-- Error if a repository doesn't produce any shipping or non-shipping artifacts. -->
|
||||||
<RepoManifestAsset Include="@(RepoManifestArtifact)" Condition="'%(Extension)' != '.nupkg'"/>
|
<ItemGroup Condition="'@(RepoManifestArtifact)' == ''">
|
||||||
<RepoManifestPackage Include="@(RepoManifestArtifact)" Condition="'%(Extension)' == '.nupkg'"/>
|
<_ArtifactsNotCreatedReason Include="^ There may have been a silent failure in the repo build." />
|
||||||
<RepoManifestNonShippingPackage Include="@(RepoManifestPackage)" Condition="$([System.String]::Copy('%(Identity)').Contains('$([System.IO.Path]::DirectorySeparatorChar)NonShipping$([System.IO.Path]::DirectorySeparatorChar)'))"/>
|
<_ArtifactsNotCreatedReason Include="^ To confirm, check the build log file for undetected errors that may have prevented package creation: $(RepoConsoleLogFile)" Condition="'$(MinimalConsoleLogOutput)' == 'true'" />
|
||||||
|
<_ArtifactsNotCreatedReason Include="^ The packages may have been written to an unexpected directory. For example, some repos used bin/ and changed to artifacts/ to match Arcade. Check RepoManifestFile in $(MSBuildProjectFullPath) (currently '$(RepoManifestFile)')" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<Error Text="$(RepositoryName) produced no new source-built package identities. Known possible causes:%0A@(_ArtifactsNotCreatedReason, '%0A')"
|
||||||
<_NupkgsDestination>$(SourceBuiltPackagesPath)</_NupkgsDestination>
|
Condition="'@(RepoManifestArtifact)' == ''" />
|
||||||
<_NupkgsDestination Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</_NupkgsDestination>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<!-- Building SBRP: At this point the References directory contains the previously-source-built SBRPs,
|
<!-- The repo symbol archive shouldn't be copied. -->
|
||||||
clear it before copying the current SBRPs. This ensures n-1 SBRPs aren't required to build the product repos. -->
|
<ItemGroup>
|
||||||
<RemoveDir
|
<RepoSymbolsArchive Include="@(RepoManifestArtifact)"
|
||||||
Condition="'$(RepositoryName)' == 'source-build-reference-packages'"
|
Condition="$([System.String]::Copy('%(Identity)').EndsWith('Symbols.$(RepositoryName)$(ArchiveExtension)'))" />
|
||||||
Directories="$(ReferencePackagesDir)" />
|
<RepoManifestArtifact Remove="@(RepoSymbolsArchive)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Copy nupkgs -->
|
<!-- Log the new repo artifacts -->
|
||||||
<Copy
|
<Message Importance="High" Text="New artifact(s) after building $(RepositoryName):" />
|
||||||
Condition="'@(RepoManifestPackage)' != ''"
|
<Message Importance="High" Text=" -> %(RepoManifestArtifact.Filename)%(RepoManifestArtifact.Extension)" />
|
||||||
SourceFiles="@(RepoManifestPackage)"
|
|
||||||
DestinationFolder="$(_NupkgsDestination)" />
|
<ItemGroup>
|
||||||
|
<RepoManifestPackage Include="@(RepoManifestArtifact->WithMetadataValue('Extension', '.nupkg'))" />
|
||||||
|
<RepoManifestAsset Include="@(RepoManifestArtifact)" Exclude="@(RepoManifestPackage)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Prepare the repo manifest packages and group them by shipping and non-shipping. -->
|
||||||
|
<ItemGroup>
|
||||||
|
<RepoManifestNonShippingPackage Include="@(RepoManifestPackage)"
|
||||||
|
Condition="$([System.String]::Copy('%(Identity)').Contains('$([System.IO.Path]::DirectorySeparatorChar)NonShipping$([System.IO.Path]::DirectorySeparatorChar)'))">
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$(RepoArtifactsNonShippingPackagesDir)</DestinationFolder>
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</DestinationFolder>
|
||||||
|
</RepoManifestNonShippingPackage>
|
||||||
|
|
||||||
|
<RepoManifestShippingPackage Include="@(RepoManifestPackage)"
|
||||||
|
Exclude="@(RepoManifestNonShippingPackage)">
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$(RepoArtifactsShippingPackagesDir)</DestinationFolder>
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</DestinationFolder>
|
||||||
|
</RepoManifestShippingPackage>
|
||||||
|
|
||||||
|
<RepoManifestAsset>
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$(ArtifactsAssetsDir)</DestinationFolder>
|
||||||
|
<DestinationFolder Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferenceAssetsDir)</DestinationFolder>
|
||||||
|
</RepoManifestAsset>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Copy shipping packages -->
|
||||||
|
<Copy SourceFiles="@(RepoManifestShippingPackage)"
|
||||||
|
DestinationFolder="%(RepoManifestShippingPackage.DestinationFolder)"
|
||||||
|
Condition="'@(RepoManifestShippingPackage)' != ''" />
|
||||||
|
|
||||||
|
<!-- Copy non-shipping packages -->
|
||||||
|
<Copy SourceFiles="@(RepoManifestNonShippingPackage)"
|
||||||
|
DestinationFolder="%(RepoManifestNonShippingPackage.DestinationFolder)"
|
||||||
|
Condition="'@(RepoManifestNonShippingPackage)' != ''" />
|
||||||
|
|
||||||
<!-- Copy assets -->
|
<!-- Copy assets -->
|
||||||
<Copy
|
<Copy SourceFiles="@(RepoManifestAsset)"
|
||||||
Condition="'@(RepoManifestAsset)' != ''"
|
DestinationFolder="%(RepoManifestAsset.DestinationFolder)"
|
||||||
SourceFiles="@(RepoManifestAsset)"
|
Condition="'@(RepoManifestAsset)' != ''" />
|
||||||
DestinationFolder="$(SourceBuiltAssetsDir)" />
|
|
||||||
|
|
||||||
<!-- Generate non-shipping package list -->
|
|
||||||
<PropertyGroup>
|
|
||||||
<NonShippingPackagesList Condition="'@(RepoManifestNonShippingPackage)' != ''">$(PackageListsDir)$(NonShippingPackagesListPrefix)$(RepositoryName).lst</NonShippingPackagesList>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<WriteLinesToFile
|
|
||||||
Condition="'$(NonShippingPackagesList)' != ''"
|
|
||||||
File="$(NonShippingPackagesList)"
|
|
||||||
Lines="@(RepoManifestNonShippingPackage->'%(Filename)%(Extension)')"
|
|
||||||
Overwrite="true" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)ArtifactsCopy.complete" AlwaysCreate="true">
|
<Touch Files="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete" AlwaysCreate="true">
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
|
||||||
</Touch>
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This target can be removed after source-build picks up version of Arcade that has
|
|
||||||
source-build infra changes for removal od inner-clone in VMR build. Until then the target
|
|
||||||
is needed for building source-build-reference-packages and arcade repos.
|
|
||||||
|
|
||||||
https://github.com/dotnet/source-build/issues/3930
|
|
||||||
-->
|
|
||||||
<Target Name="ExtractIntermediatePackages"
|
|
||||||
AfterTargets="Package"
|
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
|
||||||
Outputs="$(BaseIntermediateOutputPath)IntermediateExtraction.complete">
|
|
||||||
<ItemGroup>
|
|
||||||
<_BuiltIntermediatePackages Condition="'$(PackagesOutput)' != ''" Include="$(PackagesOutput)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="$(PackagesOutput)/*.symbols.nupkg"/>
|
|
||||||
<_BuiltIntermediatePackages Condition="'@(PackagesOutputList)' != ''" Include="%(PackagesOutputList.Identity)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="%(PackagesOutputList.Identity)/*.symbols.nupkg"/>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
|
||||||
<_NupkgDestinationPath>$(SourceBuiltPackagesPath)</_NupkgDestinationPath>
|
|
||||||
<!-- SBRP packages unpack into the Reference packages directory instead of into blob-feed packages -->
|
|
||||||
<_NupkgDestinationPath Condition="$([System.String]::Copy(%(_BuiltIntermediatePackages.Identity)).Contains('source-build-reference-packages'))">$(ReferencePackagesDir)</_NupkgDestinationPath>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<Unzip SourceFiles="@(_BuiltIntermediatePackages)"
|
|
||||||
DestinationFolder="$(SourceBuiltPackagesPath)extractArtifacts/%(_BuiltIntermediatePackages.FileName)/"
|
|
||||||
SkipUnchangedFiles="true"
|
|
||||||
Condition="'@(_BuiltIntermediatePackages)' != ''" />
|
|
||||||
|
|
||||||
<ItemGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
|
||||||
<SourceBuiltNupkgFiles Include="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
|
||||||
<NonShippingPackageLists Include="$(SourceBuiltPackagesPath)extractArtifacts/**/$(NonShippingPackagesListPrefix)*" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- Copy lists of NonShipping packages to prebuilt-report dir -->
|
|
||||||
<Copy SourceFiles="@(NonShippingPackageLists)" DestinationFolder="$(PackageListsDir)" />
|
|
||||||
|
|
||||||
<!-- Building SBRP: At this point the References directory contains the previously-source-built SBRPs,
|
|
||||||
clear it before moving the current SBRPs. This ensures n-1 SBRPs aren't required to build the product repos. -->
|
|
||||||
<RemoveDir
|
|
||||||
Condition="'$(_NupkgDestinationPath)' == '$(ReferencePackagesDir)'"
|
|
||||||
Directories="$(ReferencePackagesDir)" />
|
|
||||||
|
|
||||||
<Move
|
|
||||||
Condition="'@(SourceBuiltNupkgFiles)' != ''"
|
|
||||||
SourceFiles="@(SourceBuiltNupkgFiles)"
|
|
||||||
DestinationFiles="@(SourceBuiltNupkgFiles -> '$(_NupkgDestinationPath)%(Filename)%(Extension)')" />
|
|
||||||
|
|
||||||
<ItemGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
|
||||||
<SourceBuiltAssetFiles Include="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.*" />
|
|
||||||
<SourceBuiltAssetFiles Remove="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Move
|
|
||||||
Condition="'@(SourceBuiltAssetFiles)' != ''"
|
|
||||||
SourceFiles="@(SourceBuiltAssetFiles)"
|
|
||||||
DestinationFiles="@(SourceBuiltAssetFiles -> '$(SourceBuiltAssetsDir)%(Filename)%(Extension)')" />
|
|
||||||
|
|
||||||
<RemoveDir
|
|
||||||
Condition="Exists('$(SourceBuiltPackagesPath)extractArtifacts/')"
|
|
||||||
Directories="$(SourceBuiltPackagesPath)extractArtifacts/" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)IntermediateExtraction.complete" AlwaysCreate="true">
|
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
||||||
</Touch>
|
</Touch>
|
||||||
</Target>
|
</Target>
|
||||||
|
@ -448,62 +454,29 @@
|
||||||
<!-- Copy restored packages from inner build to ensure they're included in the
|
<!-- Copy restored packages from inner build to ensure they're included in the
|
||||||
main build prebuilt check -->
|
main build prebuilt check -->
|
||||||
<Target Name="CopyInnerBuildRestoredPackages"
|
<Target Name="CopyInnerBuildRestoredPackages"
|
||||||
AfterTargets="Package">
|
Condition="'$(IsUtilityProject)' != 'true'">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_InnerPackageCacheFiles Include="$(ProjectDirectory)artifacts/sb/package-cache/**/*" />
|
<_InnerPackageCacheFiles Include="$(ProjectDirectory)artifacts/sb/package-cache/**/*" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Copy SourceFiles="@(_InnerPackageCacheFiles)"
|
<Copy SourceFiles="@(_InnerPackageCacheFiles)"
|
||||||
DestinationFiles="$(NuGetPackageRoot)%(RecursiveDir)%(Filename)%(Extension)"
|
DestinationFiles="$(NuGetPackageRoot)%(RecursiveDir)%(Filename)%(Extension)"
|
||||||
Condition=" '@(_InnerPackageCacheFiles)' != '' " />
|
SkipUnchangedFiles="true"
|
||||||
</Target>
|
Condition="'@(_InnerPackageCacheFiles)' != ''" />
|
||||||
|
|
||||||
<Target Name="CopyPackage"
|
|
||||||
AfterTargets="Package"
|
|
||||||
Condition="'$(PackagesOutput)' != '' OR '@(PackagesOutputList)' != ''"
|
|
||||||
DependsOnTargets="GatherBuiltPackages">
|
|
||||||
<Copy SourceFiles="@(_BuiltPackages)"
|
|
||||||
DestinationFolder="$(SourceBuiltPackagesPath)"
|
|
||||||
Condition="'@(_BuiltPackages)'!=''"
|
|
||||||
SkipUnchangedFiles="true" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="RemoveBuiltPackagesFromCache"
|
|
||||||
AfterTargets="Package"
|
|
||||||
Condition="'@(_BuiltPackages)'!=''"
|
|
||||||
DependsOnTargets="GatherBuiltPackages"
|
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
|
||||||
Outputs="$(BaseIntermediateOutputPath)RemoveBuiltPackagesFromCache.complete">
|
|
||||||
<ItemGroup>
|
|
||||||
<!-- Excluding Arcade here will keep it in the cache, because that's where we're running from.
|
|
||||||
Subsequent projects will get Arcade from eng/source-built-sdks. -->
|
|
||||||
<PackagePaths Include="@(_BuiltPackages)" Exclude="$(PackagesOutput)/Microsoft.DotNet.Arcade.Sdk.*.nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ReadNuGetPackageInfos PackagePaths="@(PackagePaths)">
|
|
||||||
<Output TaskParameter="PackageInfoItems" ItemName="_BuiltPackageInfos" />
|
|
||||||
</ReadNuGetPackageInfos>
|
|
||||||
|
|
||||||
<!-- Copy built nupkgs from nuget packages cache directory to the previouslyRestored directory
|
|
||||||
and then delete all expanded files and the nupkg from the package cache so the next time
|
|
||||||
the package is used, it will reload the source-built version -->
|
|
||||||
<ItemGroup>
|
|
||||||
<_FilesToCopy Include="$(NuGetPackageRoot)$([System.String]::copy('%(_BuiltPackageInfos.PackageId)').ToLowerInvariant())/%(_BuiltPackageInfos.PackageVersion)/**/*.nupkg" />
|
|
||||||
<_FilesToDelete Include="$(NuGetPackageRoot)$([System.String]::copy('%(_BuiltPackageInfos.PackageId)').ToLowerInvariant())/%(_BuiltPackageInfos.PackageVersion)/**/*.*" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Copy SourceFiles="@(_FilesToCopy)" DestinationFolder="$(PreviouslyRestoredPackagesPath)$(RepositoryName)/" />
|
|
||||||
<Delete Files="@(_FilesToDelete)" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)RemoveBuiltPackagesFromCache.complete" AlwaysCreate="true">
|
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
|
||||||
</Touch>
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="CleanupRepo"
|
<Target Name="CleanupRepo"
|
||||||
AfterTargets="RemoveBuiltPackagesFromCache"
|
Condition="'$(IsUtilityProject)' != 'true' and
|
||||||
Condition="'$(CleanWhileBuilding)' == 'true' and Exists('$(ProjectDirectory)artifacts')">
|
'$(CleanWhileBuilding)' == 'true' and
|
||||||
|
Exists('$(ProjectDirectory)artifacts')">
|
||||||
|
<!--
|
||||||
|
Some repositories (WinForms) use source generators that open files manually and keep file handles open on the compiler server (CsWin32).
|
||||||
|
These source generators are written incorrectly (a source generator should never do IO itself),
|
||||||
|
but the required features to read in binary files as input to a source generator don't exist.
|
||||||
|
To work around these source generators, shut down the compiler server so we can delete the obj directories.
|
||||||
|
-->
|
||||||
|
<Exec Command="$(DotnetTool) build-server shutdown --vbcscompiler" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<BuildLogsDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildLogs'))</BuildLogsDir>
|
<BuildLogsDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildLogs'))</BuildLogsDir>
|
||||||
<BuildObjDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildObj'))</BuildObjDir>
|
<BuildObjDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildObj'))</BuildObjDir>
|
||||||
|
@ -544,21 +517,25 @@
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="ExtractToolPackage"
|
<Target Name="ExtractToolPackage"
|
||||||
DependsOnTargets="GatherBuiltPackages"
|
DependsOnTargets="CopyRepoArtifacts"
|
||||||
AfterTargets="Build"
|
|
||||||
Condition="'@(BuiltSdkPackageOverride)' != ''"
|
Condition="'@(BuiltSdkPackageOverride)' != ''"
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
Inputs="$(MSBuildProjectFullPath)"
|
||||||
Outputs="$(BaseIntermediateOutputPath)ExtractToolPackage.complete">
|
Outputs="$(BaseIntermediateOutputPath)ExtractToolPackage.complete">
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ToolPackagesRoot Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$(RepoArtifactsNonShippingPackagesDir)</_ToolPackagesRoot>
|
||||||
|
<_ToolPackagesRoot Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</_ToolPackagesRoot>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_ToolPackage
|
<_ToolPackage
|
||||||
Condition="'%(BuiltSdkPackageOverride.Version)' == ''"
|
Condition="'%(BuiltSdkPackageOverride.Version)' == ''"
|
||||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.nupkg"
|
Include="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity)*.nupkg"
|
||||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.symbols.nupkg"
|
Exclude="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity)*.symbols.nupkg"
|
||||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||||
<_ToolPackage
|
<_ToolPackage
|
||||||
Condition="'%(BuiltSdkPackageOverride.Version)' != ''"
|
Condition="'%(BuiltSdkPackageOverride.Version)' != ''"
|
||||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).nupkg"
|
Include="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).nupkg"
|
||||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).symbols.nupkg"
|
Exclude="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).symbols.nupkg"
|
||||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -584,52 +561,31 @@
|
||||||
</Touch>
|
</Touch>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="EnsurePackagesCreated"
|
<Target Name="ExtractSymbolsArchiveFile"
|
||||||
AfterTargets="CopyPackage"
|
DependsOnTargets="CopyRepoArtifacts"
|
||||||
Condition="'$(SkipEnsurePackagesCreated)' != 'true' and '$(IsUtilityProject)' != 'true'"
|
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
|
||||||
Inputs="$(MSBuildProjectFullPath)"
|
'$(IsUtilityProject)' != 'true' and
|
||||||
Outputs="$(BaseIntermediateOutputPath)EnsurePackagesCreated.complete">
|
'@(RepoSymbolsArchive)' != ''"
|
||||||
<ItemGroup>
|
Inputs="@(RepoSymbolsArchive)"
|
||||||
<JustSourceBuiltPackages
|
Outputs="$(IntermediateSymbolsRepoDir)">
|
||||||
Include="$(SourceBuiltPackagesPath)*.nupkg"
|
|
||||||
Exclude="
|
|
||||||
$(SourceBuiltPackagesPath)*.symbols.nupkg;
|
|
||||||
@(PreviouslySourceBuiltPackages)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<Error Text="There must only be a single repository symbols archive file. Found: @(RepoSymbolsArchive)"
|
||||||
<_PackagesNotCreatedReason Include="^ There may have been a silent failure in the submodule build. To confirm, check the build log file for undetected errors that may have prevented package creation: $(RepoConsoleLogFile)" />
|
Condition="@(RepoSymbolsArchive->Count()) > 1" />
|
||||||
<_PackagesNotCreatedReason Include="^ This error might be a false positive if $(RepositoryName) intentionally builds no nuget packages. If so, set the SkipEnsurePackagesCreated property to true in $(MSBuildProjectFullPath)" />
|
|
||||||
<_PackagesNotCreatedReason Include="^ The 'bin' directory might be dirty from a previous build and the package files already existed. If so, perform a clean build, or check which packages were already in 'bin' by opening $(CurrentSourceBuiltPackageVersionPropsPath)" />
|
|
||||||
<_PackagesNotCreatedReason Include="^ The packages may have been written to an unexpected directory. For example, some repos used bin/ and changed to artifacts/ to match Arcade. Check PackagesOutput in $(MSBuildProjectFullPath) (currently '$(PackagesOutput)')" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Error Condition="'@(JustSourceBuiltPackages)' == ''"
|
<!-- Extract repo symbols tarball -->
|
||||||
Text="$(RepositoryName) produced no new source-built package identities. Known possible causes:%0A@(_PackagesNotCreatedReason, '%0A')" />
|
<MakeDir Directories="$(IntermediateSymbolsRepoDir)" />
|
||||||
|
<Exec Command="tar -xzf %(RepoSymbolsArchive.Identity) -C $(IntermediateSymbolsRepoDir)" />
|
||||||
<ReadNuGetPackageInfos PackagePaths="@(JustSourceBuiltPackages)">
|
|
||||||
<Output TaskParameter="PackageInfoItems" ItemName="_JustSourceBuiltPackageInfos" />
|
|
||||||
</ReadNuGetPackageInfos>
|
|
||||||
|
|
||||||
<Message Importance="High" Text="New NuGet package(s) after building $(RepositoryName):" />
|
|
||||||
<Message Importance="High" Text=" -> %(_JustSourceBuiltPackageInfos.PackageId) %(_JustSourceBuiltPackageInfos.PackageVersion)" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
|
||||||
<Touch Files="$(BaseIntermediateOutputPath)EnsurePackagesCreated.complete" AlwaysCreate="true">
|
|
||||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
|
||||||
</Touch>
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="SetSourceBuiltSdkOverrides"
|
<Target Name="Build"
|
||||||
BeforeTargets="Build"
|
DependsOnTargets="
|
||||||
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
BuildRepoReferences;
|
||||||
<ItemGroup>
|
RepoBuild;
|
||||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
CopyRepoArtifacts;
|
||||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
CopyInnerBuildRestoredPackages;
|
||||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
ExtractToolPackage;
|
||||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(SourceBuiltSdkOverride.Identity)/" />
|
ExtractSymbolsArchiveFile;
|
||||||
</ItemGroup>
|
CleanupRepo" />
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="WritePrebuiltUsageData"
|
<Target Name="WritePrebuiltUsageData"
|
||||||
DependsOnTargets="GetAllProjectDirectories"
|
DependsOnTargets="GetAllProjectDirectories"
|
||||||
|
@ -637,7 +593,7 @@
|
||||||
Outputs="$(BaseIntermediateOutputPath)WritePrebuiltUsageData.complete">
|
Outputs="$(BaseIntermediateOutputPath)WritePrebuiltUsageData.complete">
|
||||||
<!-- Save the PVP snapshot of each build step to be evaluated while building the report. -->
|
<!-- Save the PVP snapshot of each build step to be evaluated while building the report. -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageVersionPropsSnapshotFiles Include="$(SharedIntermediateOutputPath)PackageVersions.*.Snapshot.props" />
|
<PackageVersionPropsSnapshotFiles Include="$(PackageVersionsDir)PackageVersions.*.Snapshot.props" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Copy SourceFiles="@(PackageVersionPropsSnapshotFiles)" DestinationFolder="$(PackageReportDir)snapshots/" />
|
<Copy SourceFiles="@(PackageVersionPropsSnapshotFiles)" DestinationFolder="$(PackageReportDir)snapshots/" />
|
||||||
|
|
||||||
|
@ -647,7 +603,7 @@
|
||||||
<!-- Only contains packages when building. -->
|
<!-- Only contains packages when building. -->
|
||||||
<TarballPrebuiltPackageFiles Include="$(PrebuiltPackagesPath)*.nupkg" />
|
<TarballPrebuiltPackageFiles Include="$(PrebuiltPackagesPath)*.nupkg" />
|
||||||
|
|
||||||
<SourceBuiltPackageFiles Include="$(SourceBuiltBlobFeedDir)**/*.nupkg" />
|
<SourceBuiltPackageFiles Include="$(ArtifactsPackagesDir)**/*.nupkg" />
|
||||||
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||||
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
||||||
|
|
||||||
|
@ -754,4 +710,76 @@
|
||||||
<Target Name="GetProjectDirectory" Outputs="$(ProjectDirectory)" />
|
<Target Name="GetProjectDirectory" Outputs="$(ProjectDirectory)" />
|
||||||
<Target Name="GetRepositoryReferences" Outputs="@(RepositoryReference)" />
|
<Target Name="GetRepositoryReferences" Outputs="@(RepositoryReference)" />
|
||||||
|
|
||||||
|
<!-- Returns the repository references of this project and all the projects this project references, recursively -->
|
||||||
|
<Target Name="GetTransitiveRepositoryReferences" Outputs="@(TransitiveRepositoryReference)">
|
||||||
|
<ItemGroup>
|
||||||
|
<_TransitiveRepositoryReference Include="@(RepositoryReference)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<MSBuild Projects="@(RepositoryReference->'%(Identity).proj')"
|
||||||
|
Targets="GetTransitiveRepositoryReferences"
|
||||||
|
BuildInParallel="true">
|
||||||
|
<Output TaskParameter="TargetOutputs" ItemName="_DependencyTransitiveRepositoryReference" />
|
||||||
|
</MSBuild>
|
||||||
|
|
||||||
|
<!-- When items are transferred between projects, they get metadata indicating their source (e.g. MSBuildSourceProjectFile).
|
||||||
|
This is problematic because it causes introduces distinctness on the items. For example, an arcade RepositoryReference
|
||||||
|
that comes from both msbuild and source-build-externals will be treated as two separate items. But we only want one arcade
|
||||||
|
reference. To prevent this from happening, we need to remove the extra metadata so the two references can be seen as duplicates. -->
|
||||||
|
<ItemGroup>
|
||||||
|
<_TransitiveRepositoryReference Include="@(_DependencyTransitiveRepositoryReference)"
|
||||||
|
RemoveMetadata="MSBuildSourceProjectFile;MSBuildSourceTargetName;OriginalItemSpec" />
|
||||||
|
<TransitiveRepositoryReference Include="@(_TransitiveRepositoryReference)" KeepDuplicates="false" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Exclude repositories that currently don't build when not building source-only. -->
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
||||||
|
<TransitiveRepositoryReference Remove="roslyn" />
|
||||||
|
<TransitiveRepositoryReference Remove="msbuild" />
|
||||||
|
<TransitiveRepositoryReference Remove="aspnetcore" />
|
||||||
|
<TransitiveRepositoryReference Remove="razor" />
|
||||||
|
<TransitiveRepositoryReference Remove="nuget-client" />
|
||||||
|
<TransitiveRepositoryReference Remove="fsharp" />
|
||||||
|
<TransitiveRepositoryReference Remove="vstest" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!-- Outputs a dependency graph of the repos, in YAML form, to the console. -->
|
||||||
|
<Target Name="ShowDependencyGraph">
|
||||||
|
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
||||||
|
Targets="GetDependencyGraphString"
|
||||||
|
Properties="DependencyGraphIndent=">
|
||||||
|
<Output TaskParameter="TargetOutputs" PropertyName="DependencyGraphString" />
|
||||||
|
</MSBuild>
|
||||||
|
|
||||||
|
<!-- Replace the '_' placeholder with spaces -->
|
||||||
|
<Message Importance="High" Text="$(DependencyGraphString.Replace('_', ' ').Trim())" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!-- Recursively walks the repo dependency graph gathering each repo's dependencies which are returned as a YAML string representation -->
|
||||||
|
<Target Name="GetDependencyGraphString"
|
||||||
|
DependsOnTargets="GetTransitiveRepositoryReferences"
|
||||||
|
Outputs="$(DependencyGraphString)">
|
||||||
|
<PropertyGroup>
|
||||||
|
<!-- Each step deeper in the graph builds up the indentation used for the YAML representation.
|
||||||
|
Use '_' as a placeholder for the space ' ' character since trailing spaces aren't handled well as property values. -->
|
||||||
|
<_NextIndent>$(DependencyGraphIndent)__</_NextIndent>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!-- For each of the current project's direct repo dependencies, recursively call the target to get each of there dependency graphs -->
|
||||||
|
<MSBuild Projects="@(RepositoryReference->'%(Identity).proj')"
|
||||||
|
Targets="GetDependencyGraphString"
|
||||||
|
Properties="DependencyGraphIndent=$(_NextIndent)">
|
||||||
|
<Output TaskParameter="TargetOutputs" ItemName="_DependencyGraphString" />
|
||||||
|
</MSBuild>
|
||||||
|
|
||||||
|
<!-- Append all the separate dependency graph snippets together -->
|
||||||
|
<PropertyGroup>
|
||||||
|
<!-- Ensure the item `;` separators are removed from the the target output -->
|
||||||
|
<_DependencyGraphString>@(_DependencyGraphString, '')</_DependencyGraphString>
|
||||||
|
<_LineBreak>%0a</_LineBreak>
|
||||||
|
<DependencyGraphString>$(DependencyGraphIndent)-_$(RepositoryName)$(_LineBreak)$(_DependencyGraphString)</DependencyGraphString>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
|
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
|
||||||
<BuiltSdkPackageOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
<BuiltSdkPackageOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||||
|
<BuiltSdkPackageOverride Include="@(ArcadeCMakeSdkOverride)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -9,33 +9,29 @@
|
||||||
<!-- On Windows, build all for the VB PoC -->
|
<!-- On Windows, build all for the VB PoC -->
|
||||||
<BuildActions Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(BuildOS)' == 'windows'">$(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack</BuildActions>
|
<BuildActions Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(BuildOS)' == 'windows'">$(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack</BuildActions>
|
||||||
|
|
||||||
<BuildArgs Condition="'$(OverrideTargetArch)' == ''">$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</BuildArgs>
|
||||||
<BuildArgs Condition="'$(OverrideTargetArch)' != ''">$(BuildArgs) $(FlagParameterPrefix)arch $(OverrideTargetArch)</BuildArgs>
|
|
||||||
<BuildArgs Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(BuildOS)' != 'windows'">$(BuildArgs) $(FlagParameterPrefix)no-build-repo-tasks</BuildArgs>
|
<BuildArgs Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(BuildOS)' != 'windows'">$(BuildArgs) $(FlagParameterPrefix)no-build-repo-tasks</BuildArgs>
|
||||||
<BuildArgs Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(BuildOS)' != 'windows'">$(BuildArgs) $(FlagParameterPrefix)no-build-nodejs</BuildArgs>
|
|
||||||
|
|
||||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
<BuildArgs>$(BuildArgs) /p:PortableBuild=$(PortableBuild)</BuildArgs>
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
<BuildArgs>$(BuildArgs) /p:TargetRuntimeIdentifier=$(TargetRid)</BuildArgs>
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<_portableRidOverridden Condition="'$(TargetRid)' != '$(OverrideTargetRid)'">true</_portableRidOverridden>
|
|
||||||
<_portableRidOverridden Condition="'$(TargetRid)' == '$(OverrideTargetRid)'">false</_portableRidOverridden>
|
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) /p:PortableBuild=$(_portableRidOverridden)</BuildArgs>
|
|
||||||
<BuildArgs>$(BuildArgs) /p:TargetRuntimeIdentifier=$(OverrideTargetRid)</BuildArgs>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="runtime" />
|
|
||||||
<RepositoryReference Include="msbuild" />
|
|
||||||
<RepositoryReference Include="roslyn" />
|
<RepositoryReference Include="roslyn" />
|
||||||
<RepositoryReference Include="roslyn-analyzers" />
|
<RepositoryReference Include="runtime" />
|
||||||
|
<RepositoryReference Include="xdt" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="nuget-client" />
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
<RepositoryReference Include="symreader" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -4,4 +4,8 @@
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -10,4 +10,8 @@
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -2,11 +2,18 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="runtime" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EnvironmentVariables Include="LatestCommit=$(GitCommitHash)" />
|
<EnvironmentVariables Include="LatestCommit=$(GitCommitHash)" />
|
||||||
|
|
||||||
|
<!-- https://github.com/dotnet/source-build/issues/4115. -->
|
||||||
|
<EnvironmentVariables Include="PublishWindowsPdb=false" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -4,4 +4,8 @@
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -11,41 +11,7 @@
|
||||||
- If we have a repo that is not in sdk's dependency tree, we can still build it by including it here. -->
|
- If we have a repo that is not in sdk's dependency tree, we can still build it by including it here. -->
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<!-- Toolsets -->
|
|
||||||
<RepositoryReference Include="source-build-reference-packages" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="arcade" />
|
|
||||||
|
|
||||||
<!-- Product Repos -->
|
|
||||||
<RepositoryReference Include="command-line-api" />
|
|
||||||
<RepositoryReference Include="sourcelink" />
|
|
||||||
<RepositoryReference Include="diagnostics" />
|
|
||||||
<RepositoryReference Include="emsdk" />
|
|
||||||
<RepositoryReference Include="cecil" />
|
|
||||||
<RepositoryReference Include="symreader" />
|
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="runtime" />
|
|
||||||
<RepositoryReference Include="roslyn" />
|
|
||||||
<RepositoryReference Include="windowsdesktop" Condition="'$(TargetOS)' == 'windows'" />
|
|
||||||
<RepositoryReference Include="xdt" />
|
|
||||||
<RepositoryReference Include="msbuild" />
|
|
||||||
<RepositoryReference Include="roslyn-analyzers" />
|
|
||||||
<RepositoryReference Include="aspnetcore" />
|
|
||||||
<RepositoryReference Include="razor" />
|
|
||||||
<RepositoryReference Include="deployment-tools" />
|
|
||||||
<RepositoryReference Include="format" />
|
|
||||||
<RepositoryReference Include="nuget-client" />
|
|
||||||
<RepositoryReference Include="templating" />
|
|
||||||
<RepositoryReference Include="test-templates" />
|
|
||||||
<RepositoryReference Include="fsharp" />
|
|
||||||
<RepositoryReference Include="vstest" />
|
|
||||||
<RepositoryReference Include="sdk" />
|
|
||||||
<RepositoryReference Include="aspire" />
|
|
||||||
<RepositoryReference Include="installer" />
|
<RepositoryReference Include="installer" />
|
||||||
|
|
||||||
<!-- Package source-build artifacts -->
|
|
||||||
<RepositoryReference Include="package-source-build" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
|
|
||||||
<!-- Testing. -->
|
|
||||||
<RepositoryReference Include="scenario-tests" />
|
<RepositoryReference Include="scenario-tests" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,10 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
|
|
||||||
<_platformIndex>$(OverrideTargetRid.LastIndexOf('-'))</_platformIndex>
|
|
||||||
<TargetOS>$(OverrideTargetRid.Substring(0, $(_platformIndex)))</TargetOS>
|
|
||||||
<TargetArch>$(OverrideTargetRid.Substring($(_platformIndex)))</TargetArch>
|
|
||||||
|
|
||||||
<!-- Use the repo root build script -->
|
<!-- Use the repo root build script -->
|
||||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) /p:PackageRid=$(OverrideTargetRid)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:PackageRid=$(TargetRid)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:AssetManifestOS=$(TargetOS)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:AssetManifestOS=$(TargetOS)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:PlatformName=$(TargetArch)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:PlatformName=$(TargetArch)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:ForceBuildManifestOnly=true</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:ForceBuildManifestOnly=true</BuildArgs>
|
||||||
|
@ -23,4 +14,8 @@
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -2,9 +2,17 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
|
<RepositoryReference Include="command-line-api" />
|
||||||
<RepositoryReference Include="roslyn" />
|
<RepositoryReference Include="roslyn" />
|
||||||
|
<RepositoryReference Include="runtime" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="msbuild" />
|
||||||
<RepositoryReference Include="roslyn-analyzers" />
|
<RepositoryReference Include="roslyn-analyzers" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
<RepositoryReference Include="symreader" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -20,8 +20,12 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="msbuild" />
|
</ItemGroup>
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="msbuild" />
|
||||||
|
<RepositoryReference Include="runtime" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,15 +1,8 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
<!-- Need to set to false to calculate RepositoryCommit. -->
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
<EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OSNameOverride>$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.IndexOf("-"))))</OSNameOverride>
|
|
||||||
|
|
||||||
<!-- Determine target portable rid based on bootstrap SDK's portable rid -->
|
|
||||||
<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
|
||||||
<PortableOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))</PortableOS>
|
|
||||||
|
|
||||||
<!-- Use the repo root build script -->
|
<!-- Use the repo root build script -->
|
||||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||||
|
@ -17,42 +10,57 @@
|
||||||
<!-- Restore and Build actions are already passed in by the root script. -->
|
<!-- Restore and Build actions are already passed in by the root script. -->
|
||||||
<BuildActions>$(FlagParameterPrefix)pack $(FlagParameterPrefix)publish</BuildActions>
|
<BuildActions>$(FlagParameterPrefix)pack $(FlagParameterPrefix)publish</BuildActions>
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)runtime-id $(OverrideTargetRid)</BuildArgs>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Setting NETCoreAppMaximumVersion to a high version so that the sdk doesn't complain if we're restoring/publishing for a higher version than the sdk.
|
Setting NETCoreAppMaximumVersion to a high version so that the sdk doesn't complain if we're restoring/publishing for a higher version than the sdk.
|
||||||
See https://github.com/dotnet/sdk/issues/1512#issuecomment-377082883
|
See https://github.com/dotnet/sdk/issues/1512#issuecomment-377082883
|
||||||
-->
|
-->
|
||||||
<BuildArgs>$(BuildArgs) /p:NETCoreAppMaximumVersion=99.9</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:NETCoreAppMaximumVersion=99.9</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:OSName=$(OSNameOverride)</BuildArgs>
|
<!-- We need to extract the non-portable OS name from the non-portable RID and pass that to installer build script.
|
||||||
<BuildArgs>$(BuildArgs) /p:PortableOSName=$(PortableOS)</BuildArgs>
|
This should not happen except when building non-portable. installer generally extracts the OSName from the host OS,
|
||||||
<BuildArgs>$(BuildArgs) /p:Rid=$(OverrideTargetRid)</BuildArgs>
|
or from the Rid if supplied. -->
|
||||||
|
<BuildArgs Condition="$(PortableBuild) != 'true'">$(BuildArgs) /p:OSName=$(TargetRid.Substring(0, $(TargetRid.IndexOf("-"))))</BuildArgs>
|
||||||
|
<BuildArgs>$(BuildArgs) /p:PortableOSName=$(__PortableTargetOS)</BuildArgs>
|
||||||
|
<BuildArgs>$(BuildArgs) /p:Rid=$(TargetRid)</BuildArgs>
|
||||||
|
<BuildArgs>$(BuildArgs) /p:Architecture=$(TargetArchitecture)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:DOTNET_INSTALL_DIR=$(DotNetRoot)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:DOTNET_INSTALL_DIR=$(DotNetRoot)</BuildArgs>
|
||||||
|
|
||||||
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:AspNetCoreInstallerRid=$(OverrideTargetRid)</BuildArgs>
|
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:AspNetCoreInstallerRid=$(TargetRid)</BuildArgs>
|
||||||
<!-- installer always wants to build portable on FreeBSD -->
|
<!-- installer always wants to build portable on FreeBSD -->
|
||||||
<BuildArgs Condition="'$(TargetOS)' == 'freebsd' and '$(DotNetBuildSourceOnly)' == 'true'">$(BuildArgs) /p:PortableBuild=true</BuildArgs>
|
<BuildArgs Condition="'$(TargetOS)' == 'freebsd' and '$(DotNetBuildSourceOnly)' == 'true'">$(BuildArgs) /p:PortableBuild=true</BuildArgs>
|
||||||
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:CoreSetupRid=$(OverrideTargetRid)</BuildArgs>
|
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:NetRuntimeRid=$(TargetRid)</BuildArgs>
|
||||||
|
<!-- https://github.com/dotnet/source-build/issues/4138 -->
|
||||||
<!-- Consume the source-built Core-Setup and toolset. This line must be removed to source-build CLI without source-building Core-Setup first. -->
|
<BuildArgs Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx'">$(BuildArgs) /p:SkipBuildingInstallers=true</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:PublicBaseURL=file:%2F%2F$(SourceBuiltAssetsDir)</BuildArgs>
|
|
||||||
|
|
||||||
|
<BuildArgs>$(BuildArgs) /p:PublicBaseURL=file:%2F%2F$(ArtifactsAssetsDir)</BuildArgs>
|
||||||
|
<!-- In non-source-only scenarios, currently consume aspnetcore from the normal public base url -->
|
||||||
|
<BuildArgs>$(BuildArgs) /p:FallbackPublicBaseURL=https://dotnetbuilds.blob.core.windows.net/public/</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:UsePortableLinuxSharedFramework=false</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:UsePortableLinuxSharedFramework=false</BuildArgs>
|
||||||
|
|
||||||
|
<BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) /p:PgoInstrument=true</BuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
|
<RepositoryReference Include="aspire" />
|
||||||
<RepositoryReference Include="aspnetcore" />
|
<RepositoryReference Include="aspnetcore" />
|
||||||
|
<RepositoryReference Include="command-line-api" />
|
||||||
|
<RepositoryReference Include="deployment-tools" />
|
||||||
<RepositoryReference Include="emsdk" />
|
<RepositoryReference Include="emsdk" />
|
||||||
<RepositoryReference Include="fsharp" />
|
<RepositoryReference Include="fsharp" />
|
||||||
<RepositoryReference Include="msbuild" />
|
<RepositoryReference Include="msbuild" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<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="symreader" />
|
||||||
<RepositoryReference Include="test-templates" />
|
<RepositoryReference Include="test-templates" />
|
||||||
<RepositoryReference Include="vstest" />
|
<RepositoryReference Include="vstest" />
|
||||||
|
<RepositoryReference Include="windowsdesktop" Condition="'$(TargetOS)' == 'windows'" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -66,15 +74,67 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EnvironmentVariables Include="CLIBUILD_SKIP_TESTS=true" />
|
<EnvironmentVariables Include="CLIBUILD_SKIP_TESTS=true" />
|
||||||
|
<!-- https://github.com/dotnet/source-build/issues/4115. -->
|
||||||
<!-- Disable bundled tools until we can figure out:
|
<EnvironmentVariables Include="PublishWindowsPdb=false" />
|
||||||
Unable to find package dotnet-dev-certs.
|
|
||||||
Unable to find package dotnet-ef.
|
|
||||||
Unable to find package dotnet-sql-cache.
|
|
||||||
Unable to find package dotnet-user-secrets.
|
|
||||||
Unable to find package dotnet-user-jwts.
|
|
||||||
Unable to find package dotnet-watch. -->
|
|
||||||
<EnvironmentVariables Include="CLIBUILD_SKIP_BUNDLEDDOTNETTOOLS=true" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="GetInputsOutputForCreatePrivateSourceBuiltArtifactsArchive"
|
||||||
|
DependsOnTargets="DetermineSourceBuiltSdkVersion">
|
||||||
|
<!-- Inputs: Packages to include in the tarball -->
|
||||||
|
<ItemGroup>
|
||||||
|
<ArtifactsPackageToBundle Include="$(ArtifactsShippingPackagesDir)**;
|
||||||
|
$(ArtifactsNonShippingPackagesDir)**"
|
||||||
|
Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.symbols.nupkg'))" />
|
||||||
|
<ReferencePackageToBundle Include="$(ReferencePackagesDir)**"
|
||||||
|
Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.symbols.nupkg'))" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<!-- Create a layout directory for the files that are to be included in the artifacts tarball. -->
|
||||||
|
<SourceBuiltLayoutDir>$([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)', 'artifacts-layout'))</SourceBuiltLayoutDir>
|
||||||
|
|
||||||
|
<!-- Outputs -->
|
||||||
|
<SourceBuiltTarballName>$(ArtifactsAssetsDir)$(SourceBuiltArtifactsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</SourceBuiltTarballName>
|
||||||
|
<SourceBuiltVersionName>$(SourceBuiltLayoutDir).version</SourceBuiltVersionName>
|
||||||
|
<AllPackageVersionsPropsName>$(SourceBuiltLayoutDir)PackageVersions.props</AllPackageVersionsPropsName>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<!-- Create the SourceBuilt.Private.Artifacts archive when building source-only. -->
|
||||||
|
<Target Name="CreatePrivateSourceBuiltArtifactsArchive"
|
||||||
|
AfterTargets="Build"
|
||||||
|
DependsOnTargets="GetInputsOutputForCreatePrivateSourceBuiltArtifactsArchive"
|
||||||
|
Inputs="@(ArtifactsPackageToBundle);@(ReferencePackageToBundle)"
|
||||||
|
Outputs="$(SourceBuiltTarballName);$(SourceBuiltVersionName);$(AllPackageVersionsPropsName)"
|
||||||
|
Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<!-- Copy packages to layout directory. Since there are a large number of files,
|
||||||
|
this will use symlinks instead of copying files to make this execute quickly. -->
|
||||||
|
<Copy SourceFiles="@(ArtifactsPackageToBundle)"
|
||||||
|
DestinationFolder="$(SourceBuiltLayoutDir)"
|
||||||
|
UseSymbolicLinksIfPossible="true" />
|
||||||
|
<Copy SourceFiles="@(ReferencePackageToBundle)"
|
||||||
|
DestinationFolder="$(SourceBuiltLayoutDir)SourceBuildReferencePackages"
|
||||||
|
UseSymbolicLinksIfPossible="true" />
|
||||||
|
|
||||||
|
<!-- Content of the .version file to include in the tarball -->
|
||||||
|
<ItemGroup>
|
||||||
|
<VersionFileContent Include="$(RepositoryCommit);$(SourceBuiltSdkVersion)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<WriteLinesToFile File="$(SourceBuiltVersionName)"
|
||||||
|
Lines="@(VersionFileContent)"
|
||||||
|
Overwrite="true" />
|
||||||
|
|
||||||
|
<!-- Create a PackageVersions.props file that includes entries for all packages. -->
|
||||||
|
<WritePackageVersionsProps NuGetPackages="@(ArtifactsPackageToBundle)"
|
||||||
|
ExtraProperties="@(ExtraPackageVersionPropsPackageInfo)"
|
||||||
|
VersionPropsFlowType="AllPackages"
|
||||||
|
OutputPath="$(AllPackageVersionsPropsName)" />
|
||||||
|
|
||||||
|
<Exec Command="tar --numeric-owner -czhf $(SourceBuiltTarballName) $([System.IO.Path]::GetFileName('$(SourceBuiltVersionName)')) *"
|
||||||
|
WorkingDirectory="$(SourceBuiltLayoutDir)" />
|
||||||
|
|
||||||
|
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -5,15 +5,16 @@
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildArgs>
|
||||||
|
|
||||||
<!-- msbuild by default builds with desktop msbuild (xcopy-msbuild) -->
|
|
||||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)msbuildEngine dotnet</BuildArgs>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="runtime" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="roslyn" />
|
<RepositoryReference Include="roslyn" />
|
||||||
|
<RepositoryReference Include="runtime" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
<BuildScript>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'eng', 'source-build', 'build$(ShellExtension)'))</BuildScript>
|
<BuildScript>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'eng', 'source-build', 'build$(ShellExtension)'))</BuildScript>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="msbuild" />
|
<RepositoryReference Include="msbuild" />
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
<RepositoryReference Include="xdt" />
|
<RepositoryReference Include="xdt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<!-- This is a wrapper project that doesn't build anything. -->
|
|
||||||
<IsUtilityProject>true</IsUtilityProject>
|
|
||||||
<!-- Need to set to false to calculate RepositoryCommit. -->
|
|
||||||
<EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<RepositoryReference Include="installer" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Target Name="CustomRepoBuild"
|
|
||||||
AfterTargets="RepoBuild"
|
|
||||||
DependsOnTargets="DetermineSourceBuiltSdkVersion">
|
|
||||||
<!-- Copy PVP to packages dir in order to package them together -->
|
|
||||||
<Copy SourceFiles="$(CurrentSourceBuiltPackageVersionPropsPath)" DestinationFiles="$(SourceBuiltPackagesPath)PackageVersions.props" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<SourceBuildReferencePackagesDestination>$(SourceBuiltPackagesPath)SourceBuildReferencePackages/</SourceBuildReferencePackagesDestination>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<SourceBuildReferencePackagesNupkgFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- Copy reference packages from ReferencePackagesDir to blob-feed reference packages path. -->
|
|
||||||
<Copy
|
|
||||||
Condition="'@(SourceBuildReferencePackagesNupkgFiles)' != ''"
|
|
||||||
SourceFiles="@(SourceBuildReferencePackagesNupkgFiles)"
|
|
||||||
DestinationFiles="@(SourceBuildReferencePackagesNupkgFiles -> '$(SourceBuildReferencePackagesDestination)%(Filename)%(Extension)')" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<SourceBuiltTarballName>$(SharedOutputPath)$(SourceBuiltArtifactsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</SourceBuiltTarballName>
|
|
||||||
<SourceBuiltVersionFileName>.version</SourceBuiltVersionFileName>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<!-- Content of the .version file to include in the tarball -->
|
|
||||||
<ItemGroup>
|
|
||||||
<VersionFileContent Include="$(RepositoryCommit);$(SourceBuiltSdkVersion)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<WriteLinesToFile
|
|
||||||
File="$(SourceBuiltPackagesPath)$(SourceBuiltVersionFileName)"
|
|
||||||
Lines="@(VersionFileContent)"
|
|
||||||
Overwrite="true" />
|
|
||||||
|
|
||||||
<MakeDir Directories="$(SharedOutputPath)" />
|
|
||||||
<Exec Command="tar --numeric-owner --exclude='Microsoft.SourceBuild.Intermediate.*.nupkg' -czf $(SourceBuiltTarballName) $(SourceBuiltVersionFileName) *.nupkg *.props SourceBuildReferencePackages/"
|
|
||||||
WorkingDirectory="$(SourceBuiltPackagesPath)" />
|
|
||||||
|
|
||||||
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
|
|
@ -2,8 +2,11 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="runtime" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="aspnetcore" />
|
<RepositoryReference Include="aspnetcore" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -8,8 +8,12 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="runtime" />
|
<RepositoryReference Include="runtime" />
|
||||||
<RepositoryReference Include="roslyn" />
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||||
|
|
||||||
<!-- roslyn by default builds with desktop msbuild (xcopy-msbuild) -->
|
<!-- roslyn by default builds with desktop msbuild (xcopy-msbuild) -->
|
||||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)msbuildEngine dotnet</BuildArgs>
|
|
||||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialBuildId $(OfficialBuildId)</BuildArgs>
|
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialBuildId $(OfficialBuildId)</BuildArgs>
|
||||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialSkipTests true</BuildArgs>
|
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialSkipTests true</BuildArgs>
|
||||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialSkipApplyOptimizationData true</BuildArgs>
|
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialSkipApplyOptimizationData true</BuildArgs>
|
||||||
|
@ -29,9 +28,12 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="command-line-api" />
|
</ItemGroup>
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="runtime" />
|
<RepositoryReference Include="runtime" />
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -3,11 +3,6 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||||
|
|
||||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
|
|
||||||
<_platformIndex>$(NETCoreSdkRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
<_platformIndex>$(NETCoreSdkRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
||||||
<RuntimeOS>$(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex)))</RuntimeOS>
|
<RuntimeOS>$(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex)))</RuntimeOS>
|
||||||
|
|
||||||
|
@ -17,15 +12,18 @@
|
||||||
<!-- Use the repo root build script -->
|
<!-- Use the repo root build script -->
|
||||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||||
|
|
||||||
<BuildArgs Condition="'$(OverrideTargetArch)' != ''">$(BuildArgs) $(FlagParameterPrefix)arch $(OverrideTargetArch)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</BuildArgs>
|
||||||
<BuildArgs Condition="'$(OverrideTargetOS)' != ''">$(BuildArgs) $(FlagParameterPrefix)os $(OverrideTargetOS)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)os $(TargetOS)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(OverrideTargetRid)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
|
<BuildArgs Condition="'$(ShortStack)' != 'true'">$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
|
<BuildArgs Condition="'$(ShortStack)' != 'true'">$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
|
||||||
|
<BuildArgs Condition="'$(DotNetBuildRuntimeWasmEnableThreads)' == 'true'">$(BuildArgs) /p:DotNetBuildRuntimeWasmEnableThreads=true</BuildArgs>
|
||||||
|
<BuildArgs Condition="'$(DotNetBuildRuntimeNativeAOTRuntimePack)' == 'true'">$(BuildArgs) /p:DotNetBuildRuntimeNativeAOTRuntimePack=true</BuildArgs>
|
||||||
|
<BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) $(FlagParameterPrefix)pgoinstrument</BuildArgs>
|
||||||
|
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' != ''">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<PortableBuild Condition="'$(PortableBuild)' == ''">false</PortableBuild>
|
|
||||||
<BuildNonPortable>true</BuildNonPortable>
|
<BuildNonPortable>true</BuildNonPortable>
|
||||||
<BuildNonPortable Condition="'$(PortableBuild)' == 'true'">false</BuildNonPortable>
|
<BuildNonPortable Condition="'$(PortableBuild)' == 'true'">false</BuildNonPortable>
|
||||||
|
|
||||||
|
@ -37,27 +35,20 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="cecil" />
|
<RepositoryReference Include="cecil" />
|
||||||
<RepositoryReference Include="symreader" />
|
<RepositoryReference Include="command-line-api" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
<RepositoryReference Include="emsdk" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<SourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_X" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_X" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_4" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_4" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||||
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_8" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_LatestVS" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_LatestVS" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="SetOutputList"
|
|
||||||
AfterTargets="Package"
|
|
||||||
BeforeTargets="GatherBuiltPackages">
|
|
||||||
<ItemGroup>
|
|
||||||
<PackagesOutputList Include="$(ShippingPackagesOutput)" />
|
|
||||||
<PackagesOutputList Include="$(NonShippingPackagesOutput)" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="source-build-reference-packages" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
|
<RepositoryReference Include="command-line-api" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -3,21 +3,9 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||||
|
|
||||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</OverrideTargetRid>
|
|
||||||
|
|
||||||
<!-- Propagate RID set in source-build to sdk repo -->
|
|
||||||
<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
|
||||||
<_baseOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))</_baseOS>
|
|
||||||
<_baseOS Condition="'$(OverrideTargetOS)' != ''">$(OverrideTargetOS)</_baseOS>
|
|
||||||
<_targetPortableArch>$(TargetArchitecture)</_targetPortableArch>
|
|
||||||
<_targetPortableArch Condition="'$(OverrideTargetArch)' != ''">$(OverrideTargetArch)</_targetPortableArch>
|
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) /p:PackageProjectUrl=https://github.com/dotnet/sdk</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:PackageProjectUrl=https://github.com/dotnet/sdk</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:PortableRid=$(_baseOS)-$(_targetPortableArch)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:PortableRid=$(PortableRid)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(OverrideTargetRid)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs>
|
||||||
|
|
||||||
<!-- Just like mono, arm does not support NativeAot -->
|
<!-- Just like mono, arm does not support NativeAot -->
|
||||||
<BuildArgs Condition="'$(BuildArchitecture)' == 'arm'">$(BuildArgs) /p:NativeAotSupported=false</BuildArgs>
|
<BuildArgs Condition="'$(BuildArchitecture)' == 'arm'">$(BuildArgs) /p:NativeAotSupported=false</BuildArgs>
|
||||||
|
@ -26,17 +14,28 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="runtime" />
|
<RepositoryReference Include="aspnetcore" />
|
||||||
<RepositoryReference Include="msbuild" />
|
<RepositoryReference Include="command-line-api" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
||||||
<RepositoryReference Include="nuget-client" />
|
|
||||||
<RepositoryReference Include="roslyn-analyzers" />
|
|
||||||
<RepositoryReference Include="vstest" />
|
|
||||||
<RepositoryReference Include="fsharp" />
|
|
||||||
<RepositoryReference Include="format" />
|
|
||||||
<RepositoryReference Include="deployment-tools" />
|
<RepositoryReference Include="deployment-tools" />
|
||||||
|
<RepositoryReference Include="emsdk" />
|
||||||
|
<RepositoryReference Include="format" />
|
||||||
|
<RepositoryReference Include="fsharp" />
|
||||||
|
<RepositoryReference Include="msbuild" />
|
||||||
|
<RepositoryReference Include="nuget-client" />
|
||||||
<RepositoryReference Include="razor" />
|
<RepositoryReference Include="razor" />
|
||||||
<RepositoryReference Include="windowsdesktop" Condition="'$(TargetOS)' == 'windows'" />
|
<RepositoryReference Include="roslyn" />
|
||||||
|
<RepositoryReference Include="roslyn-analyzers" />
|
||||||
|
<RepositoryReference Include="runtime" />
|
||||||
|
<RepositoryReference Include="sourcelink" />
|
||||||
|
<RepositoryReference Include="symreader" />
|
||||||
|
<RepositoryReference Include="templating" />
|
||||||
|
<RepositoryReference Include="vstest" />
|
||||||
|
<RepositoryReference Include="xdt" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -10,4 +10,9 @@
|
||||||
<UseInnerClone>true</UseInnerClone>
|
<UseInnerClone>true</UseInnerClone>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<RepositoryReference Include="arcade" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!--
|
<!-- All packages built in SBRP repo are copied to prereqs/package/reference.
|
||||||
All packages built in SBRP repo are copied to prereqs/package/reference.
|
Nothing gets copied to the artifacts/packages folder. -->
|
||||||
Nothing gets copied to blob-feed packages cache.
|
<ReferenceOnlyRepoArtifacts>true</ReferenceOnlyRepoArtifacts>
|
||||||
|
|
||||||
This would cause an issue with validation in EnsurePackagesCreated target.
|
|
||||||
We need to skip it for SBRP repo.
|
|
||||||
-->
|
|
||||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
|
||||||
|
|
||||||
<!-- SBRP builds before Arcade so it also needs the bootstrap Arcade version -->
|
<!-- SBRP builds before Arcade so it also needs the bootstrap Arcade version -->
|
||||||
<UseBootstrapArcade>true</UseBootstrapArcade>
|
<UseBootstrapArcade>true</UseBootstrapArcade>
|
||||||
|
@ -19,8 +14,14 @@
|
||||||
<BuildArgs>$(BuildArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory)</BuildArgs>
|
<BuildArgs>$(BuildArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory)</BuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<BuiltSdkPackageOverride Include="@(NoTargetsSdkOverride)" />
|
||||||
|
<BuiltSdkPackageOverride Include="@(TraversalSdkOverride)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="AddLocalNuGetPackageCacheDirectory"
|
<Target Name="AddLocalNuGetPackageCacheDirectory"
|
||||||
BeforeTargets="Build">
|
AfterTargets="CopyNuGetConfig"
|
||||||
|
BeforeTargets="UpdateNuGetConfig">
|
||||||
<MakeDir Condition="'$(LocalNuGetPackageCacheDirectory)' != ''"
|
<MakeDir Condition="'$(LocalNuGetPackageCacheDirectory)' != ''"
|
||||||
Directories="$(LocalNuGetPackageCacheDirectory)" />
|
Directories="$(LocalNuGetPackageCacheDirectory)" />
|
||||||
|
|
||||||
|
@ -30,4 +31,12 @@
|
||||||
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
|
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="ClearPreviousSBRP"
|
||||||
|
BeforeTargets="CopyRepoArtifacts"
|
||||||
|
DependsOnTargets="RepoBuild">
|
||||||
|
<!-- Building SBRP: At this point the References directory contains the previously-source-built SBRPs,
|
||||||
|
clear it before copying the current SBRPs. This ensures n-1 SBRPs aren't required to build the product repos. -->
|
||||||
|
<RemoveDir Directories="$(ReferencePackagesDir)" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -12,4 +12,8 @@
|
||||||
<RepositoryReference Include="command-line-api" />
|
<RepositoryReference Include="command-line-api" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -4,4 +4,8 @@
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -9,8 +9,12 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="nuget-client" />
|
<RepositoryReference Include="runtime" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -6,7 +6,10 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="templating" />
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -9,8 +9,12 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<RepositoryReference Include="diagnostics" />
|
<RepositoryReference Include="diagnostics" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||||
<RepositoryReference Include="runtime" />
|
<RepositoryReference Include="runtime" />
|
||||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
<RepositoryReference Include="source-build-externals" />
|
||||||
|
<RepositoryReference Include="source-build-reference-packages" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -9,12 +9,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<RepositoryReference Include="arcade" />
|
<RepositoryReference Include="arcade" />
|
||||||
<!-- https://github.com/dotnet/source-build/issues/3798 -->
|
|
||||||
<RepositoryReference Include="wpf" />
|
<RepositoryReference Include="wpf" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<SourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||||
|
<BuildWithDesktopMSBuild>true</BuildWithDesktopMSBuild>
|
||||||
|
|
||||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildArgs>
|
||||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildArgs>
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildArgs>
|
||||||
|
|
|
@ -59,6 +59,7 @@ public class LicenseScanTests : TestBase
|
||||||
"bzip2-libbzip-2010", // https://github.com/nexB/scancode-toolkit/blob/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE
|
"bzip2-libbzip-2010", // https://github.com/nexB/scancode-toolkit/blob/develop/src/licensedcode/data/licenses/bzip2-libbzip-2010.LICENSE
|
||||||
"cc0-1.0", // https://creativecommons.org/publicdomain/zero/1.0/legalcode
|
"cc0-1.0", // https://creativecommons.org/publicdomain/zero/1.0/legalcode
|
||||||
"cc-by-3.0", // https://creativecommons.org/licenses/by/3.0/legalcode
|
"cc-by-3.0", // https://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
"cc-by-4.0", // https://creativecommons.org/licenses/by/4.0/legalcode
|
||||||
"cc-by-sa-3.0", // https://creativecommons.org/licenses/by-sa/3.0/legalcode
|
"cc-by-sa-3.0", // https://creativecommons.org/licenses/by-sa/3.0/legalcode
|
||||||
"cc-by-sa-4.0", // https://creativecommons.org/licenses/by-sa/4.0/legalcode
|
"cc-by-sa-4.0", // https://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||||
"cc-pd", // https://creativecommons.org/publicdomain/mark/1.0/
|
"cc-pd", // https://creativecommons.org/publicdomain/mark/1.0/
|
||||||
|
@ -143,13 +144,16 @@ public class LicenseScanTests : TestBase
|
||||||
{
|
{
|
||||||
Assert.NotNull(Config.LicenseScanPath);
|
Assert.NotNull(Config.LicenseScanPath);
|
||||||
|
|
||||||
|
// Indicates how long until a timeout occurs for scanning a given file
|
||||||
|
const int FileScanTimeoutSeconds = 240;
|
||||||
|
|
||||||
string scancodeResultsPath = Path.Combine(LogsDirectory, "scancode-results.json");
|
string scancodeResultsPath = Path.Combine(LogsDirectory, "scancode-results.json");
|
||||||
|
|
||||||
// Scancode Doc: https://scancode-toolkit.readthedocs.io/en/latest/index.html
|
// Scancode Doc: https://scancode-toolkit.readthedocs.io/en/latest/index.html
|
||||||
string ignoreOptions = string.Join(" ", s_ignoredFilePatterns.Select(pattern => $"--ignore {pattern}"));
|
string ignoreOptions = string.Join(" ", s_ignoredFilePatterns.Select(pattern => $"--ignore {pattern}"));
|
||||||
ExecuteHelper.ExecuteProcessValidateExitCode(
|
ExecuteHelper.ExecuteProcessValidateExitCode(
|
||||||
"scancode",
|
"scancode",
|
||||||
$"--license --strip-root --only-findings {ignoreOptions} --json-pp {scancodeResultsPath} {Config.LicenseScanPath}",
|
$"--license --processes 4 --timeout {FileScanTimeoutSeconds} --strip-root --only-findings {ignoreOptions} --json-pp {scancodeResultsPath} {Config.LicenseScanPath}",
|
||||||
OutputHelper);
|
OutputHelper);
|
||||||
|
|
||||||
JsonDocument doc = JsonDocument.Parse(File.ReadAllText(scancodeResultsPath));
|
JsonDocument doc = JsonDocument.Parse(File.ReadAllText(scancodeResultsPath));
|
||||||
|
|
|
@ -230,6 +230,7 @@ src/source-build-externals/src/spectre-console/README.md|unknown-license-referen
|
||||||
#
|
#
|
||||||
|
|
||||||
# False positive
|
# False positive
|
||||||
|
src/source-build-reference-packages/src/targetPacks/ILsrc/microsoft.aspnetcore.app.ref/8.0.0/THIRD-PARTY-NOTICES.TXT|unknown
|
||||||
src/source-build-reference-packages/src/targetPacks/ILsrc/microsoft.netcore.app.ref/3.*/THIRD-PARTY-NOTICES.TXT|codesourcery-2004
|
src/source-build-reference-packages/src/targetPacks/ILsrc/microsoft.netcore.app.ref/3.*/THIRD-PARTY-NOTICES.TXT|codesourcery-2004
|
||||||
src/source-build-reference-packages/src/targetPacks/ILsrc/netstandard.library/1.6.1/ThirdPartyNotices.txt|unknown
|
src/source-build-reference-packages/src/targetPacks/ILsrc/netstandard.library/1.6.1/ThirdPartyNotices.txt|unknown
|
||||||
src/source-build-reference-packages/src/targetPacks/ILsrc/netstandard.library/2.0.*/THIRD-PARTY-NOTICES.TXT|unknown
|
src/source-build-reference-packages/src/targetPacks/ILsrc/netstandard.library/2.0.*/THIRD-PARTY-NOTICES.TXT|unknown
|
||||||
|
|
|
@ -52,8 +52,11 @@
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.Build.Locator.dll
|
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.Build.Locator.dll
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.*
|
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.*
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.DiaSymReader.dll
|
./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.DiaSymReader.dll
|
||||||
|
./sdk/x.y.z/DotnetTools/dotnet-format/System.CodeDom.dll
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-format/System.Composition.*
|
./sdk/x.y.z/DotnetTools/dotnet-format/System.Composition.*
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-format/System.IO.Pipelines.dll
|
./sdk/x.y.z/DotnetTools/dotnet-format/System.IO.Pipelines.dll
|
||||||
|
./sdk/x.y.z/DotnetTools/dotnet-format/System.Resources.Extensions.dll
|
||||||
|
./sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Cryptography.Xml.dll
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Humanizer.dll
|
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Humanizer.dll
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Build.Locator.dll
|
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Build.Locator.dll
|
||||||
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.AnalyzerUtilities.dll
|
./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.AnalyzerUtilities.dll
|
||||||
|
|
|
@ -61,60 +61,12 @@ msft,./sdk/x.y.z/Extensions/dump/*
|
||||||
# https://github.com/dotnet/msbuild/issues/9213
|
# https://github.com/dotnet/msbuild/issues/9213
|
||||||
msft,./sdk/x.y.z/**/System.Windows.Extensions.dll
|
msft,./sdk/x.y.z/**/System.Windows.Extensions.dll
|
||||||
msft,./sdk/x.y.z/**/System.Security.Permissions.dll
|
msft,./sdk/x.y.z/**/System.Security.Permissions.dll
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Diagnostics.EventLog.dll
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-watch - https://github.com/dotnet/source-build/issues/3285
|
# Exclude format and watch tools due to too much noise
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Elfie.dll
|
msft,./sdk/x.y.z/DotnetTools/dotnet-format/**
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Win32.SystemEvents.dll
|
sb,./sdk/x.y.z/DotnetTools/dotnet-format/**
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/*
|
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/**
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Configuration.ConfigurationManager.dll
|
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/**
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Drawing.Common.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.ProtectedData.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Permissions.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Windows.Extensions.dll
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-watch - https://github.com/dotnet/source-build/issues/3999
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/BuildHost-net472/*
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/BuildHost-netcore/System.Threading.Channels.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/*
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Configuration.ConfigurationManager.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Diagnostics.EventLog.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.IO.Pipelines.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.ProtectedData.dll
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-watch - https://github.com/dotnet/source-build/issues/4035
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/BuildHost-netcore/runtimes/*
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/BuildHost-netcore/System.Text.Encodings.Web.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/BuildHost-netcore/System.Text.Json.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Extensions.DependencyInjection.Abstractions.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.Extensions.Logging.Abstractions.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.Pkcs.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.Xml.dll
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-format - https://github.com/dotnet/source-build/issues/3509
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.Elfie.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/*
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-format - https://github.com/dotnet/source-build/issues/3998
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/BuildHost-net472/*
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/BuildHost-netcore/System.Threading.Channels.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.Build.Tasks.Core.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.Build.Utilities.Core.dll
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.NET.StringTools.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Permissions.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Windows.Extensions.dll
|
|
||||||
|
|
||||||
# netfx runtimes for dotnet-format - https://github.com/dotnet/source-build/issues/4034
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/BuildHost-netcore/Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost.deps.json
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/*
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Collections.Immutable.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Reflection.Metadata.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Text.Encodings.Web.dll
|
|
||||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/System.Text.Json.dll
|
|
||||||
|
|
||||||
# version coherency issue in dotnet-format - https://github.com/dotnet/source-build/issues/4016#issuecomment-1908996093
|
|
||||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler.dll
|
|
||||||
|
|
||||||
# netfx runtimes for fsharp - https://github.com/dotnet/source-build/issues/3290
|
# netfx runtimes for fsharp - https://github.com/dotnet/source-build/issues/3290
|
||||||
msft,./sdk/x.y.z/FSharp/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
msft,./sdk/x.y.z/FSharp/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
||||||
|
@ -128,4 +80,12 @@ msft,./sdk/x.y.z/runtimes/win/lib/netx.y/System.Drawing.Common.dll
|
||||||
|
|
||||||
# runtime components in roslyn layout - https://github.com/dotnet/source-build/issues/4016
|
# runtime components in roslyn layout - https://github.com/dotnet/source-build/issues/4016
|
||||||
sb,./sdk/x.y.z/Roslyn/bincore/System.Collections.Immutable.dll
|
sb,./sdk/x.y.z/Roslyn/bincore/System.Collections.Immutable.dll
|
||||||
sb,./sdk/x.y.z/Roslyn/bincore/System.Reflection.Metadata.dll
|
sb,./sdk/x.y.z/Roslyn/bincore/System.Reflection.Metadata.dll
|
||||||
|
|
||||||
|
# https://github.com/dotnet/source-build/issues/4079
|
||||||
|
sb,./sdk/x.y.z/*/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll
|
||||||
|
sb,./sdk/x.y.z/*/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll
|
||||||
|
sb,./sdk/x.y.z/*/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll
|
||||||
|
sb,./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll
|
||||||
|
sb,./sdk/x.y.z/*/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll
|
||||||
|
msft,./sdk/x.y.z/Extensions/*/*
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,68 +1 @@
|
||||||
<PrebuiltLeakReport>
|
<PrebuiltLeakReport />
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.Win32.SystemEvents.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.CodeDom.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Configuration.ConfigurationManager.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Drawing.Common.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Reflection.MetadataLoadContext.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Resources.Extensions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Cryptography.Pkcs.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Cryptography.ProtectedData.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Cryptography.Xml.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Permissions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/dotnet-sdk-x.y.z/sdk/x.y.z/DotnetTools/dotnet-format/System.Windows.Extensions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/Microsoft.Win32.SystemEvents.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.CodeDom.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Configuration.ConfigurationManager.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Drawing.Common.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Reflection.MetadataLoadContext.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Resources.Extensions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Security.Cryptography.Pkcs.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Security.Cryptography.ProtectedData.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Security.Cryptography.Xml.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Security.Permissions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
<File Path="artifacts/x64/Release/Private.SourceBuilt.Artifacts.x.y.z/dotnet-format.x.y.z/tools/netx.y/any/System.Windows.Extensions.dll">
|
|
||||||
<Type>SourceBuildReferenceAssembly</Type>
|
|
||||||
</File>
|
|
||||||
</PrebuiltLeakReport>
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matt Thalman <mthalman@microsoft.com>
|
||||||
|
Date: Thu, 22 Feb 2024 14:05:54 -0600
|
||||||
|
Subject: [PATCH] Ignore standard error warning format in SB inner command
|
||||||
|
|
||||||
|
Backport: https://github.com/dotnet/arcade/pull/14496
|
||||||
|
---
|
||||||
|
.../tools/SourceBuild/SourceBuildArcadeBuild.targets | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets
|
||||||
|
index 6ef44082..72b9c688 100644
|
||||||
|
--- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets
|
||||||
|
+++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets
|
||||||
|
@@ -214,6 +214,7 @@
|
||||||
|
<Exec
|
||||||
|
Command="$(BaseInnerSourceBuildCommand) $(InnerBuildArgs)"
|
||||||
|
WorkingDirectory="$(InnerSourceBuildRepoRoot)"
|
||||||
|
+ IgnoreStandardErrorWarningFormat="true"
|
||||||
|
EnvironmentVariables="@(InnerBuildEnv)" />
|
||||||
|
</Target>
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matt Thalman <mthalman@microsoft.com>
|
|
||||||
Date: Fri, 19 Jan 2024 08:55:05 -0600
|
|
||||||
Subject: [PATCH] Remove RazorCompiler dependency
|
|
||||||
|
|
||||||
Backport: https://github.com/dotnet/format/issues/2075
|
|
||||||
---
|
|
||||||
Directory.Packages.props | 1 -
|
|
||||||
src/dotnet-format.csproj | 3 ---
|
|
||||||
2 files changed, 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Directory.Packages.props b/Directory.Packages.props
|
|
||||||
index 8da27dea..1b7df1ce 100644
|
|
||||||
--- a/Directory.Packages.props
|
|
||||||
+++ b/Directory.Packages.props
|
|
||||||
@@ -37,7 +37,6 @@
|
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="$(MicrosoftCodeAnalysisVersion)" />
|
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="$(MicrosoftCodeAnalysisVersion)" />
|
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis" Version="$(MicrosoftCodeAnalysisVersion)" />
|
|
||||||
- <PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler" Version="$(MicrosoftCodeAnalysisVersion)" />
|
|
||||||
|
|
||||||
<!-- runtime -->
|
|
||||||
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="$(MicrosoftExtensionsFileSystemGlobbingVersion)" />
|
|
||||||
diff --git a/src/dotnet-format.csproj b/src/dotnet-format.csproj
|
|
||||||
index a07a552b..14323f64 100644
|
|
||||||
--- a/src/dotnet-format.csproj
|
|
||||||
+++ b/src/dotnet-format.csproj
|
|
||||||
@@ -35,9 +35,6 @@
|
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic" />
|
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" />
|
|
||||||
|
|
||||||
- <!-- Included with Microsoft.CodeAnalysis.dll for Razor support -->
|
|
||||||
- <PackageReference Include="Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler" ExcludeAssets="compile" />
|
|
||||||
-
|
|
||||||
<!-- Loaded dynamically -->
|
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Features" />
|
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.Features" />
|
|
|
@ -43,7 +43,7 @@ Backport: https://github.com/dotnet/source-build/issues/3663
|
||||||
35 files changed, 82 insertions(+), 73 deletions(-)
|
35 files changed, 82 insertions(+), 73 deletions(-)
|
||||||
|
|
||||||
diff --git a/Directory.Build.props b/Directory.Build.props
|
diff --git a/Directory.Build.props b/Directory.Build.props
|
||||||
index 10c539090..824602dcb 100644
|
index 4682f1d8c..1da4c0161 100644
|
||||||
--- a/Directory.Build.props
|
--- a/Directory.Build.props
|
||||||
+++ b/Directory.Build.props
|
+++ b/Directory.Build.props
|
||||||
@@ -34,8 +34,8 @@
|
@@ -34,8 +34,8 @@
|
||||||
|
@ -54,9 +54,9 @@ index 10c539090..824602dcb 100644
|
||||||
- <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net8.0/fsyacc.dll</FsYaccPath>
|
- <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net8.0/fsyacc.dll</FsYaccPath>
|
||||||
+ <FsLexPath>$(ArtifactsDir)/bin/fslex/$(Configuration)/net9.0/fslex.dll</FsLexPath>
|
+ <FsLexPath>$(ArtifactsDir)/bin/fslex/$(Configuration)/net9.0/fslex.dll</FsLexPath>
|
||||||
+ <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net9.0/fsyacc.dll</FsYaccPath>
|
+ <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net9.0/fsyacc.dll</FsYaccPath>
|
||||||
|
<DefineConstants>NO_CHECKNULLS;BUILDING_WITH_LKG;NO_NULLCHECKING_LIB_SUPPORT;$(DefineConstants)</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(MSBuildThisFileDirectory)/eng/Versions.props" Condition="'$(DISABLE_ARCADE)' == 'true'"/>
|
|
||||||
diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
||||||
index 46ffb722c..9d391689d 100644
|
index 46ffb722c..9d391689d 100644
|
||||||
--- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
--- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
||||||
|
@ -110,10 +110,10 @@ index fc072b7cf..4110186e5 100644
|
||||||
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
|
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
|
||||||
<RollForward Condition="'$(BUILDING_USING_DOTNET)' == 'true'">LatestMajor</RollForward>
|
<RollForward Condition="'$(BUILDING_USING_DOTNET)' == 'true'">LatestMajor</RollForward>
|
||||||
diff --git a/eng/build.sh b/eng/build.sh
|
diff --git a/eng/build.sh b/eng/build.sh
|
||||||
index 3b992d6bf..3a4444081 100755
|
index b8915397d..4e020e84c 100755
|
||||||
--- a/eng/build.sh
|
--- a/eng/build.sh
|
||||||
+++ b/eng/build.sh
|
+++ b/eng/build.sh
|
||||||
@@ -264,8 +264,8 @@ function BuildSolution {
|
@@ -269,8 +269,8 @@ function BuildSolution {
|
||||||
MSBuild "$repo_root/buildtools/buildtools.proj" /restore "$bltools" /p:Configuration=$bootstrap_config
|
MSBuild "$repo_root/buildtools/buildtools.proj" /restore "$bltools" /p:Configuration=$bootstrap_config
|
||||||
|
|
||||||
mkdir -p "$bootstrap_dir"
|
mkdir -p "$bootstrap_dir"
|
||||||
|
@ -124,7 +124,7 @@ index 3b992d6bf..3a4444081 100755
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
|
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
|
||||||
local bltools=""
|
local bltools=""
|
||||||
@@ -274,7 +274,7 @@ function BuildSolution {
|
@@ -279,7 +279,7 @@ function BuildSolution {
|
||||||
fi
|
fi
|
||||||
BuildMessage="Error building bootstrap"
|
BuildMessage="Error building bootstrap"
|
||||||
MSBuild "$repo_root/Proto.sln" /restore "$bltools" /p:Configuration=$bootstrap_config
|
MSBuild "$repo_root/Proto.sln" /restore "$bltools" /p:Configuration=$bootstrap_config
|
||||||
|
@ -389,7 +389,7 @@ index e3c796d0b..e4926cd6c 100644
|
||||||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||||
<UnitTestType>xunit</UnitTestType>
|
<UnitTestType>xunit</UnitTestType>
|
||||||
diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
||||||
index a9dd53828..a33c287be 100644
|
index ec4fc441f..5d2b5a0ce 100644
|
||||||
--- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
--- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
||||||
+++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
+++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
||||||
@@ -3,8 +3,8 @@
|
@@ -3,8 +3,8 @@
|
||||||
|
@ -469,7 +469,7 @@ index 4b6c5c534..1b20371c4 100644
|
||||||
|
|
||||||
<AssemblyName>FSharp.Core.UnitTests</AssemblyName>
|
<AssemblyName>FSharp.Core.UnitTests</AssemblyName>
|
||||||
diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
||||||
index 5cfcba98c..c67b8f85d 100644
|
index 8c1816177..81762e504 100644
|
||||||
--- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
--- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
||||||
+++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
+++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
||||||
@@ -1,8 +1,8 @@
|
@@ -1,8 +1,8 @@
|
||||||
|
@ -522,7 +522,7 @@ index 9706167ff..e02746a8e 100644
|
||||||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||||
<!-- Turn off "This function is for use by compiled F# code and should not be used directly" -->
|
<!-- Turn off "This function is for use by compiled F# code and should not be used directly" -->
|
||||||
diff --git a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
diff --git a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
||||||
index 13add7032..4bbae272f 100644
|
index fe6d95f90..9f81af284 100644
|
||||||
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
||||||
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
|
@ -533,9 +533,9 @@ index 13add7032..4bbae272f 100644
|
||||||
+ <TargetFramework>net9.0</TargetFramework>
|
+ <TargetFramework>net9.0</TargetFramework>
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<RootNamespace>HistoricalBenchmark.Utilities</RootNamespace>
|
<RootNamespace>HistoricalBenchmark.Utilities</RootNamespace>
|
||||||
</PropertyGroup>
|
<NoWarn>$(NoWarn);NETSDK1206</NoWarn>
|
||||||
diff --git a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
diff --git a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
||||||
index 2534ba292..feef2eaf7 100644
|
index 09ca5cb69..575bb32a3 100644
|
||||||
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
||||||
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
|
@ -548,7 +548,7 @@ index 2534ba292..feef2eaf7 100644
|
||||||
<Configurations>Release</Configurations>
|
<Configurations>Release</Configurations>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
diff --git a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
diff --git a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
||||||
index 55968eddd..e62ac8b85 100644
|
index 043de02d3..d10a33cb6 100644
|
||||||
--- a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
--- a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
||||||
+++ b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
+++ b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
|
@ -561,7 +561,7 @@ index 55968eddd..e62ac8b85 100644
|
||||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
diff --git a/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj b/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
diff --git a/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj b/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
||||||
index 3774aa870..03c11414e 100644
|
index 92255adb4..e2f32b3ee 100644
|
||||||
--- a/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
--- a/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
||||||
+++ b/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
+++ b/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Matt Thalman <mthalman@microsoft.com>
|
From: Matt Thalman <mthalman@microsoft.com>
|
||||||
Date: Thu, 18 Jan 2024 10:43:54 -0600
|
Date: Fri, 23 Feb 2024 09:48:43 -0600
|
||||||
Subject: [PATCH] Set NetRoslyn value for VMR build
|
Subject: [PATCH] Set NetRoslyn value for VMR build
|
||||||
|
|
||||||
Backport: https://github.com/dotnet/roslyn/pull/71704
|
Backport: https://github.com/dotnet/roslyn/pull/71704
|
||||||
|
@ -9,14 +9,14 @@ Backport: https://github.com/dotnet/roslyn/pull/71704
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/eng/targets/TargetFrameworks.props b/eng/targets/TargetFrameworks.props
|
diff --git a/eng/targets/TargetFrameworks.props b/eng/targets/TargetFrameworks.props
|
||||||
index d36aba87611..6061394d5e9 100644
|
index a7643fcbcfd..054428128b3 100644
|
||||||
--- a/eng/targets/TargetFrameworks.props
|
--- a/eng/targets/TargetFrameworks.props
|
||||||
+++ b/eng/targets/TargetFrameworks.props
|
+++ b/eng/targets/TargetFrameworks.props
|
||||||
@@ -49,6 +49,7 @@
|
@@ -51,6 +51,7 @@
|
||||||
<NetRoslynToolset>$(NetCurrent)</NetRoslynToolset>
|
<NetRoslynToolset>$(NetCurrent)</NetRoslynToolset>
|
||||||
<NetRoslynSourceBuild>$(NetCurrent);$(NetPrevious)</NetRoslynSourceBuild>
|
<NetRoslynSourceBuild>$(NetCurrent);$(NetPrevious)</NetRoslynSourceBuild>
|
||||||
<NetRoslynAll>$(NetCurrent);$(NetPrevious)</NetRoslynAll>
|
<NetRoslynAll>$(NetCurrent);$(NetPrevious)</NetRoslynAll>
|
||||||
+ <NetRoslyn>$(NetCurrent)</NetRoslyn>
|
+ <NetRoslyn>$(NetCurrent)</NetRoslyn>
|
||||||
|
<NetRoslynBuildHostNetCoreVersion>$(NetCurrent)</NetRoslynBuildHostNetCoreVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</When>
|
</When>
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Matt Thalman <mthalman@microsoft.com>
|
|
||||||
Date: Thu, 19 Oct 2023 08:52:35 -0500
|
|
||||||
Subject: [PATCH] Use net9.0 for tool dependencies
|
|
||||||
|
|
||||||
Backport: https://github.com/dotnet/source-build/issues/3663
|
|
||||||
---
|
|
||||||
src/Layout/tool_fsharp/tool_fsc.csproj | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/Layout/tool_fsharp/tool_fsc.csproj b/src/Layout/tool_fsharp/tool_fsc.csproj
|
|
||||||
index adb50eed03..530c3a546b 100644
|
|
||||||
--- a/src/Layout/tool_fsharp/tool_fsc.csproj
|
|
||||||
+++ b/src/Layout/tool_fsharp/tool_fsc.csproj
|
|
||||||
@@ -20,7 +20,7 @@
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResolvedFileToPublish
|
|
||||||
- Include="$(PkgMicrosoft_FSharp_Compiler)/lib/net8.0/FSharp.Core.xml"
|
|
||||||
+ Include="$(PkgMicrosoft_FSharp_Compiler)/lib/net9.0/FSharp.Core.xml"
|
|
||||||
CopyToPublishDirectory="PreserveNewest"
|
|
||||||
DestinationSubPath="FSharp.Core.xml"
|
|
||||||
RelativePath="FSharp.Core.xml"
|
|
|
@ -1,32 +0,0 @@
|
||||||
trigger: none
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- name: cfsNPMWarnLevel
|
|
||||||
value: none
|
|
||||||
|
|
||||||
- name: cfsNugetWarnLevel
|
|
||||||
value: none
|
|
||||||
|
|
||||||
- name: myGetWarnLevel
|
|
||||||
value: none
|
|
||||||
|
|
||||||
- name: NuGetSecurityAnalysisWarningLevel
|
|
||||||
value: none
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: ../../src/installer/src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
|
||||||
parameters:
|
|
||||||
architecture: x64
|
|
||||||
excludeSdkContentTests: true
|
|
||||||
matrix:
|
|
||||||
Ubuntu2004-Offline:
|
|
||||||
_BootstrapPrep: true
|
|
||||||
_Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04
|
|
||||||
_EnablePoison: false
|
|
||||||
_ExcludeOmniSharpTests: false
|
|
||||||
_RunOnline: false
|
|
||||||
_WithPreviousSDK: false
|
|
||||||
name: Build_Tarball_x64
|
|
||||||
pool:
|
|
||||||
name: NetCore1ESPool-Svc-Internal
|
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
|
|
@ -1,4 +1,5 @@
|
||||||
*.bmp
|
*.bmp
|
||||||
|
*.doc
|
||||||
*.docx
|
*.docx
|
||||||
*.gif
|
*.gif
|
||||||
*.ico
|
*.ico
|
||||||
|
|
|
@ -64,7 +64,8 @@
|
||||||
"name": "aspire",
|
"name": "aspire",
|
||||||
"defaultRemote": "https://github.com/dotnet/aspire",
|
"defaultRemote": "https://github.com/dotnet/aspire",
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"src/Aspire.Dashboard/**/*"
|
"src/Aspire.Dashboard/**/*",
|
||||||
|
"samples/**/*"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue