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,
|
||||
"tools": {
|
||||
"microsoft.dotnet.darc": {
|
||||
"version": "1.1.0-beta.24074.1",
|
||||
"version": "1.1.0-beta.24112.3",
|
||||
"commands": [
|
||||
"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
|
||||
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
|
||||
`/workspaces/dotnet/artifacts/x64/Release`.
|
||||
`/workspaces/dotnet/artifacts/assets/Release`.
|
||||
|
||||
## Build the SDK
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ stages:
|
|||
parameters:
|
||||
agentOs: Linux
|
||||
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
|
||||
buildArchitecture: x64
|
||||
runtimeIdentifier: 'linux-musl-x64'
|
||||
|
@ -222,7 +222,7 @@ stages:
|
|||
parameters:
|
||||
agentOs: Linux
|
||||
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
|
||||
buildArchitecture: x64
|
||||
runtimeIdentifier: 'linux-musl-x64'
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</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)' == 's390x'">$(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.
|
||||
|
||||
### 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
|
||||
--------------------------------------------------------------------------------------
|
||||
| Platform | main<br>(9.0.x 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 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 arm** | **N/A** | **N/A** | **N/A** |
|
||||
| **Windows arm64** | [![][win-arm64-badge-main]][win-arm64-version-main]<br>[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]<br>[zip][win-arm64-zip-main] | [![][win-arm64-badge-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 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] |
|
||||
| **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 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 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-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-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-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] |
|
||||
| **RHEL 6** | **N/A** | **N/A** | **N/A** |
|
||||
| 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-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-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** | **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-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-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-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-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-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-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-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-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-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** | **N/A** |
|
||||
|
||||
Reference notes:
|
||||
> **1**: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing the SDK from the .deb file (via dpkg or similar), then you'll need to install the corresponding dependencies first:
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
@ -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-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-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
|
||||
|
|
|
@ -8,13 +8,25 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<Target Name="ConfigureInnerBuildArg" BeforeTargets="GetSourceBuildCommandConfiguration">
|
||||
<PropertyGroup>
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:SkipBuildingInstallers=true</InnerBuildArgs>
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeNuGetPackageArchive=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="'$(PgoInstrument)' == 'true'">$(InnerBuildArgs) /p:PgoInstrument=true</InnerBuildArgs>
|
||||
</PropertyGroup>
|
||||
</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>
|
||||
|
|
|
@ -5,42 +5,41 @@
|
|||
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.
|
||||
-->
|
||||
<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>
|
||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
||||
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||
</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>
|
||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
||||
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||
</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>
|
||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
||||
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||
</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>
|
||||
<Sha>22ec63c9172b7998b103de28ceb98cf5b53d52b3</Sha>
|
||||
<Sha>6cd8a235fa93f02ae0400a78625dab312c4642f2</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<SourceBuild RepoName="runtime" ManagedOnly="false" />
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</Dependency>
|
||||
<!-- Change blob version in GenerateLayout.targets if this is unpinned to service targeting pack -->
|
||||
<!-- No new netstandard.library planned for 3.1 timeframe at this time. -->
|
||||
|
@ -48,56 +47,72 @@
|
|||
<Uri>https://github.com/dotnet/core-setup</Uri>
|
||||
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="9.0.0-preview.2.24075.3" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/aspnetcore</Uri>
|
||||
<Sha>de12f70f8d536a72bd8c6a2add8f6c8ad8f344af</Sha>
|
||||
<!-- Intermediate is necessary for source build. -->
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.runtime.linux-x64" Version="9.0.0-preview.2.24123.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
<SourceBuild RepoName="runtime" ManagedOnly="false" />
|
||||
</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>
|
||||
<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" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" 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="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">
|
||||
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="9.0.100-preview.2.24123.3">
|
||||
<Uri>https://github.com/dotnet/sdk</Uri>
|
||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
||||
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||
</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>
|
||||
<Sha>370bf4de035b328f8aadd69f0c2abbad14196f4f</Sha>
|
||||
<Sha>e0a3cd9377fb9decba91d8cbcd50f2fe6107b12c</Sha>
|
||||
</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>
|
||||
<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" />
|
||||
</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">
|
||||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>0385265f4d0b6413d64aea0223172366a9b9858c</Sha>
|
||||
|
@ -114,55 +129,76 @@
|
|||
<Uri>https://github.com/dotnet/test-templates</Uri>
|
||||
<Sha>becc4bd157cd6608b51a5ffe414a5d2de6330272</Sha>
|
||||
</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>
|
||||
<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" />
|
||||
</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 -->
|
||||
<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>
|
||||
<Sha>daf3f4db5de296ac78b51d279e86a38c62255e0b</Sha>
|
||||
<Sha>822e882f4080b6197234cd82ad0d2f2a485a4f35</Sha>
|
||||
</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>
|
||||
<Sha>b9272765feae8da69fee7340c127add8296917fb</Sha>
|
||||
<Sha>a86dc342ee4a97a9d36c1e55503e5d7ae7eb8b80</Sha>
|
||||
</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>
|
||||
<Sha>32898dc51efc669de98e7e47f57d521bc07ac4cc</Sha>
|
||||
<Sha>02bb351b606468bce98688fccda9d0c8adcd964d</Sha>
|
||||
</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>
|
||||
<Sha>32898dc51efc669de98e7e47f57d521bc07ac4cc</Sha>
|
||||
<Sha>02bb351b606468bce98688fccda9d0c8adcd964d</Sha>
|
||||
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
|
||||
</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>
|
||||
<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" />
|
||||
</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>
|
||||
<Sha>0d81a5ac76948b49840c3a6f44703bfd6489109b</Sha>
|
||||
<Sha>99b76018b6e4edc4ce185dd5f3c5697c6941d88e</Sha>
|
||||
</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>
|
||||
<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" />
|
||||
</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>
|
||||
<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" />
|
||||
</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>
|
||||
<Sha>d55931a69dcda3dcb87ba46a09fe268e0febc223</Sha>
|
||||
<Sha>63958aab19b7120862ff55eac32ab6a155596a59</Sha>
|
||||
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<!-- TODO -->
|
||||
|
@ -170,81 +206,109 @@
|
|||
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
|
||||
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
|
||||
</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>
|
||||
<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" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-8.0.100" Version="8.0.0-preview.3.24060.4">
|
||||
<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">
|
||||
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="2.0.0-preview.1.24113.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
||||
<Sha>e56c69b0610b50407d29fdc2dda2574712a7b94d</Sha>
|
||||
<Sha>822ff266c5f999ab9ceb6928df59d79285ea4a4f</Sha>
|
||||
</Dependency>
|
||||
<!-- Explicit dependency because Microsoft.Deployment.DotNet.Releases has different versioning
|
||||
than the SB intermediate -->
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.deployment-tools" Version="9.0.0-preview.1.24067.1" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<!-- Intermediate is necessary for source build. -->
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.deployment-tools" Version="9.0.0-preview.1.24113.2" CoherentParentDependency="Microsoft.NET.Sdk">
|
||||
<Uri>https://github.com/dotnet/deployment-tools</Uri>
|
||||
<Sha>e56c69b0610b50407d29fdc2dda2574712a7b94d</Sha>
|
||||
<Sha>822ff266c5f999ab9ceb6928df59d79285ea4a4f</Sha>
|
||||
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
|
||||
</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>
|
||||
<Sha>414a85bf970355c0e91d6a2de1ee183fafbfcecd</Sha>
|
||||
<Sha>ddfb60463c966af55fd0e222c2266170e83d1324</Sha>
|
||||
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
|
||||
</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>
|
||||
<Sha>ecd2ce5eafbba3008a7d4f5d04b025d30928c812</Sha>
|
||||
<Sha>e9ac4ff4293cf853f3d07eb9e747aef27f5be965</Sha>
|
||||
</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>
|
||||
<Sha>ecd2ce5eafbba3008a7d4f5d04b025d30928c812</Sha>
|
||||
<Sha>e9ac4ff4293cf853f3d07eb9e747aef27f5be965</Sha>
|
||||
<SourceBuild RepoName="command-line-api" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<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>
|
||||
<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" />
|
||||
</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">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>ab1a8224cdf115b65e0db5dc88d11f205068f444</Sha>
|
||||
</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>
|
||||
<Sha>e659f328bf255d3e17e81296117c3aed1d461f2f</Sha>
|
||||
<Sha>539af5d8ae183d4fe61e8b2f8f4a8505c8a765a7</Sha>
|
||||
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.ScenarioTests.SdkTemplateTests" Version="9.0.0-preview.24057.2">
|
||||
<Uri>https://github.com/dotnet/scenario-tests</Uri>
|
||||
<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" />
|
||||
</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>
|
||||
</Dependencies>
|
||||
|
|
|
@ -9,6 +9,10 @@
|
|||
<VersionMinor>0</VersionMinor>
|
||||
<VersionSDKMinor>1</VersionSDKMinor>
|
||||
<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>
|
||||
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
|
||||
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
|
||||
|
@ -19,7 +23,7 @@
|
|||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' != 'true'">preview</PreReleaseVersionLabel>
|
||||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' == '00'">rtm</PreReleaseVersionLabel>
|
||||
<PreReleaseVersionLabel Condition="'$(StabilizePackageVersion)' == 'true' and '$(VersionFeature)' != '00'">servicing</PreReleaseVersionLabel>
|
||||
<PreReleaseVersionIteration Condition="'$(StabilizePackageVersion)' != 'true'">2</PreReleaseVersionIteration>
|
||||
<PreReleaseVersionIteration Condition="'$(StabilizePackageVersion)' != 'true'">3</PreReleaseVersionIteration>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<VersionFeature21>30</VersionFeature21>
|
||||
|
@ -40,19 +44,19 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
<!-- Dependency from https://github.com/dotnet/test-templates -->
|
||||
|
@ -64,8 +68,8 @@
|
|||
<!-- Supported versions -->
|
||||
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.24069.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24076.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24076.1</MicrosoftDotNetTestProjectTemplates90PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.24120.2</MicrosoftDotNetTestProjectTemplates80PackageVersion>
|
||||
<MicrosoftDotNetTestProjectTemplates90PackageVersion>1.1.0-rc.24120.2</MicrosoftDotNetTestProjectTemplates90PackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
|
||||
|
@ -73,13 +77,13 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRefPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.2.24075.3</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24075.3</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
|
||||
<DotnetDevCertsPackageVersion>9.0.0-preview.2.24075.3</DotnetDevCertsPackageVersion>
|
||||
<DotnetUserJwtsPackageVersion>9.0.0-preview.2.24075.3</DotnetUserJwtsPackageVersion>
|
||||
<DotnetUserSecretsPackageVersion>9.0.0-preview.2.24075.3</DotnetUserSecretsPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefPackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRefPackageVersion>
|
||||
<MicrosoftAspNetCoreAppRefInternalPackageVersion>9.0.0-preview.2.24121.1</MicrosoftAspNetCoreAppRefInternalPackageVersion>
|
||||
<VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24121.1</VSRedistCommonAspNetCoreSharedFrameworkx6490PackageVersion>
|
||||
<DotnetDevCertsPackageVersion>9.0.0-preview.2.24121.1</DotnetDevCertsPackageVersion>
|
||||
<DotnetUserJwtsPackageVersion>9.0.0-preview.2.24121.1</DotnetUserJwtsPackageVersion>
|
||||
<DotnetUserSecretsPackageVersion>9.0.0-preview.2.24121.1</DotnetUserSecretsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
|
||||
|
@ -87,36 +91,36 @@
|
|||
<!-- TODO -->
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/sdk -->
|
||||
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.2.24076.3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
||||
<MicrosoftNETSdkPackageVersion>9.0.100-preview.2.24076.3</MicrosoftNETSdkPackageVersion>
|
||||
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.2.24076.3</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
|
||||
<MicrosoftDotNetCommonItemTemplatesPackageVersion>9.0.100-preview.2.24123.3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
|
||||
<MicrosoftNETSdkPackageVersion>9.0.100-preview.2.24123.3</MicrosoftNETSdkPackageVersion>
|
||||
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>9.0.100-preview.2.24123.3</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
|
||||
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
|
||||
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
|
||||
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
<!-- Dependencies from https://github.com/dotnet/core-setup -->
|
||||
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24076.4</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
|
||||
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.2.24076.4</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.2.24076.4</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24123.1</VSRedistCommonNetCoreSharedFrameworkx6490PackageVersion>
|
||||
<VSRedistCommonNetCoreTargetingPackx6490PackageVersion>9.0.0-preview.2.24123.1</VSRedistCommonNetCoreTargetingPackx6490PackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppHostwinx64PackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppHostwinx64PackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>9.0.0-preview.2.24123.1</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
|
||||
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24075.4</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
|
||||
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.2.24075.4</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.2.24075.4</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.2.24075.4</MicrosoftWindowsDesktopAppRefPackageVersion>
|
||||
<VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>9.0.0-preview.2.24122.1</VSRedistCommonWindowsDesktopSharedFrameworkx6490PackageVersion>
|
||||
<VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>9.0.0-preview.2.24122.1</VSRedistCommonWindowsDesktopTargetingPackx6490PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>9.0.0-preview.2.24122.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWindowsDesktopAppRefPackageVersion>9.0.0-preview.2.24122.1</MicrosoftWindowsDesktopAppRefPackageVersion>
|
||||
</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. -->
|
||||
|
@ -127,11 +131,11 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/NuGet/NuGet.Client -->
|
||||
<NuGetBuildTasksPackageVersion>6.9.0-rc.86</NuGetBuildTasksPackageVersion>
|
||||
<NuGetBuildTasksPackageVersion>6.10.0-preview.2.41</NuGetBuildTasksPackageVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Dependencies from https://github.com/dotnet/deployment-tools -->
|
||||
<PropertyGroup>
|
||||
<MicrosoftDeploymentDotNetReleasesVersion>2.0.0-preview.1.24067.1</MicrosoftDeploymentDotNetReleasesVersion>
|
||||
<MicrosoftDeploymentDotNetReleasesVersion>2.0.0-preview.1.24113.2</MicrosoftDeploymentDotNetReleasesVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<!-- TODO -->
|
||||
|
@ -186,7 +190,8 @@
|
|||
<SharedHostVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedHostVersion>
|
||||
</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>
|
||||
<!-- 9.0 Template versions -->
|
||||
|
@ -248,23 +253,23 @@
|
|||
<PropertyGroup>
|
||||
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
|
||||
<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>
|
||||
<MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>9.0.0-preview.24057.2</MicrosoftDotNetScenarioTestsSdkTemplateTestsVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
<AspireFeatureBand>8.0.100</AspireFeatureBand>
|
||||
<AspireWorkloadManifestVersion>8.0.0-preview.3.24060.4</AspireWorkloadManifestVersion>
|
||||
<MauiFeatureBand>9.0.100-alpha.1</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>9.0.0-ci.net9.9818</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>34.99.0-preview.1.109</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>17.0.9712-net9-p1</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>17.0.9712-net9-p1</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>14.0.9712-net9-p1</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>17.0.9712-net9-p1</XamarinTvOSWorkloadManifestVersion>
|
||||
<AspireFeatureBand>9.0.100-preview.1</AspireFeatureBand>
|
||||
<MicrosoftNETSdkAspireManifest90100preview1PackageVersion>9.0.0-preview.1.24116.3</MicrosoftNETSdkAspireManifest90100preview1PackageVersion>
|
||||
<MauiFeatureBand>9.0.100-preview.1</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>9.0.0-preview.1.9973</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>34.99.0-preview.1.151</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>17.2.9088-net9-p1</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>17.2.9088-net9-p1</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>14.2.9088-net9-p1</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>17.2.9088-net9-p1</XamarinTvOSWorkloadManifestVersion>
|
||||
<!-- 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>
|
||||
<!-- 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>
|
||||
|
|
|
@ -83,10 +83,10 @@ jobs:
|
|||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: $(DncEngPublicBuildPool)
|
||||
demands: ImageOverride -equals windows.vs2019.amd64.open
|
||||
demands: ImageOverride -equals windows.vs2022.amd64.open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: $(DncEngInternalBuildPool)
|
||||
demands: ImageOverride -equals windows.vs2019.amd64
|
||||
demands: ImageOverride -equals windows.vs2022.amd64
|
||||
${{ if eq(parameters.agentOs, 'Linux') }}:
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
|
|
|
@ -35,6 +35,10 @@ fi
|
|||
case "$CPUName" in
|
||||
arm64|aarch64)
|
||||
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)
|
||||
|
|
|
@ -64,7 +64,7 @@ try {
|
|||
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
|
||||
}
|
||||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "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") {
|
||||
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
|
||||
|
|
|
@ -58,7 +58,7 @@ jobs:
|
|||
demands: Cmd
|
||||
# If it's not devdiv, it's dnceng
|
||||
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||
name: $(DncEngInternalBuildPool)
|
||||
name: NetCore1ESPool-Publishing-Internal
|
||||
demands: ImageOverride -equals windows.vs2019.amd64
|
||||
|
||||
steps:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
parameters:
|
||||
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
|
||||
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
|
||||
preSteps: []
|
||||
|
|
|
@ -259,7 +259,7 @@ stages:
|
|||
demands: Cmd
|
||||
# If it's not devdiv, it's dnceng
|
||||
${{ else }}:
|
||||
name: $(DncEngInternalBuildPool)
|
||||
name: NetCore1ESPool-Publishing-Internal
|
||||
demands: ImageOverride -equals windows.vs2019.amd64
|
||||
steps:
|
||||
- template: setup-maestro-vars.yml
|
||||
|
|
|
@ -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
|
||||
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
|
||||
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
|
||||
HelixPreCommands: '' # optional -- commands to run before 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
|
||||
|
||||
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)
|
||||
env:
|
||||
BuildConfig: $(_BuildConfig)
|
||||
|
@ -59,7 +61,7 @@ steps:
|
|||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
|
||||
continueOnError: ${{ parameters.continueOnError }}
|
||||
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /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)
|
||||
env:
|
||||
BuildConfig: $(_BuildConfig)
|
||||
|
|
|
@ -379,8 +379,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
|
||||
# If the version of msbuild is going to be xcopied,
|
||||
# use this version. Version matches a package here:
|
||||
# https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.8.1-2
|
||||
$defaultXCopyMSBuildVersion = '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.5'
|
||||
|
||||
if (!$vsRequirements) {
|
||||
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
|
||||
|
@ -445,7 +445,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
if ($xcopyMSBuildVersion.Trim() -ine "none") {
|
||||
$vsInstallDir = InitializeXCopyMSBuild $xcopyMSBuildVersion $install
|
||||
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) {
|
||||
|
@ -482,7 +482,7 @@ function InstallXCopyMSBuild([string]$packageVersion) {
|
|||
}
|
||||
|
||||
function InitializeXCopyMSBuild([string]$packageVersion, [bool]$install) {
|
||||
$packageName = 'RoslynTools.MSBuild'
|
||||
$packageName = 'Microsoft.DotNet.Arcade.MSBuild.Xcopy'
|
||||
$packageDir = Join-Path $ToolsDir "msbuild\$packageVersion"
|
||||
$packagePath = Join-Path $packageDir "$packageName.$packageVersion.nupkg"
|
||||
|
||||
|
|
|
@ -1,23 +1,7 @@
|
|||
### This job source-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
|
||||
### This job builds https://github.com/dotnet/dotnet with given parameters
|
||||
### If run in an installer PR, new changes are applied to a local copy of the VMR, then it is built and tested
|
||||
|
||||
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
|
||||
type: string
|
||||
|
||||
|
@ -25,34 +9,60 @@ parameters:
|
|||
type: string
|
||||
default: ''
|
||||
|
||||
- name: buildName
|
||||
type: string
|
||||
|
||||
- name: container
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
- name: crossRootFs
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
- name: pool
|
||||
type: object
|
||||
|
||||
# Allow downloading artifacts from the internet during the build
|
||||
- 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
|
||||
- name: targetOS
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
- name: excludeOmniSharpTests
|
||||
type: boolean
|
||||
- name: targetArchitecture
|
||||
type: string
|
||||
default: ''
|
||||
|
||||
- name: enablePoison
|
||||
type: boolean
|
||||
#### SOURCE-ONLY parameters ####
|
||||
|
||||
# Instead of building the VMR directly, exports the sources into a tarball and builds from that
|
||||
- name: buildFromArchive
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# Use the previous version's SDK to build the current one
|
||||
- name: withPreviousSDK
|
||||
# Enable for source-building the VMR
|
||||
- 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
|
||||
default: false
|
||||
|
||||
|
@ -61,13 +71,25 @@ parameters:
|
|||
type: boolean
|
||||
default: false
|
||||
|
||||
- name: crossRootFS
|
||||
# Freeform field for extra values to pass to build.sh for special build modes
|
||||
- name: extraProperties
|
||||
type: string
|
||||
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
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
|
||||
|
@ -90,6 +112,13 @@ jobs:
|
|||
- name: additionalBuildArgs
|
||||
value: ''
|
||||
|
||||
- ${{ if parameters.isBuiltFromVmr }}:
|
||||
- name: vmrPath
|
||||
value: $(Build.SourcesDirectory)
|
||||
- ${{ else }}:
|
||||
- name: vmrPath
|
||||
value: $(Agent.BuildDirectory)/vmr
|
||||
|
||||
# Location of the VMR sources
|
||||
# We either build the repo directly, or we extract them outside (which is what partners do)
|
||||
- ${{ if parameters.buildFromArchive }}:
|
||||
|
@ -97,35 +126,34 @@ jobs:
|
|||
value: $(Build.StagingDirectory)/dotnet-sources/
|
||||
- ${{ else }}:
|
||||
- name: sourcesPath
|
||||
value: ${{ parameters.vmrPath }}
|
||||
value: $(vmrPath)
|
||||
|
||||
steps:
|
||||
- ${{ if not(parameters.isBuiltFromVmr) }}:
|
||||
- template: ../steps/vmr-prepare.yml
|
||||
parameters:
|
||||
${{ 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')) }}:
|
||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- template: ../steps/vmr-pull-updates.yml
|
||||
parameters:
|
||||
vmrPath: ${{ parameters.vmrPath }}
|
||||
vmrPath: $(vmrPath)
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
targetRef: $(Build.SourceVersion) # Synchronize the current installer commit
|
||||
|
||||
- ${{ if parameters.buildFromArchive }}:
|
||||
- script: |
|
||||
set -ex
|
||||
cp -r "${{ parameters.vmrPath }}" "$(sourcesPath)"
|
||||
cp -r "$(vmrPath)" "$(sourcesPath)"
|
||||
rm -rf "$(sourcesPath)/.git"
|
||||
displayName: Export VMR sources
|
||||
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"
|
||||
displayName: Copy Test NuGet Config
|
||||
|
||||
|
@ -150,7 +178,7 @@ jobs:
|
|||
inputs:
|
||||
SourceFolder: $(Pipeline.Workspace)/${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
|
||||
Contents: '*.tar.gz'
|
||||
TargetFolder: ${{ variables.sourcesPath }}/prereqs/packages/archive/
|
||||
TargetFolder: $(sourcesPath)/prereqs/packages/archive/
|
||||
|
||||
- ${{ if eq(parameters.withPreviousSDK, 'true') }}:
|
||||
- script: |
|
||||
|
@ -161,7 +189,7 @@ jobs:
|
|||
exit 1
|
||||
fi
|
||||
|
||||
packageVersionsPath="${{ variables.sourcesPath }}/eng/Versions.props"
|
||||
packageVersionsPath="$(sourcesPath)/eng/Versions.props"
|
||||
notFoundMessage="No source-built SDK found to download..."
|
||||
|
||||
echo "Looking for source-built SDK to download..."
|
||||
|
@ -181,8 +209,15 @@ jobs:
|
|||
fi
|
||||
displayName: Setup Previously Source-Built SDK
|
||||
|
||||
- ${{ if eq(parameters.targetOS, 'windows') }}:
|
||||
- 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
|
||||
|
@ -210,22 +245,15 @@ jobs:
|
|||
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
|
||||
set -ex
|
||||
df -h
|
||||
|
||||
# Allows Arcade to have access to the commit for the build
|
||||
customEnvVars="BUILD_SOURCEVERSION=$BUILD_SOURCEVERSION"
|
||||
customBuildArgs="--ci --prepareMachine"
|
||||
customEnvVars=""
|
||||
customBuildArgs="--ci --clean-while-building --prepareMachine"
|
||||
if [[ '${{ parameters.runOnline }}' == 'True' ]]; then
|
||||
customBuildArgs="$customBuildArgs --online"
|
||||
fi
|
||||
|
@ -236,35 +264,43 @@ jobs:
|
|||
|
||||
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)"
|
||||
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.container }}" ]]; then
|
||||
useDocker=true
|
||||
fi
|
||||
|
||||
if [[ ! -z '${{ parameters.targetRid }}' ]]; then
|
||||
extraBuildProperties="--"
|
||||
if [[ '${{ parameters.useMonoRuntime }}' == 'True' ]]; then
|
||||
if [[ -n "${{ parameters.crossRootFs }}" ]]; then
|
||||
customEnvVars="$customEnvVars ROOTFS_DIR=${{ parameters.crossRootFs}}"
|
||||
if [[ '${{ parameters.targetArchitecture }}' != 'wasm' ]]; 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}}"
|
||||
if [[ ! -z '${{ parameters.targetOS }}' ]]; then
|
||||
extraBuildProperties="$extraBuildProperties /p:TargetOS=${{ parameters.targetOS }}"
|
||||
fi
|
||||
|
||||
if [[ ! -z '${{ parameters.targetRid }}' ]]; then
|
||||
extraBuildProperties="$extraBuildProperties /p:OverrideTargetRid=${{ parameters.targetRid }}"
|
||||
if [[ ! -z '${{ parameters.targetArchitecture }}' ]]; then
|
||||
extraBuildProperties="$extraBuildProperties /p:TargetArchitecture=${{ parameters.targetArchitecture }}"
|
||||
fi
|
||||
|
||||
# Only use Docker stuff on Linux
|
||||
if [[ "$useDocker" == "true" ]]; then
|
||||
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"
|
||||
|
@ -274,21 +310,21 @@ jobs:
|
|||
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
|
||||
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 --source-only --clean-while-building $(additionalBuildArgs) $customBuildArgs $extraBuildProperties
|
||||
./build.sh $buildArgs
|
||||
fi
|
||||
displayName: Build
|
||||
|
||||
# Don't run tests if overriding RID, we don't support that for now
|
||||
- ${{ if eq(parameters.targetRid, '') }}:
|
||||
# Only run tests if enabled
|
||||
- ${{ if eq(parameters.runTests, 'True') }}:
|
||||
- script: |
|
||||
set -x
|
||||
set -ex
|
||||
|
||||
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"
|
||||
|
@ -301,6 +337,41 @@ jobs:
|
|||
docker run --rm $dockerVolumeArgs -w /vmr $dockerEnvArgs ${{ parameters.container }} ./build.sh --source-only $poisonArg --test $(additionalBuildArgs) /p:SmokeTestConsoleVerbosity=detailed
|
||||
displayName: Run Tests
|
||||
|
||||
- ${{ if eq(parameters.targetOS, 'windows') }}:
|
||||
|
||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||
- 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
|
||||
}
|
||||
}
|
||||
|
||||
$targetFolder = "$(Build.StagingDirectory)/BuildLogs/"
|
||||
New-Item -ItemType Directory -Path $targetFolder -Force | Out-Null
|
||||
|
||||
cd "$(sourcesPath)"
|
||||
|
||||
CopyWithRelativeFolders "artifacts/" $targetFolder "*.binlog"
|
||||
CopyWithRelativeFolders "artifacts/" $targetFolder "*.log"
|
||||
CopyWithRelativeFolders "src/" $targetFolder "*.binlog"
|
||||
CopyWithRelativeFolders "src/" $targetFolder "*.log"
|
||||
CopyWithRelativeFolders "test/" $targetFolder "*.binlog"
|
||||
CopyWithRelativeFolders "test/" $targetFolder "Updated*.diff"
|
||||
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
|
||||
|
@ -309,15 +380,22 @@ jobs:
|
|||
mkdir -p ${targetFolder}
|
||||
|
||||
cd "$(sourcesPath)"
|
||||
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
|
||||
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
|
||||
displayName: Prepare BuildLogs staging directory
|
||||
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()
|
||||
|
||||
|
@ -327,6 +405,8 @@ jobs:
|
|||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
# Only upload test results if enabled
|
||||
- ${{ if eq(parameters.runTests, 'True') }}:
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Test Results
|
||||
condition: succeededOrFailed()
|
||||
|
@ -334,13 +414,19 @@ jobs:
|
|||
inputs:
|
||||
testRunner: vSTest
|
||||
testResultsFiles: 'test/**/*.trx'
|
||||
searchFolder: ${{ variables.sourcesPath }}
|
||||
searchFolder: $(sourcesPath)
|
||||
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
|
||||
displayName: Publish Artifacts
|
||||
condition: succeededOrFailed()
|
||||
condition: and(succeededOrFailed(), eq(variables['hasAssets'], '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
|
||||
parameters:
|
||||
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
|
||||
parameters:
|
||||
|
|
|
@ -1,75 +1,46 @@
|
|||
### 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
|
||||
### This stage 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 built and tested
|
||||
|
||||
parameters:
|
||||
dependsOn: []
|
||||
condition: always()
|
||||
|
||||
# Branch of the VMR to use (to push to for internal builds)
|
||||
vmrBranch: $(Build.SourceBranch)
|
||||
- name: vmrBranch
|
||||
type: string
|
||||
default: $(Build.SourceBranch)
|
||||
|
||||
# True when the build is a lite build
|
||||
isLiteBuild:
|
||||
# Scope of jobs which are executed
|
||||
- name: scope
|
||||
type: string
|
||||
values:
|
||||
# run 1 leg for smoke tests
|
||||
- ultralite
|
||||
# run several legs e.g. win/linux/mac for basic testing
|
||||
- lite
|
||||
# run everything
|
||||
- full
|
||||
|
||||
# True when build is running from dotnet/dotnet directly
|
||||
isBuiltFromVmr:
|
||||
- name: isBuiltFromVmr
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
alpine319Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
|
||||
centOSStream8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
|
||||
fedora39Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39
|
||||
ubuntu2204Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
|
||||
ubuntu2204ArmContainer: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-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
|
||||
# True when building the VMR in source-only mode
|
||||
- name: isSourceOnlyBuild
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
#### SOURCE-ONLY BUILD ####
|
||||
stages:
|
||||
- stage: VMR_Source_Build
|
||||
displayName: VMR Source-Build
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
condition: ${{ parameters.condition }}
|
||||
- ${{ if parameters.isSourceOnlyBuild }}:
|
||||
- stage: VMR_SourceOnly_Build
|
||||
displayName: VMR Source-Only Build
|
||||
dependsOn: []
|
||||
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/', '') }}
|
||||
|
||||
- template: ../variables/vmr-stage.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
jobs:
|
||||
|
||||
### Jobs for ultralite builds ###
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
# Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline
|
||||
|
@ -79,16 +50,19 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: true # ✅
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
### Additional jobs for lite/full builds ###
|
||||
- ${{ if in(parameters.scope, 'lite', 'full') }}:
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
|
@ -99,12 +73,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: true # ✅
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
reuseBuildArtifactsFrom: CentOSStream8_Online_MsftSdk
|
||||
|
@ -119,16 +95,19 @@ stages:
|
|||
artifactsRid: alpine.3.19-x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.alpine319Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.alpine319Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: true # ✅
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: true # ✅
|
||||
|
||||
- ${{ if eq(parameters.isLiteBuild, false) }}:
|
||||
### Additional jobs for full build ###
|
||||
- ${{ if in(parameters.scope, 'full') }}:
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
|
@ -139,12 +118,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.alpine319Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.alpine319Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: true # ✅
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -157,12 +138,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: true # ✅
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -176,12 +159,14 @@ stages:
|
|||
artifactsRid: centos.8-x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: true # ✅
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: true # ✅
|
||||
|
||||
|
@ -195,12 +180,14 @@ stages:
|
|||
artifactsRid: centos.8-x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: true # ✅
|
||||
|
||||
|
@ -213,12 +200,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream8Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream8Container }}
|
||||
buildFromArchive: true # ✅
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: true # ✅
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: true # ✅
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -231,12 +220,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.centOSStream9Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.centOSStream9Container }}
|
||||
buildFromArchive: true # ✅
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -249,12 +240,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.fedora39Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.fedora39Container }}
|
||||
buildFromArchive: true # ✅
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -267,12 +260,14 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.ubuntu2204Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.ubuntu2204Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -283,12 +278,14 @@ stages:
|
|||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool: ${{ parameters.poolInternalArm64 }}
|
||||
container: ${{ parameters.ubuntu2204ArmContainer }}
|
||||
pool: ${{ variables.defaultPoolNameLinuxArm64 }}
|
||||
container: ${{ variables.ubuntu2204ArmContainer }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
|
||||
|
@ -301,12 +298,544 @@ stages:
|
|||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemands }}
|
||||
container: ${{ parameters.fedora39Container }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.fedora39Container }}
|
||||
buildFromArchive: false # 🚫
|
||||
buildSourceOnly: true # ✅
|
||||
enablePoison: false # 🚫
|
||||
excludeOmniSharpTests: false # 🚫
|
||||
runOnline: false # 🚫
|
||||
runTests: true # ✅
|
||||
useMonoRuntime: false # 🚫
|
||||
withPreviousSDK: false # 🚫
|
||||
reuseBuildArtifactsFrom: Fedora39_Offline_MsftSdk
|
||||
|
||||
#### VERTICAL BUILD ####
|
||||
- ${{ if not(parameters.isSourceOnlyBuild) }}:
|
||||
- stage: VMR_Vertical_Build
|
||||
displayName: VMR Vertical Build
|
||||
dependsOn: []
|
||||
variables:
|
||||
- template: ../variables/vmr-stage.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ parameters.vmrBranch }}
|
||||
jobs:
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Ubuntu2204
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.ubuntu2204Container }}
|
||||
targetOS: linux
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
targetOS: windows
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Android_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
targetOS: android
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Browser_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: wasm
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.browserCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: browser
|
||||
targetArchitecture: wasm
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOSSimulator_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: iossimulator
|
||||
targetArchitecture: arm64
|
||||
|
||||
### Additional jobs for full build ###
|
||||
- ${{ if in(parameters.scope, 'full') }}:
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Android_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
targetOS: android
|
||||
targetArchitecture: arm
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Android_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
targetOS: android
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Android_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x86
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
targetOS: android
|
||||
targetArchitecture: x86
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Browser_Multithreaded_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: wasm
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.browserCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: browser
|
||||
targetArchitecture: wasm
|
||||
extraProperties: /p:DotNetBuildRuntimeWasmEnableThreads=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: LinuxBionic_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: linux-bionic
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: LinuxBionic_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: linux-bionic
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: LinuxBionic_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: linux-bionic
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: LinuxBionic_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.androidCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: linux-bionic
|
||||
targetArchitecture: x64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOS_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: ios
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOS_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: ios
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOSSimulator_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: iossimulator
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOSSimulator_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: iossimulator
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: iOSSimulator_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: iossimulator
|
||||
targetArchitecture: x64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: MacCatalyst_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: maccatalyst
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: MacCatalyst_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: maccatalyst
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: MacCatalyst_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: maccatalyst
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: MacCatalyst_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: maccatalyst
|
||||
targetArchitecture: x64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOS_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvos
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOS_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvos
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOSSimulator_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvossimulator
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOSSimulator_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvossimulator
|
||||
targetArchitecture: arm64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOSSimulator_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvossimulator
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: tvOSSimulator_NativeAOT_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: tvossimulator
|
||||
targetArchitecture: x64
|
||||
extraProperties: /p:DotNetBuildRuntimeNativeAOTRuntimePack=true
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Wasi_Shortstack
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: wasm
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.wasiCrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: wasi
|
||||
targetArchitecture: wasm
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: OSX
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: osx
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: OSX_Mono
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
useMonoRuntime: true
|
||||
targetOS: osx
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Mariner_x64_Cross
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.marinerX64CrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
targetOS: linux
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Mariner_x64_Cross_Mono
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
container: ${{ variables.marinerX64CrossContainer }}
|
||||
crossRootFs: '/crossrootfs/x64'
|
||||
useMonoRuntime: true
|
||||
targetOS: linux
|
||||
targetArchitecture: x64
|
||||
|
||||
# Mariner x64->non-x64 builds are currently broken, see https://github.com/dotnet/source-build/issues/3698
|
||||
|
||||
# - template: ../jobs/vmr-build.yml
|
||||
# parameters:
|
||||
# buildName: Mariner_x64_Cross
|
||||
# isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
# vmrBranch: ${{ variables.VmrBranch }}
|
||||
# architecture: arm64
|
||||
# pool:
|
||||
# name: ${{ variables.defaultPoolName }}
|
||||
# demands: ${{ variables.defaultPoolDemandsLinux }}
|
||||
# container: ${{ variables.marinerArm64CrossContainer }}
|
||||
# crossRootFs: '/crossrootfs/arm64'
|
||||
# targetOS: linux
|
||||
# targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: OSX
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
targetOS: osx
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: OSX_Mono
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
vmImage: ${{ variables.defaultPoolNameMac }}
|
||||
useMonoRuntime: true
|
||||
targetOS: osx
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: arm64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
targetOS: windows
|
||||
targetArchitecture: arm64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows_Mono
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
useMonoRuntime: true
|
||||
targetOS: windows
|
||||
targetArchitecture: x64
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x86
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
targetOS: windows
|
||||
targetArchitecture: x86
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows_Mono
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x86
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
useMonoRuntime: true
|
||||
targetOS: windows
|
||||
targetArchitecture: x86
|
||||
|
||||
- template: ../jobs/vmr-build.yml
|
||||
parameters:
|
||||
buildName: Windows_Pgo
|
||||
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
architecture: x64
|
||||
pool:
|
||||
name: ${{ variables.defaultPoolName }}
|
||||
demands: ${{ variables.defaultPoolDemandsWindows }}
|
||||
targetOS: windows
|
||||
targetArchitecture: x64
|
||||
extraProperties: /p:PgoInstrument=true
|
||||
|
|
|
@ -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,28 +1,11 @@
|
|||
### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr
|
||||
### Component Governance scan is also triggered over the VMR's non-repo sources
|
||||
### These steps clone the VMR (https://github.com/dotnet/dotnet) into $(Agent.BuildDirectory)/vmr for 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
|
||||
default: $(Build.SourceBranch)
|
||||
|
||||
- name: skipComponentGovernanceDetection
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- ${{ if parameters.isBuiltFromVmr }}:
|
||||
- checkout: self
|
||||
displayName: Clone dotnet/dotnet
|
||||
path: vmr
|
||||
clean: true
|
||||
|
||||
- ${{ else }}:
|
||||
- checkout: vmr
|
||||
displayName: Clone dotnet/dotnet
|
||||
path: vmr
|
||||
|
@ -33,11 +16,3 @@ steps:
|
|||
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
||||
displayName: Check out ${{ parameters.vmrBranch }}
|
||||
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: |
|
||||
git checkout -B ${{ parameters.vmrBranch }}
|
||||
echo "##vso[task.setvariable variable=vmrBranch]${{ parameters.vmrBranch }}"
|
||||
mkdir -p ${{ parameters.vmrPath }}/artifacts/x64/Release
|
||||
displayName: Prepare branch ${{ parameters.vmrBranch }}
|
||||
workingDirectory: ${{ parameters.vmrPath }}
|
||||
|
||||
|
@ -57,13 +56,36 @@ steps:
|
|||
--branch ${{ parameters.vmrBranch }}
|
||||
--repository "installer:${{ parameters.targetRef }}"
|
||||
--recursive
|
||||
--remote "installer:$(pwd)"
|
||||
--remote "installer:$(Agent.BuildDirectory)/installer"
|
||||
--component-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/Component.template.md
|
||||
--tpn-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
|
||||
--debug
|
||||
||
|
||||
(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
|
||||
|
||||
- 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
|
||||
pr:
|
||||
branches:
|
||||
|
@ -15,8 +22,8 @@ parameters:
|
|||
type: string
|
||||
default: ' '
|
||||
|
||||
- name: disableVmrBuild
|
||||
displayName: Skip source-building the VMR
|
||||
- name: disableBuild
|
||||
displayName: Skip the VMR Build stage
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
|
@ -28,6 +35,10 @@ variables:
|
|||
- name: VmrBranch
|
||||
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:
|
||||
repositories:
|
||||
- repository: vmr
|
||||
|
@ -37,12 +48,19 @@ resources:
|
|||
ref: ${{ variables.VmrBranch }}
|
||||
|
||||
stages:
|
||||
# You can temporarily disable the VMR Build stage by setting the disableVmrBuild variable
|
||||
- ${{ if not(parameters.disableVmrBuild) }}:
|
||||
# You can temporarily disable the VMR Build stage by setting the disableBuild variable
|
||||
- ${{ if not(parameters.disableBuild) }}:
|
||||
- template: templates/stages/vmr-build.yml
|
||||
parameters:
|
||||
vmrBranch: ${{ variables.VmrBranch }}
|
||||
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
|
||||
# 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.
|
||||
# Do not attempt to install them in source build.
|
||||
if ($env:DotNetBuildFromSource -eq "true") {
|
||||
if ($productBuild -or $properties -like "*DotNetBuildRepo=true*") {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ function InitializeCustomSDKToolset {
|
|||
|
||||
# The following frameworks and tools are used only for testing.
|
||||
# Do not attempt to install them in source build.
|
||||
if [[ "${DotNetBuildFromSource:-}" == "true" ]]; then
|
||||
if [[ $product_build == true || $properties == *"DotNetBuildRepo=true"* ]]; then
|
||||
return
|
||||
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=''
|
||||
recursive=false
|
||||
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"
|
||||
azdev_pat=''
|
||||
|
||||
|
@ -180,8 +180,8 @@ if [[ -z "$tmp_dir" ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f "$readme_template" ]]; then
|
||||
fail "File '$readme_template' does not exist. Please specify a valid path to the README template"
|
||||
if [[ ! -f "$component_template" ]]; then
|
||||
fail "File '$component_template' does not exist. Please specify a valid path to the Component.md template"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
}
|
||||
},
|
||||
"native-tools": {
|
||||
"cmake": "3.21.0"
|
||||
"cmake": "latest"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.Build.NoTargets": "3.7.0",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24075.2",
|
||||
"Microsoft.DotNet.CMake.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.24114.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ if ($Sign) {
|
|||
$Parameters = "$Parameters -WarnAsError `$$WarnAsError"
|
||||
|
||||
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"
|
||||
Invoke-Expression $ExpressionToInvoke
|
||||
}
|
||||
|
|
|
@ -10,14 +10,21 @@
|
|||
|
||||
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
|
||||
`/workspaces/dotnet/artifacts/x64/Release`. In case you selected the `prebuilt-sdk`
|
||||
Codespace, the SDK will already be there.
|
||||
`/workspaces/dotnet/artifacts/assets/Release`. In case you selected the `prebuilt-sdk`
|
||||
Codespace, the built-from-source SDK will already be there.
|
||||
|
||||
## Build the SDK
|
||||
|
||||
To build the VMR, run following:
|
||||
To build the repository, run one of the following:
|
||||
```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
|
||||
|
|
4
src/SourceBuild/content/.gitignore
vendored
4
src/SourceBuild/content/.gitignore
vendored
|
@ -1,9 +1,7 @@
|
|||
/.dotnet
|
||||
/.packages
|
||||
/artifacts
|
||||
/eng/tools/**/bin
|
||||
/eng/tools/**/obj
|
||||
/prereqs/packages
|
||||
/src/linker/src/ILLink.Tasks/ILLink.Tasks.nuspec
|
||||
/src/nuget-client/NuGet.config
|
||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/bin
|
||||
/test/Microsoft.DotNet.SourceBuild.SmokeTests/obj
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<_SuppressSdkImports Condition="'$(DotNetBuildSourceOnly)' == 'true'">true</_SuppressSdkImports>
|
||||
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
|
||||
<DotNetBuildOrchestrator>true</DotNetBuildOrchestrator>
|
||||
<RootRepo>dotnet</RootRepo>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Label="CalculateTargetOS">
|
||||
|
@ -19,24 +19,31 @@
|
|||
<TargetOS Condition="'$(TargetOS)' == ''">$(BuildOS)</TargetOS>
|
||||
</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">
|
||||
<!-- Build architecture is what we are building on. -->
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -46,7 +53,12 @@
|
|||
<BuildRid Condition="'$(BuildRid)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</BuildRid>
|
||||
|
||||
<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="'$(PortableRid)' == '' and '$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</PortableRid>
|
||||
|
@ -56,13 +68,15 @@
|
|||
<PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</PortableRid>
|
||||
|
||||
<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>
|
||||
|
||||
<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.
|
||||
Keep in sync with props/targets in the Arcade.Sdk. -->
|
||||
<PropertyGroup Condition="'$(_SuppressSdkImports)' == 'true' or '$(SkipArcadeSdkImport)' == 'true'">
|
||||
<PropertyGroup Condition="'$(SkipArcadeSdkImport)' == 'true'">
|
||||
<!-- RepoLayout.props -->
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' != ''">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)'))</NuGetPackageRoot>
|
||||
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == '' and '$(NUGET_PACKAGES)' != ''">$([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)'))</NuGetPackageRoot>
|
||||
|
@ -84,6 +98,9 @@
|
|||
<ArtifactsObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))</ArtifactsObjDir>
|
||||
<ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir>
|
||||
<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>
|
||||
|
||||
<!-- ProjectLayout.props -->
|
||||
|
@ -108,8 +125,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<!-- Manually import the Versions.props file when the Arcade SDK isn't used. -->
|
||||
<Import Project="$(RepositoryEngineeringDir)Versions.props"
|
||||
Condition="'$(_SuppressSdkImports)' == 'true' or '$(SkipArcadeSdkImport)' == 'true'" />
|
||||
<Import Project="$(RepositoryEngineeringDir)Versions.props" Condition="'$(SkipArcadeSdkImport)' == 'true'" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- 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 -->
|
||||
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
|
||||
<!-- By default, the VMR builds with online sources when not building source-only. -->
|
||||
<DotNetBuildWithOnlineSources Condition="'$(DotNetBuildWithOnlineSources)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true</DotNetBuildWithOnlineSources>
|
||||
<!-- By default, skip building tests when building the VMR. -->
|
||||
<DotNetBuildSkipTests Condition="'$(DotNetBuildSkipTests)' == ''">true</DotNetBuildSkipTests>
|
||||
<DotNetBuildWithOnlineFeeds Condition="'$(DotNetBuildWithOnlineFeeds)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true</DotNetBuildWithOnlineFeeds>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
@ -144,8 +158,6 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RootRepo>dotnet</RootRepo>
|
||||
|
||||
<SrcDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src'))</SrcDir>
|
||||
<ToolsDir>$([MSBuild]::NormalizeDirectory('$(RepositoryEngineeringDir)', 'tools'))</ToolsDir>
|
||||
<TasksDir>$([MSBuild]::NormalizeDirectory('$(ToolsDir)', 'tasks'))</TasksDir>
|
||||
|
@ -155,18 +167,14 @@
|
|||
<KeysDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'keys'))</KeysDir>
|
||||
<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. -->
|
||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'ArcadeBootstrapPackage'))</ArcadeBootstrapPackageDir>
|
||||
<ArcadeBootstrapPackageDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</ArcadeBootstrapPackageDir>
|
||||
|
||||
<!-- Shared output and intermediate output path folders that are architecture and configuration specific. -->
|
||||
<SharedOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedOutputPath>
|
||||
<SharedIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(TargetArchitecture)', '$(Configuration)'))</SharedIntermediateOutputPath>
|
||||
|
||||
<SourceBuiltBlobFeedDir>$([MSBuild]::NormalizeDirectory('$(SharedIntermediateOutputPath)', 'blob-feed'))</SourceBuiltBlobFeedDir>
|
||||
<SourceBuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'packages'))</SourceBuiltPackagesPath>
|
||||
<SourceBuiltAssetsDir>$([MSBuild]::NormalizeDirectory('$(SourceBuiltBlobFeedDir)', 'assets'))</SourceBuiltAssetsDir>
|
||||
<VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir>
|
||||
<IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir>
|
||||
<ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir>
|
||||
|
||||
<PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath>
|
||||
<PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath>
|
||||
|
@ -184,6 +192,7 @@
|
|||
<NonShippingPackagesListPrefix>NonShipping.Packages.</NonShippingPackagesListPrefix>
|
||||
|
||||
<ReferencePackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference'))</ReferencePackagesDir>
|
||||
<ReferenceAssetsDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference-assets'))</ReferenceAssetsDir>
|
||||
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
||||
<SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<SdkFilenamePrefix>dotnet-sdk-</SdkFilenamePrefix>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(SourceBuiltAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
||||
<SdkTarballItem Include="$(ArtifactsAssetsDir)$(SdkFilenamePrefix)*$(ArchiveExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
|
|
|
@ -39,15 +39,14 @@ See the [Unified Build roadmap](src/arcade/Documentation/UnifiedBuild/Roadmap.md
|
|||
|
||||
### Supported platforms
|
||||
|
||||
The VMR only supports .NET 8.0 and higher. Additionally, source-build currently supports Linux only.
|
||||
It is expected that Mac and Windows will be supported in the .NET 9.0.
|
||||
* 8.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.
|
||||
|
||||
### 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
|
||||
For the time being, the source code only flows one way - from the development repos into the VMR.
|
||||
More details on this process:
|
||||
|
@ -72,53 +71,71 @@ For the latest information about Source-Build support, please watch for announce
|
|||
|
||||
### 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).
|
||||
|
||||
### Building
|
||||
|
||||
1. **Clone the VMR**
|
||||
1. **Clone the repository**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/dotnet/dotnet dotnet-dotnet
|
||||
```
|
||||
|
||||
2. **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.
|
||||
|
||||
```bash
|
||||
cd dotnet-dotnet
|
||||
./prep.sh
|
||||
```
|
||||
|
||||
3. **Build the .NET SDK**
|
||||
2. **Build the .NET SDK**
|
||||
|
||||
Choose one of the following build modes:
|
||||
|
||||
- **Microsoft based build**
|
||||
|
||||
For Unix:
|
||||
```bash
|
||||
./build.sh --clean-while-building --online
|
||||
./build.sh --clean-while-building
|
||||
```
|
||||
|
||||
This builds the entire .NET SDK from source.
|
||||
The resulting SDK is placed at `artifacts/x64/Release/dotnet-sdk-9.0.100-your-RID.tar.gz`.
|
||||
For Windows:
|
||||
```cmd
|
||||
.\build.cmd -cleanWhileBuilding
|
||||
```
|
||||
|
||||
Currently, the `--online` flag is required to allow NuGet restore from online sources during the build.
|
||||
This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.
|
||||
- **Building from source**
|
||||
```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
|
||||
|
||||
Run `./build.sh --help` to see more information about supported build options.
|
||||
# Build the .NET SDK
|
||||
./build.sh -sb --clean-while-building
|
||||
```
|
||||
|
||||
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**
|
||||
|
||||
For Unix:
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
To test your source-built SDK, run the following:
|
||||
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 built SDK, run the following:
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
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
|
||||
docker run --rm -it -v vmr:/vmr -w /vmr mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||
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
|
||||
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
|
||||
```
|
||||
|
||||
|
@ -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).
|
||||
|
||||
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
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ usage()
|
|||
echo ""
|
||||
|
||||
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 " --poison Build with poisoning checks"
|
||||
echo " --release-manifest <FILE> A JSON file, an alternative source of Source Link metadata"
|
||||
|
@ -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,
|
||||
# They should be pulled from the local feeds.
|
||||
packagesDir="$scriptroot/prereqs/packages/"
|
||||
packagesRestoredDir="${packagesDir}restored/"
|
||||
packagesRestoredDir="$scriptroot/.packages/"
|
||||
export NUGET_PACKAGES=$packagesRestoredDir/
|
||||
|
||||
# Common settings
|
||||
|
@ -77,6 +76,7 @@ sourceRepository=''
|
|||
sourceVersion=''
|
||||
CUSTOM_PACKAGES_DIR=''
|
||||
CUSTOM_SDK_DIR=''
|
||||
packagesDir="$scriptroot/prereqs/packages/"
|
||||
packagesArchiveDir="${packagesDir}archive/"
|
||||
packagesPreviouslySourceBuiltDir="${packagesDir}previously-source-built/"
|
||||
|
||||
|
@ -117,12 +117,12 @@ while [[ $# > 0 ]]; do
|
|||
;;
|
||||
|
||||
# Source-only settings
|
||||
-source-only|-so)
|
||||
-source-only|-source-build|-so|-sb)
|
||||
sourceOnly=true
|
||||
properties="$properties /p:DotNetBuildSourceOnly=true"
|
||||
;;
|
||||
-online)
|
||||
properties="$properties /p:DotNetBuildWithOnlineSources=true"
|
||||
properties="$properties /p:DotNetBuildWithOnlineFeeds=true"
|
||||
;;
|
||||
-poison)
|
||||
properties="$properties /p:EnablePoison=true"
|
||||
|
@ -185,6 +185,12 @@ while [[ $# > 0 ]]; do
|
|||
shift
|
||||
done
|
||||
|
||||
if [[ "$ci" == true ]]; then
|
||||
if [[ "$exclude_ci_binary_log" == false ]]; then
|
||||
binary_log=true
|
||||
fi
|
||||
fi
|
||||
|
||||
. "$scriptroot/eng/common/tools.sh"
|
||||
|
||||
function Build {
|
||||
|
@ -206,6 +212,10 @@ function Build {
|
|||
|
||||
else
|
||||
|
||||
if [ "$ci" == "true" ]; then
|
||||
properties="$properties /p:ContinuousIntegrationBuild=true"
|
||||
fi
|
||||
|
||||
"$CLI_ROOT/dotnet" build-server shutdown
|
||||
|
||||
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
|
||||
"$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
|
||||
fi
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
<ProductDependencies>
|
||||
</ProductDependencies>
|
||||
<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>
|
||||
<Sha>1d8f27f89c3b167f63e28e73a3d9ab345e81d310</Sha>
|
||||
<Sha>2fb543a45580400a559b5ae41c96a815ea14dac5</Sha>
|
||||
</Dependency>
|
||||
</ToolsetDependencies>
|
||||
</Dependencies>
|
||||
|
|
|
@ -22,9 +22,8 @@
|
|||
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.
|
||||
-->
|
||||
<PrivateSourceBuiltSdkVersion>9.0.100-alpha.1.24067.1</PrivateSourceBuiltSdkVersion>
|
||||
<PrivateSourceBuiltArtifactsVersion>9.0.100-alpha.1.24067.1</PrivateSourceBuiltArtifactsVersion>
|
||||
<PrivateSourceBuiltPrebuiltsVersion>0.1.0-9.0.100-9</PrivateSourceBuiltPrebuiltsVersion>
|
||||
<PrivateSourceBuiltSdkVersion>9.0.100-preview.2.24104.1</PrivateSourceBuiltSdkVersion>
|
||||
<PrivateSourceBuiltArtifactsVersion>9.0.100-preview.2.24104.1</PrivateSourceBuiltArtifactsVersion>
|
||||
<!-- msbuild -->
|
||||
<MicrosoftBuildVersion>15.7.179</MicrosoftBuildVersion>
|
||||
</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,
|
||||
# They should be pulled from the local feeds.
|
||||
$env:NUGET_PACKAGES="$RepoRoot\prereqs\packages\restored\"
|
||||
$env:NUGET_PACKAGES="$RepoRoot\.packages\"
|
||||
|
||||
if ($help) {
|
||||
Get-Usage
|
||||
exit 0
|
||||
}
|
||||
|
||||
$arguments=""
|
||||
if ($cleanWhileBuilding) {
|
||||
$arguments += " /p:CleanWhileBuilding=true"
|
||||
}
|
||||
|
||||
function Build {
|
||||
InitializeToolset
|
||||
|
||||
$bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' }
|
||||
$cwb = if ($cleanWhileBuilding) { '/p:CleanWhileBuilding=true' } else { '' }
|
||||
$buildProj = Join-Path $RepoRoot 'build.proj'
|
||||
|
||||
MSBuild $buildProj `
|
||||
$bl `
|
||||
/p:Configuration=$configuration `
|
||||
$arguments `
|
||||
$cwb `
|
||||
@properties
|
||||
}
|
||||
|
||||
|
@ -75,6 +71,11 @@ try {
|
|||
exit 0
|
||||
}
|
||||
|
||||
if ($ci) {
|
||||
if (-not $excludeCIBinarylog) {
|
||||
$binaryLog = $true
|
||||
}
|
||||
}
|
||||
|
||||
Build
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<SkipErrorOnPrebuilts>true</SkipErrorOnPrebuilts>
|
||||
<SmokeTestsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'test', 'Microsoft.DotNet.SourceBuild.SmokeTests'))</SmokeTestsDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -9,20 +8,6 @@
|
|||
<PoisonUsageReportFile>$(PackageReportDir)poison-usage.xml</PoisonUsageReportFile>
|
||||
</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. -->
|
||||
<Target Name="ReportPrebuiltUsage"
|
||||
AfterTargets="Build"
|
||||
|
@ -30,45 +15,17 @@
|
|||
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
||||
</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. -->
|
||||
<Target Name="RepackageSymbols"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="
|
||||
DetermineSourceBuiltSdkVersion;
|
||||
DiscoverSymbolsTarballs;
|
||||
ExtractSymbolsTarballs">
|
||||
DependsOnTargets="DetermineSourceBuiltSdkVersion">
|
||||
<PropertyGroup>
|
||||
<UnifiedSymbolsTarball>$(SharedOutputPath)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</UnifiedSymbolsTarball>
|
||||
<UnifiedSymbolsTarball>$(ArtifactsAssetsDir)dotnet-symbols-all-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</UnifiedSymbolsTarball>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(UnifiedSymbolsTarball)'))" />
|
||||
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
|
||||
WorkingDirectory="$(UnifiedSymbolsLayout)" />
|
||||
WorkingDirectory="$(IntermediateSymbolsRootDir)" />
|
||||
|
||||
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
|
||||
</Target>
|
||||
|
@ -79,33 +36,33 @@
|
|||
AfterTargets="Build"
|
||||
DependsOnTargets="RepackageSymbols">
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(SharedOutputPath)dotnet-sdk-*$(ArchiveExtension)" />
|
||||
<SdkTarballItem Include="$(ArtifactsAssetsDir)dotnet-sdk-*$(ArchiveExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SdkSymbolsLayout>$(ArtifactsTmpDir)SdkSymbols</SdkSymbolsLayout>
|
||||
<SdkSymbolsTarball>$(SharedOutputPath)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</SdkSymbolsTarball>
|
||||
<SdkLayout>$(ArtifactsTmpDir)Sdk</SdkLayout>
|
||||
<SdkSymbolsTarball>$(ArtifactsAssetsDir)dotnet-symbols-sdk-$(SourceBuiltSdkVersion)-$(TargetRid)$(ArchiveExtension)</SdkSymbolsTarball>
|
||||
|
||||
<IntermediateSdkSymbolsLayout>$(BaseIntermediateOutputPath)SdkSymbols</IntermediateSdkSymbolsLayout>
|
||||
<IntermediateSdkLayout>$(BaseIntermediateOutputPath)Sdk</IntermediateSdkLayout>
|
||||
<SdkTarball>%(SdkTarballItem.Identity)</SdkTarball>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(SdkLayout)" />
|
||||
<Exec Command="tar -xzf $(SdkTarball) -C $(SdkLayout)"
|
||||
WorkingDirectory="$(SharedOutputPath)" />
|
||||
<MakeDir Directories="$(IntermediateSdkLayout)" />
|
||||
<Exec Command="tar -xzf $(SdkTarball) -C $(IntermediateSdkLayout)" />
|
||||
|
||||
<CreateSdkSymbolsLayout SdkLayoutPath="$(SdkLayout)"
|
||||
AllSymbolsPath="$(UnifiedSymbolsLayout)"
|
||||
SdkSymbolsLayoutPath="$(SdkSymbolsLayout)"
|
||||
<CreateSdkSymbolsLayout SdkLayoutPath="$(IntermediateSdkLayout)"
|
||||
AllSymbolsPath="$(IntermediateSymbolsRootDir)"
|
||||
SdkSymbolsLayoutPath="$(IntermediateSdkSymbolsLayout)"
|
||||
FailOnMissingPDBs="false" />
|
||||
|
||||
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
|
||||
WorkingDirectory="$(SdkSymbolsLayout)" />
|
||||
WorkingDirectory="$(IntermediateSdkSymbolsLayout)" />
|
||||
|
||||
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
|
||||
|
||||
<RemoveDir Directories="$(UnifiedSymbolsLayout)" />
|
||||
<RemoveDir Directories="$(SdkSymbolsLayout)" />
|
||||
<RemoveDir Directories="$(SdkLayout)" />
|
||||
<RemoveDir Directories="$(IntermediateSymbolsRootDir)" />
|
||||
<RemoveDir Directories="$(IntermediateSdkSymbolsLayout)" />
|
||||
<RemoveDir Directories="$(IntermediateSdkLayout)" />
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
|
@ -126,21 +83,22 @@
|
|||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)ReportPoisonUsage.complete" >
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<NonShippingPackagesList Include="$(PackageListsDir)**/$(NonShippingPackagesListPrefix)*" />
|
||||
</ItemGroup>
|
||||
|
||||
<CheckForPoison FilesToCheck="@(FinalCliTarball)"
|
||||
<CheckForPoison FilesToCheck="@(PoisonFileToCheck)"
|
||||
ProjectDirPath="$(RepoRoot)"
|
||||
HashCatalogFilePath="$(PoisonReportDataFile)"
|
||||
MarkerFileName="$(PoisonMarkerFile)"
|
||||
PoisonReportOutputFilePath="$(PoisonUsageReportFile)"
|
||||
NonShippingPackagesListFiles="@(NonShippingPackagesList)" />
|
||||
PoisonReportOutputFilePath="$(PoisonUsageReportFile)" />
|
||||
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done checking for poison." />
|
||||
|
||||
|
@ -170,8 +128,8 @@
|
|||
|
||||
<Target Name="RunSmokeTest">
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(SharedOutputPath)**/dotnet-sdk*$(ArchiveExtension)" />
|
||||
<SourceBuiltArtifactsItem Include="$(SharedOutputPath)**/$(SourceBuiltArtifactsTarballName).*$(ArchiveExtension)" />
|
||||
<SdkTarballItem Include="$(ArtifactsAssetsDir)dotnet-sdk*$(ArchiveExtension)" />
|
||||
<SourceBuiltArtifactsItem Include="$(ArtifactsAssetsDir)$(SourceBuiltArtifactsTarballName).*$(ArchiveExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
@ -218,17 +176,18 @@
|
|||
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
||||
Condition="'@(SmokeTestsPrereqs->Count())' != '0'">
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
|
||||
<Copy SourceFiles="@(SmokeTestsPrereqs)"
|
||||
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)"/>
|
||||
|
||||
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarballName)'" />
|
||||
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarball)'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreatePrebuiltsTarball"
|
||||
|
@ -251,13 +210,14 @@
|
|||
DependsOnTargets="DetermineSourceBuiltSdkVersion"
|
||||
Condition="'@(PrebuiltFile->Count())' != '0'">
|
||||
<PropertyGroup>
|
||||
<TarballFilePath>$(SharedOutputPath)$(SourceBuiltPrebuiltsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</TarballFilePath>
|
||||
<TarballWorkingDir>$(ResultingPrebuiltPackagesDir)</TarballWorkingDir>
|
||||
<PrebuiltsTarball>$(ArtifactsAssetsDir)$(SourceBuiltPrebuiltsTarballName).$(SourceBuiltSdkVersion).$(TargetRid)$(ArchiveExtension)</PrebuiltsTarball>
|
||||
<PrebuiltsTarballWorkingDir>$(ResultingPrebuiltPackagesDir)</PrebuiltsTarballWorkingDir>
|
||||
</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 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:
|
||||
- cron: '0 8 * * Mon-Fri'
|
||||
displayName: Weekday midnight build
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
batch: true
|
||||
variables:
|
||||
# enable source-only build for pipelines that contain the -source-build string
|
||||
- name: isSourceOnlyBuild
|
||||
value: ${{ contains(variables['Build.DefinitionName'], '-source-build') }}
|
||||
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- release/*
|
||||
- internal/release/*
|
||||
- name: isSourceOnlyBuildLite
|
||||
value: ${{ contains(variables['Build.DefinitionName'], '-source-build-lite') }}
|
||||
|
||||
pr: none
|
||||
- name: isScheduleTrigger
|
||||
value: ${{ eq(variables['Build.Reason'], 'Schedule') }}
|
||||
|
||||
- name: isPRTrigger
|
||||
value: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
|
||||
|
||||
stages:
|
||||
- ${{ 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
|
||||
parameters:
|
||||
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())" />
|
||||
|
||||
<MSBuild Projects="tasks\SourceBuild.MSBuildSdkResolver\SourceBuild.MSBuildSdkResolver.csproj"
|
||||
Targets="Build;InstallResolver" />
|
||||
Targets="Build" />
|
||||
|
||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||
<Touch Files="$(BaseIntermediateOutputPath)BuildMSBuildSdkResolver.complete" AlwaysCreate="true">
|
||||
|
@ -75,6 +75,10 @@
|
|||
</Touch>
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<SourceBuildMSBuildSdkResolverManifestPath>$([MSBuild]::NormalizePath('$(VSMSBuildSdkResolversDir)', 'SourceBuild.MSBuildSdkResolver', 'SourceBuild.MSBuildSdkResolver.xml'))</SourceBuildMSBuildSdkResolverManifestPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Build msbuild tasks. -->
|
||||
<Target Name="BuildXPlatTasks"
|
||||
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
|
||||
/// nupkgs will be extracted and checked recursively.
|
||||
/// %(Identity): Path to the initial set of files.
|
||||
/// Add SourceBuildReferencePackage metadata and set to true to
|
||||
/// indicate that the file comes from SBRP.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public ITaskItem[] FilesToCheck { get; set; }
|
||||
|
@ -66,11 +68,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
|||
/// </summary>
|
||||
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 =
|
||||
{
|
||||
".zip",
|
||||
|
@ -152,11 +149,13 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
|||
|
||||
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()
|
||||
{
|
||||
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 (!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="markerFileName">Marker file name to check for in poisoned nupkgs</param>
|
||||
/// <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);
|
||||
var poisons = new List<PoisonedFileEntry>();
|
||||
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))
|
||||
{
|
||||
|
@ -209,12 +209,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
|||
{
|
||||
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));
|
||||
PoisonedFileEntry result = ExtractAndCheckZipFileOnly(catalogedPackages, candidate, markerFileName, tempCheckingDir, candidateQueue);
|
||||
if (result != null)
|
||||
|
@ -237,21 +231,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.LeakDetection
|
|||
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)
|
||||
{
|
||||
// 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
|
||||
{
|
||||
AssemblyName asm = AssemblyName.GetAssemblyName(fileToCheck);
|
||||
if (!candidate.DisplayPath.Contains("SourceBuildReferencePackages") && IsAssemblyFromSbrp(fileToCheck))
|
||||
if (!candidate.IsSourceBuildReferencePackage && IsAssemblyFromSbrp(fileToCheck))
|
||||
{
|
||||
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)}";
|
||||
|
||||
futureFilesToCheck.Enqueue(new CandidateFileEntry(child, displayPath));
|
||||
futureFilesToCheck.Enqueue(new CandidateFileEntry(child, displayPath, candidate.IsSourceBuildReferencePackage));
|
||||
}
|
||||
|
||||
return poisonEntry.Type != PoisonType.None ? poisonEntry : null;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
/// <summary>
|
||||
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
||||
/// </summary>
|
||||
public bool BuildWithOnlineSources { get; set; }
|
||||
public bool BuildWithOnlineFeeds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 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;
|
||||
if (BuildWithOnlineSources)
|
||||
if (BuildWithOnlineFeeds)
|
||||
{
|
||||
return !( feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/_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>
|
||||
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
||||
/// </summary>
|
||||
public bool BuildWithOnlineSources { get; set; }
|
||||
public bool BuildWithOnlineFeeds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of all source-build specific NuGet sources.
|
||||
|
@ -54,7 +54,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
.Distinct()
|
||||
.ToArray();
|
||||
|
||||
if (!BuildWithOnlineSources)
|
||||
if (!BuildWithOnlineFeeds)
|
||||
{
|
||||
// When building offline remove all packageSourceMappings.
|
||||
pkgSrcMappingElement?.ReplaceNodes(new XElement("clear"));
|
||||
|
|
|
@ -4,20 +4,23 @@
|
|||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</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>
|
||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
|
||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime"/>
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" ExcludeAssets="runtime" />
|
||||
</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>
|
||||
|
|
|
@ -12,17 +12,17 @@ using System.Linq;
|
|||
namespace Microsoft.DotNet.SourceBuild.Tasks
|
||||
{
|
||||
/// <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:
|
||||
///
|
||||
/// SOURCE_BUILD_SDK_ID_EXAMPLE=Your.Sdk.Example
|
||||
/// SOURCE_BUILT_SDK_ID_EXAMPLE=Your.Sdk.Example
|
||||
/// 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
|
||||
/// 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.
|
||||
/// </summary>
|
||||
public class SourceBuiltSdkResolver : SdkResolver
|
||||
|
@ -54,7 +54,7 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
|
|||
|
||||
void LogMessage(string message)
|
||||
{
|
||||
resolverContext.Logger.LogMessage($"[{Name}] {message}", MessageImportance.High);
|
||||
resolverContext.Logger.LogMessage($"[{Name}] {message}", MessageImportance.Low);
|
||||
}
|
||||
|
||||
if (overrides.Any())
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{
|
||||
"tools": {
|
||||
"dotnet": "9.0.100-alpha.1.24067.4"
|
||||
"dotnet": "9.0.100-preview.2.24103.2"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"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>
|
||||
|
||||
<ProjectDirectory>$([MSBuild]::NormalizeDirectory('$(SrcDir)', '$(RepositoryName)'))</ProjectDirectory>
|
||||
<PackagesOutput>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'packages', '$(Configuration)', 'NonShipping'))</PackagesOutput>
|
||||
|
||||
<!-- Paths to the version props files -->
|
||||
<PackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
|
||||
<CurrentSourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Current.props</CurrentSourceBuiltPackageVersionPropsPath>
|
||||
<PreviouslySourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Previous.props</PreviouslySourceBuiltPackageVersionPropsPath>
|
||||
<SnapshotPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
|
||||
<PackageVersionsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'PackageVersions'))</PackageVersionsDir>
|
||||
<PackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
|
||||
<CurrentSourceBuiltPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Current.props</CurrentSourceBuiltPackageVersionPropsPath>
|
||||
<PreviouslySourceBuiltPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Previous.props</PreviouslySourceBuiltPackageVersionPropsPath>
|
||||
<SnapshotPackageVersionPropsPath>$(PackageVersionsDir)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
|
||||
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<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). -->
|
||||
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
|
||||
</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'">
|
||||
<FlagParameterPrefix>-</FlagParameterPrefix>
|
||||
<ArcadeFalseBoolBuildArg>0</ArcadeFalseBoolBuildArg>
|
||||
|
@ -59,7 +75,9 @@
|
|||
<!-- Indicate that the build is being run from the orchestrator -->
|
||||
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=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 Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
||||
|
@ -68,6 +86,7 @@
|
|||
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<BuildArgs>$(BuildArgs) /p:ArcadeBuildFromSource=true</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:DotNetBuildSourceOnly=true</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
|
||||
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
||||
|
@ -81,12 +100,6 @@
|
|||
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
|
||||
</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>
|
||||
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
||||
<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. -->
|
||||
<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>
|
||||
<EnvironmentVariables Include="DotNetBuildFromSource=true" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<EnvironmentVariables Include="DotNetBuildVertical=true" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
||||
|
@ -168,14 +183,35 @@
|
|||
<ItemGroup>
|
||||
<!-- 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)" />
|
||||
<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)"
|
||||
Version="$(ArcadeBootstrapVersion)"
|
||||
Location="$(ArcadeBootstrapPackageDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)"
|
||||
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'" />
|
||||
|
||||
<!--
|
||||
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>
|
||||
|
||||
<!-- 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="MicrosoftNETCoreAppRuntimeVersion" 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 -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
||||
|
@ -213,11 +249,6 @@
|
|||
<!-- Used by sdk to determine msbuild version for fsharp -->
|
||||
<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 -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimeVersion" Version="%24(MicrosoftAspNetCoreAppRefPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppCrossgen2Version" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
||||
|
|
|
@ -9,11 +9,12 @@
|
|||
</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
|
||||
Version.Details.xml file. Setting the type to AllPackages will skip that logic. -->
|
||||
<PackageVersionPropsFlowType Condition="'$(IsUtilityProject)' == 'true'">AllPackages</PackageVersionPropsFlowType>
|
||||
<PropertyGroup>
|
||||
<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(BuildArgs)</BuildCommand>
|
||||
|
||||
<!-- MinimalConsoleLogOutput determines if the repository build should be logged to a separate file or directly to the console. -->
|
||||
<RepoConsoleLogFile>$(ArtifactsLogDir)$(RepositoryName).log</RepoConsoleLogFile>
|
||||
|
@ -23,30 +24,11 @@
|
|||
<ProjectAssetsJsonArchiveFile>$(PackageReportDir)all-project-assets-json-files.zip</ProjectAssetsJsonArchiveFile>
|
||||
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
|
||||
<RepoManifestFile>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'artifacts', 'RepoManifest.xml'))</RepoManifestFile>
|
||||
|
||||
<IntermediateSymbolsRepoDir>$(IntermediateSymbolsRootDir)$(RepositoryName)</IntermediateSymbolsRepoDir>
|
||||
</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="ReadNuGetPackageInfos" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="RemoveInternetSourcesFromNuGetConfig" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateJson" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateNuGetConfigPackageSourcesMappings" />
|
||||
|
@ -55,76 +37,147 @@
|
|||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageUsageData" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageReports" />
|
||||
|
||||
<!-- Update NuGet feeds in the repo -->
|
||||
<!-- 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>
|
||||
|
||||
<Target Name="UpdateNuGetConfig"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(NuGetConfigFile)' != '' or '@(NuGetConfigFiles)' != ''"
|
||||
DependsOnTargets="CopyNuGetConfig;GetRepositoryReferenceInfo"
|
||||
Condition="'$(NuGetConfigFile)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete">
|
||||
<PropertyGroup>
|
||||
<SourceBuiltNuGetSourceName>source-built</SourceBuiltNuGetSourceName>
|
||||
<!-- Dev innerloop opt-in feed: /p:ExtraRestoreSourcePath=... -->
|
||||
<ExtraSourcesNuGetSourceName>ExtraSources</ExtraSourcesNuGetSourceName>
|
||||
<SourceBuildSources>$(SourceBuiltNuGetSourceName)</SourceBuildSources>
|
||||
<SourceBuildSources Condition="'$(ExtraRestoreSourcePath)' != ''">$(SourceBuildSources);$(ExtraSourcesNuGetSourceName)</SourceBuildSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<PrebuiltNuGetSourceName>prebuilt</PrebuiltNuGetSourceName>
|
||||
<PreviouslySourceBuiltNuGetSourceName>previously-source-built</PreviouslySourceBuiltNuGetSourceName>
|
||||
<ReferencePackagesNuGetSourceName>reference-packages</ReferencePackagesNuGetSourceName>
|
||||
<SourceBuildSources>$(SourceBuildSources);$(PrebuiltNuGetSourceName);$(PreviouslySourceBuiltNuGetSourceName);$(ReferencePackagesNuGetSourceName)</SourceBuildSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Update the detected or manually specified NuGetConfigFile, but also allow multiple. -->
|
||||
<ItemGroup>
|
||||
<NuGetConfigFiles Include="$(NuGetConfigFile)" />
|
||||
<_CommonBuildSources Include="@(DependentRepoSourceName)" />
|
||||
<_CommonBuildSources Include="$(ExtraSourcesNuGetSourceName)" Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
||||
</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
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
BuildWithOnlineSources="$(DotNetBuildWithOnlineSources)"
|
||||
NuGetConfigFile="$(NuGetConfigFile)"
|
||||
BuildWithOnlineFeeds="$(DotNetBuildWithOnlineFeeds)"
|
||||
KeepFeedPrefixes="@(KeepFeedPrefixes)"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="$(PrebuiltNuGetSourceName)"
|
||||
SourcePath="$(PrebuiltPackagesPath)"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="$(PreviouslySourceBuiltNuGetSourceName)"
|
||||
SourcePath="$(PrebuiltSourceBuiltPackagesPath)"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="$(ReferencePackagesNuGetSourceName)"
|
||||
SourcePath="$(ReferencePackagesDir)"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(SourceBuiltNuGetSourceName)"
|
||||
SourcePath="$(SourceBuiltPackagesPath)" />
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="%(RepositoryReferenceInfo.ShippingSourceName)"
|
||||
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)"
|
||||
SourcePath="$(ExtraRestoreSourcePath)"
|
||||
Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
||||
|
||||
<!-- See root Directory.Build.props for value. -->
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="$(NetSdkSupportingFeedName)"
|
||||
SourcePath="$(NetSdkSupportingFeed)"
|
||||
Condition="'$(AddNetSdkSupportingFeed)' == 'true'" />
|
||||
|
||||
<UpdateNuGetConfigPackageSourcesMappings
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
BuildWithOnlineSources="$(DotNetBuildWithOnlineSources)"
|
||||
SourceBuildSources="$(SourceBuildSources)" />
|
||||
NuGetConfigFile="$(NuGetConfigFile)"
|
||||
BuildWithOnlineFeeds="$(DotNetBuildWithOnlineFeeds)"
|
||||
SourceBuildSources="@(_BuildSources)" />
|
||||
|
||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||
<Touch Files="$(BaseIntermediateOutputPath)UpdateNuGetConfig.complete" AlwaysCreate="true">
|
||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
||||
</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>
|
||||
|
||||
<!-- Update the SDK version in the repo's global.json file.
|
||||
This guarantees that all repositories build with the VMR's SDK version. -->
|
||||
<Target Name="UpdateGlobalJsonVersions"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(GlobalJsonFile)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath);$(MSBuildThisFileFullPath)"
|
||||
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. -->
|
||||
<Target Name="UpdateEngCommonFiles"
|
||||
Condition="'$(UpdateEngCommonFiles)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true'"
|
||||
BeforeTargets="Build">
|
||||
Condition="'$(UpdateEngCommonFiles)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true'">
|
||||
<ItemGroup>
|
||||
<OrchestratorEngCommonFile Include="$(RepositoryEngineeringDir)common\**\*" />
|
||||
</ItemGroup>
|
||||
|
@ -165,12 +217,13 @@
|
|||
<!-- Before a repository builds, set up the version property files that override the repo's defaults.
|
||||
There are 3 files generated -->
|
||||
<Target Name="CreateBuildInputProps"
|
||||
BeforeTargets="Build"
|
||||
DependsOnTargets="GetRepositoryReferenceInfo"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)CreateBuildInputProps.complete">
|
||||
<ItemGroup>
|
||||
<_CurrentSourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
|
||||
<!-- Collect all the NuGet packages from dependent repos except for the symbols -->
|
||||
<_CurrentSourceBuiltPackages Include="@(DependentRepoPackageFile)"
|
||||
Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.symbols.nupkg'))" />
|
||||
<_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -233,11 +286,12 @@
|
|||
|
||||
<!-- SkipRepoReferences is a developer innerloop switch to skip building dependencies. -->
|
||||
<Target Name="BuildRepoReferences"
|
||||
DependsOnTargets="GetTransitiveRepositoryReferences"
|
||||
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>
|
||||
<_DependentProject Include="@(RepositoryReference -> '%(Identity).proj')" />
|
||||
<_DependentProject Include="@(TransitiveRepositoryReference -> '%(Identity).proj')" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild Projects="@(_DependentProject)"
|
||||
|
@ -246,31 +300,37 @@
|
|||
StopOnFirstFailure="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Build"
|
||||
DependsOnTargets="BuildRepoReferences"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)Build.complete">
|
||||
<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:" Condition="'$(BuildCommand)' != ''" />
|
||||
<Message Importance="High" Text=" $(BuildCommand)" Condition="'$(BuildCommand)' != ''" />
|
||||
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" Condition="'$(BuildCommand)' != '' and '$(MinimalConsoleLogOutput)' == 'true'" />
|
||||
<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 Name="SetSourceBuiltSdkOverrides"
|
||||
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
||||
<ItemGroup>
|
||||
<!-- Set the environment variables for MSBuild to look for our additional SDK Resolvers and or our resolver to find our source-built SDKs. -->
|
||||
<EnvironmentVariables Include="MSBUILDADDITIONALSDKRESOLVERSFOLDER=$(VSMSBuildSdkResolversDir)" />
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(SourceBuiltSdkOverride.Identity)/" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<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"
|
||||
Condition=" '$(CleanWhileBuilding)' == 'true' and '$(BuildOS)' != 'windows'" />
|
||||
<Exec Command="df -h $(RepoRoot)"
|
||||
|
@ -279,11 +339,11 @@
|
|||
<PropertyGroup>
|
||||
<FullCommand>$(BuildCommand)</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>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(RepoConsoleLogFile)'));
|
||||
$(SourceBuiltPackagesPath)" />
|
||||
$(ArtifactsAssetsDir)" />
|
||||
|
||||
<!-- Create directories for extra debugging. -->
|
||||
<MakeDir Directories="$(MSBuildDebugPathTargetDir);
|
||||
|
@ -293,154 +353,100 @@
|
|||
|
||||
<Exec Command="$(FullCommand)"
|
||||
WorkingDirectory="$(ProjectDirectory)"
|
||||
EnvironmentVariables="@(EnvironmentVariables)"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
EnvironmentVariables="@(EnvironmentVariables)" />
|
||||
|
||||
<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 Name="ReportRepoError">
|
||||
<Target Name="LogRepoBuildError">
|
||||
<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="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)') and '$(MinimalConsoleLogOutput)' == 'true'" />
|
||||
</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"
|
||||
AfterTargets="Package"
|
||||
Condition="Exists($(RepoManifestFile))"
|
||||
DependsOnTargets="RepoBuild"
|
||||
Condition="'$(IsUtilityProject)' != 'true'"
|
||||
Inputs="$(RepoManifestFile)"
|
||||
Outputs="$(BaseIntermediateOutputPath)ArtifactsCopy.complete">
|
||||
Outputs="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete">
|
||||
<Error Text="Repo manifest file doesn't exist." Condition="!Exists('$(RepoManifestFile)')" />
|
||||
|
||||
<XmlPeek XmlInputPath="$(RepoManifestFile)"
|
||||
Query="Build/Artifact/@Path">
|
||||
<Output TaskParameter="Result" ItemName="RepoManifestArtifact" />
|
||||
</XmlPeek>
|
||||
|
||||
<ItemGroup>
|
||||
<RepoManifestAsset Include="@(RepoManifestArtifact)" Condition="'%(Extension)' != '.nupkg'"/>
|
||||
<RepoManifestPackage Include="@(RepoManifestArtifact)" Condition="'%(Extension)' == '.nupkg'"/>
|
||||
<RepoManifestNonShippingPackage Include="@(RepoManifestPackage)" Condition="$([System.String]::Copy('%(Identity)').Contains('$([System.IO.Path]::DirectorySeparatorChar)NonShipping$([System.IO.Path]::DirectorySeparatorChar)'))"/>
|
||||
<!-- Error if a repository doesn't produce any shipping or non-shipping artifacts. -->
|
||||
<ItemGroup Condition="'@(RepoManifestArtifact)' == ''">
|
||||
<_ArtifactsNotCreatedReason Include="^ There may have been a silent failure in the repo build." />
|
||||
<_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>
|
||||
|
||||
<PropertyGroup>
|
||||
<_NupkgsDestination>$(SourceBuiltPackagesPath)</_NupkgsDestination>
|
||||
<_NupkgsDestination Condition="'$(RepositoryName)' == 'source-build-reference-packages'">$(ReferencePackagesDir)</_NupkgsDestination>
|
||||
</PropertyGroup>
|
||||
<Error Text="$(RepositoryName) produced no new source-built package identities. Known possible causes:%0A@(_ArtifactsNotCreatedReason, '%0A')"
|
||||
Condition="'@(RepoManifestArtifact)' == ''" />
|
||||
|
||||
<!-- 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
|
||||
Condition="'$(RepositoryName)' == 'source-build-reference-packages'"
|
||||
Directories="$(ReferencePackagesDir)" />
|
||||
<!-- The repo symbol archive shouldn't be copied. -->
|
||||
<ItemGroup>
|
||||
<RepoSymbolsArchive Include="@(RepoManifestArtifact)"
|
||||
Condition="$([System.String]::Copy('%(Identity)').EndsWith('Symbols.$(RepositoryName)$(ArchiveExtension)'))" />
|
||||
<RepoManifestArtifact Remove="@(RepoSymbolsArchive)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Copy nupkgs -->
|
||||
<Copy
|
||||
Condition="'@(RepoManifestPackage)' != ''"
|
||||
SourceFiles="@(RepoManifestPackage)"
|
||||
DestinationFolder="$(_NupkgsDestination)" />
|
||||
<!-- Log the new repo artifacts -->
|
||||
<Message Importance="High" Text="New artifact(s) after building $(RepositoryName):" />
|
||||
<Message Importance="High" Text=" -> %(RepoManifestArtifact.Filename)%(RepoManifestArtifact.Extension)" />
|
||||
|
||||
<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
|
||||
Condition="'@(RepoManifestAsset)' != ''"
|
||||
SourceFiles="@(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" />
|
||||
<Copy SourceFiles="@(RepoManifestAsset)"
|
||||
DestinationFolder="%(RepoManifestAsset.DestinationFolder)"
|
||||
Condition="'@(RepoManifestAsset)' != ''" />
|
||||
|
||||
<MakeDir Directories="$(BaseIntermediateOutputPath)" />
|
||||
<Touch Files="$(BaseIntermediateOutputPath)ArtifactsCopy.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">
|
||||
<Touch Files="$(BaseIntermediateOutputPath)CopyRepoArtifacts.complete" AlwaysCreate="true">
|
||||
<Output TaskParameter="TouchedFiles" ItemName="FileWrites" />
|
||||
</Touch>
|
||||
</Target>
|
||||
|
@ -448,62 +454,29 @@
|
|||
<!-- Copy restored packages from inner build to ensure they're included in the
|
||||
main build prebuilt check -->
|
||||
<Target Name="CopyInnerBuildRestoredPackages"
|
||||
AfterTargets="Package">
|
||||
Condition="'$(IsUtilityProject)' != 'true'">
|
||||
<ItemGroup>
|
||||
<_InnerPackageCacheFiles Include="$(ProjectDirectory)artifacts/sb/package-cache/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(_InnerPackageCacheFiles)"
|
||||
DestinationFiles="$(NuGetPackageRoot)%(RecursiveDir)%(Filename)%(Extension)"
|
||||
SkipUnchangedFiles="true"
|
||||
Condition="'@(_InnerPackageCacheFiles)' != ''" />
|
||||
</Target>
|
||||
|
||||
<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 Name="CleanupRepo"
|
||||
AfterTargets="RemoveBuiltPackagesFromCache"
|
||||
Condition="'$(CleanWhileBuilding)' == 'true' and Exists('$(ProjectDirectory)artifacts')">
|
||||
Condition="'$(IsUtilityProject)' != 'true' and
|
||||
'$(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>
|
||||
<BuildLogsDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildLogs'))</BuildLogsDir>
|
||||
<BuildObjDir>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'buildObj'))</BuildObjDir>
|
||||
|
@ -544,21 +517,25 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="ExtractToolPackage"
|
||||
DependsOnTargets="GatherBuiltPackages"
|
||||
AfterTargets="Build"
|
||||
DependsOnTargets="CopyRepoArtifacts"
|
||||
Condition="'@(BuiltSdkPackageOverride)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)ExtractToolPackage.complete">
|
||||
<PropertyGroup>
|
||||
<_ToolPackagesRoot Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$(RepoArtifactsNonShippingPackagesDir)</_ToolPackagesRoot>
|
||||
<_ToolPackagesRoot Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</_ToolPackagesRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_ToolPackage
|
||||
Condition="'%(BuiltSdkPackageOverride.Version)' == ''"
|
||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.symbols.nupkg"
|
||||
Include="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity)*.nupkg"
|
||||
Exclude="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity)*.symbols.nupkg"
|
||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||
<_ToolPackage
|
||||
Condition="'%(BuiltSdkPackageOverride.Version)' != ''"
|
||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).symbols.nupkg"
|
||||
Include="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).nupkg"
|
||||
Exclude="$(_ToolPackagesRoot)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).symbols.nupkg"
|
||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -584,52 +561,31 @@
|
|||
</Touch>
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsurePackagesCreated"
|
||||
AfterTargets="CopyPackage"
|
||||
Condition="'$(SkipEnsurePackagesCreated)' != 'true' and '$(IsUtilityProject)' != 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(BaseIntermediateOutputPath)EnsurePackagesCreated.complete">
|
||||
<ItemGroup>
|
||||
<JustSourceBuiltPackages
|
||||
Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="
|
||||
$(SourceBuiltPackagesPath)*.symbols.nupkg;
|
||||
@(PreviouslySourceBuiltPackages)" />
|
||||
</ItemGroup>
|
||||
<Target Name="ExtractSymbolsArchiveFile"
|
||||
DependsOnTargets="CopyRepoArtifacts"
|
||||
Condition="'$(DotNetBuildSourceOnly)' == 'true' and
|
||||
'$(IsUtilityProject)' != 'true' and
|
||||
'@(RepoSymbolsArchive)' != ''"
|
||||
Inputs="@(RepoSymbolsArchive)"
|
||||
Outputs="$(IntermediateSymbolsRepoDir)">
|
||||
|
||||
<ItemGroup>
|
||||
<_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)" />
|
||||
<_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 Text="There must only be a single repository symbols archive file. Found: @(RepoSymbolsArchive)"
|
||||
Condition="@(RepoSymbolsArchive->Count()) > 1" />
|
||||
|
||||
<Error Condition="'@(JustSourceBuiltPackages)' == ''"
|
||||
Text="$(RepositoryName) produced no new source-built package identities. Known possible causes:%0A@(_PackagesNotCreatedReason, '%0A')" />
|
||||
|
||||
<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>
|
||||
<!-- Extract repo symbols tarball -->
|
||||
<MakeDir Directories="$(IntermediateSymbolsRepoDir)" />
|
||||
<Exec Command="tar -xzf %(RepoSymbolsArchive.Identity) -C $(IntermediateSymbolsRepoDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="SetSourceBuiltSdkOverrides"
|
||||
BeforeTargets="Build"
|
||||
Condition="'@(SourceBuiltSdkOverride)' != ''">
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Identity)" />
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Version)" />
|
||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=%(SourceBuiltSdkOverride.Location)/" />
|
||||
<EnvironmentVariables Condition="'%(SourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(SourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(SourceBuiltSdkOverride.Identity)/" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
<Target Name="Build"
|
||||
DependsOnTargets="
|
||||
BuildRepoReferences;
|
||||
RepoBuild;
|
||||
CopyRepoArtifacts;
|
||||
CopyInnerBuildRestoredPackages;
|
||||
ExtractToolPackage;
|
||||
ExtractSymbolsArchiveFile;
|
||||
CleanupRepo" />
|
||||
|
||||
<Target Name="WritePrebuiltUsageData"
|
||||
DependsOnTargets="GetAllProjectDirectories"
|
||||
|
@ -637,7 +593,7 @@
|
|||
Outputs="$(BaseIntermediateOutputPath)WritePrebuiltUsageData.complete">
|
||||
<!-- Save the PVP snapshot of each build step to be evaluated while building the report. -->
|
||||
<ItemGroup>
|
||||
<PackageVersionPropsSnapshotFiles Include="$(SharedIntermediateOutputPath)PackageVersions.*.Snapshot.props" />
|
||||
<PackageVersionPropsSnapshotFiles Include="$(PackageVersionsDir)PackageVersions.*.Snapshot.props" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(PackageVersionPropsSnapshotFiles)" DestinationFolder="$(PackageReportDir)snapshots/" />
|
||||
|
||||
|
@ -647,7 +603,7 @@
|
|||
<!-- Only contains packages when building. -->
|
||||
<TarballPrebuiltPackageFiles Include="$(PrebuiltPackagesPath)*.nupkg" />
|
||||
|
||||
<SourceBuiltPackageFiles Include="$(SourceBuiltBlobFeedDir)**/*.nupkg" />
|
||||
<SourceBuiltPackageFiles Include="$(ArtifactsPackagesDir)**/*.nupkg" />
|
||||
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
||||
|
||||
|
@ -754,4 +710,76 @@
|
|||
<Target Name="GetProjectDirectory" Outputs="$(ProjectDirectory)" />
|
||||
<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>
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<ItemGroup>
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeCMakeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,33 +9,29 @@
|
|||
<!-- On Windows, build all for the VB PoC -->
|
||||
<BuildActions Condition="'$(DotNetBuildSourceOnly)' != 'true' and '$(BuildOS)' == 'windows'">$(FlagParameterPrefix)restore $(FlagParameterPrefix)all $(FlagParameterPrefix)pack</BuildActions>
|
||||
|
||||
<BuildArgs Condition="'$(OverrideTargetArch)' == ''">$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</BuildArgs>
|
||||
<BuildArgs Condition="'$(OverrideTargetArch)' != ''">$(BuildArgs) $(FlagParameterPrefix)arch $(OverrideTargetArch)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</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>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</OverrideTargetRid>
|
||||
<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>
|
||||
<BuildArgs>$(BuildArgs) /p:PortableBuild=$(PortableBuild)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRuntimeIdentifier=$(TargetRid)</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<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>
|
||||
|
|
|
@ -4,4 +4,8 @@
|
|||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -10,4 +10,8 @@
|
|||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,11 +2,18 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="LatestCommit=$(GitCommitHash)" />
|
||||
|
||||
<!-- https://github.com/dotnet/source-build/issues/4115. -->
|
||||
<EnvironmentVariables Include="PublishWindowsPdb=false" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -4,4 +4,8 @@
|
|||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</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. -->
|
||||
|
||||
<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" />
|
||||
|
||||
<!-- Package source-build artifacts -->
|
||||
<RepositoryReference Include="package-source-build" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
|
||||
<!-- Testing. -->
|
||||
<RepositoryReference Include="scenario-tests" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -1,19 +1,10 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<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 -->
|
||||
<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:PlatformName=$(TargetArch)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:ForceBuildManifestOnly=true</BuildArgs>
|
||||
|
@ -23,4 +14,8 @@
|
|||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,9 +2,17 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<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>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -20,8 +20,12 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,15 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<!-- Need to set to false to calculate RepositoryCommit. -->
|
||||
<EnableSourceControlManagerQueries>false</EnableSourceControlManagerQueries>
|
||||
|
||||
<!-- Use the repo root build script -->
|
||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||
|
@ -17,42 +10,57 @@
|
|||
<!-- Restore and Build actions are already passed in by the root script. -->
|
||||
<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.
|
||||
See https://github.com/dotnet/sdk/issues/1512#issuecomment-377082883
|
||||
-->
|
||||
<BuildArgs>$(BuildArgs) /p:NETCoreAppMaximumVersion=99.9</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:OSName=$(OSNameOverride)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:PortableOSName=$(PortableOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:Rid=$(OverrideTargetRid)</BuildArgs>
|
||||
<!-- We need to extract the non-portable OS name from the non-portable RID and pass that to installer build script.
|
||||
This should not happen except when building non-portable. installer generally extracts the OSName from the host OS,
|
||||
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 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 -->
|
||||
<BuildArgs Condition="'$(TargetOS)' == 'freebsd' and '$(DotNetBuildSourceOnly)' == 'true'">$(BuildArgs) /p:PortableBuild=true</BuildArgs>
|
||||
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:CoreSetupRid=$(OverrideTargetRid)</BuildArgs>
|
||||
|
||||
<!-- Consume the source-built Core-Setup and toolset. This line must be removed to source-build CLI without source-building Core-Setup first. -->
|
||||
<BuildArgs>$(BuildArgs) /p:PublicBaseURL=file:%2F%2F$(SourceBuiltAssetsDir)</BuildArgs>
|
||||
<BuildArgs Condition="'$(TargetOS)' != 'windows'">$(BuildArgs) /p:NetRuntimeRid=$(TargetRid)</BuildArgs>
|
||||
<!-- https://github.com/dotnet/source-build/issues/4138 -->
|
||||
<BuildArgs Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx'">$(BuildArgs) /p:SkipBuildingInstallers=true</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 Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) /p:PgoInstrument=true</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="aspire" />
|
||||
<RepositoryReference Include="aspnetcore" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="deployment-tools" />
|
||||
<RepositoryReference Include="emsdk" />
|
||||
<RepositoryReference Include="fsharp" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="nuget-client" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="sdk" />
|
||||
<RepositoryReference Include="symreader" />
|
||||
<RepositoryReference Include="test-templates" />
|
||||
<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>
|
||||
|
||||
<!--
|
||||
|
@ -66,15 +74,67 @@
|
|||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="CLIBUILD_SKIP_TESTS=true" />
|
||||
|
||||
<!-- Disable bundled tools until we can figure out:
|
||||
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" />
|
||||
<!-- https://github.com/dotnet/source-build/issues/4115. -->
|
||||
<EnvironmentVariables Include="PublishWindowsPdb=false" />
|
||||
</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>
|
||||
|
|
|
@ -5,15 +5,16 @@
|
|||
|
||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</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>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
<BuildScript>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'eng', 'source-build', 'build$(ShellExtension)'))</BuildScript>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="xdt" />
|
||||
</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>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="aspnetcore" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -8,8 +8,12 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||
|
||||
<!-- 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)officialSkipTests true</BuildArgs>
|
||||
<BuildArgs Condition="'$(BuildOS)' == 'windows'">$(BuildArgs) $(FlagParameterPrefix)officialSkipApplyOptimizationData true</BuildArgs>
|
||||
|
@ -29,9 +28,12 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -3,11 +3,6 @@
|
|||
<PropertyGroup>
|
||||
<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>
|
||||
<RuntimeOS>$(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex)))</RuntimeOS>
|
||||
|
||||
|
@ -17,15 +12,18 @@
|
|||
<!-- Use the repo root build script -->
|
||||
<BuildScript>$(ProjectDirectory)build$(ShellExtension)</BuildScript>
|
||||
|
||||
<BuildArgs Condition="'$(OverrideTargetArch)' != ''">$(BuildArgs) $(FlagParameterPrefix)arch $(OverrideTargetArch)</BuildArgs>
|
||||
<BuildArgs Condition="'$(OverrideTargetOS)' != ''">$(BuildArgs) $(FlagParameterPrefix)os $(OverrideTargetOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(OverrideTargetRid)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)arch $(TargetArchitecture)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)os $(TargetOS)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs>
|
||||
<BuildArgs Condition="'$(ShortStack)' != 'true'">$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</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 Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<PortableBuild Condition="'$(PortableBuild)' == ''">false</PortableBuild>
|
||||
<BuildNonPortable>true</BuildNonPortable>
|
||||
<BuildNonPortable Condition="'$(PortableBuild)' == 'true'">false</BuildNonPortable>
|
||||
|
||||
|
@ -37,27 +35,20 @@
|
|||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="cecil" />
|
||||
<RepositoryReference Include="symreader" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="emsdk" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_X" 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)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="SetOutputList"
|
||||
AfterTargets="Package"
|
||||
BeforeTargets="GatherBuiltPackages">
|
||||
<ItemGroup>
|
||||
<PackagesOutputList Include="$(ShippingPackagesOutput)" />
|
||||
<PackagesOutputList Include="$(NonShippingPackagesOutput)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="source-build-reference-packages" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<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>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -3,21 +3,9 @@
|
|||
<PropertyGroup>
|
||||
<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:PortableRid=$(_baseOS)-$(_targetPortableArch)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(OverrideTargetRid)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:PortableRid=$(PortableRid)</BuildArgs>
|
||||
<BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs>
|
||||
|
||||
<!-- Just like mono, arm does not support NativeAot -->
|
||||
<BuildArgs Condition="'$(BuildArchitecture)' == 'arm'">$(BuildArgs) /p:NativeAotSupported=false</BuildArgs>
|
||||
|
@ -26,17 +14,28 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<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="aspnetcore" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<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="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>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -10,4 +10,9 @@
|
|||
<UseInnerClone>true</UseInnerClone>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
All packages built in SBRP repo are copied to prereqs/package/reference.
|
||||
Nothing gets copied to blob-feed packages cache.
|
||||
|
||||
This would cause an issue with validation in EnsurePackagesCreated target.
|
||||
We need to skip it for SBRP repo.
|
||||
-->
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
<!-- All packages built in SBRP repo are copied to prereqs/package/reference.
|
||||
Nothing gets copied to the artifacts/packages folder. -->
|
||||
<ReferenceOnlyRepoArtifacts>true</ReferenceOnlyRepoArtifacts>
|
||||
|
||||
<!-- SBRP builds before Arcade so it also needs the bootstrap Arcade version -->
|
||||
<UseBootstrapArcade>true</UseBootstrapArcade>
|
||||
|
@ -19,8 +14,14 @@
|
|||
<BuildArgs>$(BuildArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory)</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BuiltSdkPackageOverride Include="@(NoTargetsSdkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(TraversalSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="AddLocalNuGetPackageCacheDirectory"
|
||||
BeforeTargets="Build">
|
||||
AfterTargets="CopyNuGetConfig"
|
||||
BeforeTargets="UpdateNuGetConfig">
|
||||
<MakeDir Condition="'$(LocalNuGetPackageCacheDirectory)' != ''"
|
||||
Directories="$(LocalNuGetPackageCacheDirectory)" />
|
||||
|
||||
|
@ -30,4 +31,12 @@
|
|||
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
|
||||
</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>
|
||||
|
|
|
@ -12,4 +12,8 @@
|
|||
<RepositoryReference Include="command-line-api" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -4,4 +4,8 @@
|
|||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -9,8 +9,12 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="nuget-client" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -6,7 +6,10 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="templating" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -9,8 +9,12 @@
|
|||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="diagnostics" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="source-build-externals" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -9,12 +9,7 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<!-- https://github.com/dotnet/source-build/issues/3798 -->
|
||||
<RepositoryReference Include="wpf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<BuildWithDesktopMSBuild>true</BuildWithDesktopMSBuild>
|
||||
|
||||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)v $(LogVerbosity)</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
|
||||
"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-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-4.0", // https://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
"cc-pd", // https://creativecommons.org/publicdomain/mark/1.0/
|
||||
|
@ -143,13 +144,16 @@ public class LicenseScanTests : TestBase
|
|||
{
|
||||
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");
|
||||
|
||||
// Scancode Doc: https://scancode-toolkit.readthedocs.io/en/latest/index.html
|
||||
string ignoreOptions = string.Join(" ", s_ignoredFilePatterns.Select(pattern => $"--ignore {pattern}"));
|
||||
ExecuteHelper.ExecuteProcessValidateExitCode(
|
||||
"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);
|
||||
|
||||
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
|
||||
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/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
|
||||
|
|
|
@ -52,8 +52,11 @@
|
|||
./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.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.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/Microsoft.Build.Locator.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
|
||||
msft,./sdk/x.y.z/**/System.Windows.Extensions.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
|
||||
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-watch/x.y.z/tools/netx.y/any/Microsoft.Win32.SystemEvents.dll
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/runtimes/*
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Configuration.ConfigurationManager.dll
|
||||
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
|
||||
# Exclude format and watch tools due to too much noise
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-format/**
|
||||
sb,./sdk/x.y.z/DotnetTools/dotnet-format/**
|
||||
msft,./sdk/x.y.z/DotnetTools/dotnet-watch/**
|
||||
sb,./sdk/x.y.z/DotnetTools/dotnet-watch/**
|
||||
|
||||
# netfx runtimes for fsharp - https://github.com/dotnet/source-build/issues/3290
|
||||
msft,./sdk/x.y.z/FSharp/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
|
||||
|
@ -129,3 +81,11 @@ 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
|
||||
sb,./sdk/x.y.z/Roslyn/bincore/System.Collections.Immutable.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>
|
||||
<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>
|
||||
<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(-)
|
||||
|
||||
diff --git a/Directory.Build.props b/Directory.Build.props
|
||||
index 10c539090..824602dcb 100644
|
||||
index 4682f1d8c..1da4c0161 100644
|
||||
--- a/Directory.Build.props
|
||||
+++ b/Directory.Build.props
|
||||
@@ -34,8 +34,8 @@
|
||||
|
@ -54,9 +54,9 @@ index 10c539090..824602dcb 100644
|
|||
- <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net8.0/fsyacc.dll</FsYaccPath>
|
||||
+ <FsLexPath>$(ArtifactsDir)/bin/fslex/$(Configuration)/net9.0/fslex.dll</FsLexPath>
|
||||
+ <FsYaccPath>$(ArtifactsDir)/bin/fsyacc/$(Configuration)/net9.0/fsyacc.dll</FsYaccPath>
|
||||
<DefineConstants>NO_CHECKNULLS;BUILDING_WITH_LKG;NO_NULLCHECKING_LIB_SUPPORT;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)/eng/Versions.props" Condition="'$(DISABLE_ARCADE)' == 'true'"/>
|
||||
diff --git a/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
||||
index 46ffb722c..9d391689d 100644
|
||||
--- a/buildtools/AssemblyCheck/AssemblyCheck.fsproj
|
||||
|
@ -110,10 +110,10 @@ index fc072b7cf..4110186e5 100644
|
|||
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
|
||||
<RollForward Condition="'$(BUILDING_USING_DOTNET)' == 'true'">LatestMajor</RollForward>
|
||||
diff --git a/eng/build.sh b/eng/build.sh
|
||||
index 3b992d6bf..3a4444081 100755
|
||||
index b8915397d..4e020e84c 100755
|
||||
--- a/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
|
||||
|
||||
mkdir -p "$bootstrap_dir"
|
||||
|
@ -124,7 +124,7 @@ index 3b992d6bf..3a4444081 100755
|
|||
fi
|
||||
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
|
||||
local bltools=""
|
||||
@@ -274,7 +274,7 @@ function BuildSolution {
|
||||
@@ -279,7 +279,7 @@ function BuildSolution {
|
||||
fi
|
||||
BuildMessage="Error building bootstrap"
|
||||
MSBuild "$repo_root/Proto.sln" /restore "$bltools" /p:Configuration=$bootstrap_config
|
||||
|
@ -389,7 +389,7 @@ index e3c796d0b..e4926cd6c 100644
|
|||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||
<UnitTestType>xunit</UnitTestType>
|
||||
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
|
||||
+++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj
|
||||
@@ -3,8 +3,8 @@
|
||||
|
@ -469,7 +469,7 @@ index 4b6c5c534..1b20371c4 100644
|
|||
|
||||
<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
|
||||
index 5cfcba98c..c67b8f85d 100644
|
||||
index 8c1816177..81762e504 100644
|
||||
--- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
||||
+++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
|
||||
@@ -1,8 +1,8 @@
|
||||
|
@ -522,7 +522,7 @@ index 9706167ff..e02746a8e 100644
|
|||
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
|
||||
<!-- 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
|
||||
index 13add7032..4bbae272f 100644
|
||||
index fe6d95f90..9f81af284 100644
|
||||
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
||||
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.Runner/HistoricalBenchmark.Runner.fsproj
|
||||
@@ -1,7 +1,7 @@
|
||||
|
@ -533,9 +533,9 @@ index 13add7032..4bbae272f 100644
|
|||
+ <TargetFramework>net9.0</TargetFramework>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<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
|
||||
index 2534ba292..feef2eaf7 100644
|
||||
index 09ca5cb69..575bb32a3 100644
|
||||
--- a/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
||||
+++ b/tests/benchmarks/FCSBenchmarks/BenchmarkComparison/HistoricalBenchmark.fsproj
|
||||
@@ -2,7 +2,7 @@
|
||||
|
@ -548,7 +548,7 @@ index 2534ba292..feef2eaf7 100644
|
|||
<Configurations>Release</Configurations>
|
||||
</PropertyGroup>
|
||||
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
|
||||
+++ b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj
|
||||
@@ -2,7 +2,7 @@
|
||||
|
@ -561,7 +561,7 @@ index 55968eddd..e62ac8b85 100644
|
|||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
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
|
||||
+++ b/tests/benchmarks/FCSBenchmarks/FCSSourceFiles/FCSSourceFiles.fsproj
|
||||
@@ -2,7 +2,7 @@
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
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
|
||||
|
||||
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(+)
|
||||
|
||||
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
|
||||
+++ b/eng/targets/TargetFrameworks.props
|
||||
@@ -49,6 +49,7 @@
|
||||
@@ -51,6 +51,7 @@
|
||||
<NetRoslynToolset>$(NetCurrent)</NetRoslynToolset>
|
||||
<NetRoslynSourceBuild>$(NetCurrent);$(NetPrevious)</NetRoslynSourceBuild>
|
||||
<NetRoslynAll>$(NetCurrent);$(NetPrevious)</NetRoslynAll>
|
||||
+ <NetRoslyn>$(NetCurrent)</NetRoslyn>
|
||||
<NetRoslynBuildHostNetCoreVersion>$(NetCurrent)</NetRoslynBuildHostNetCoreVersion>
|
||||
</PropertyGroup>
|
||||
</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
|
||||
*.doc
|
||||
*.docx
|
||||
*.gif
|
||||
*.ico
|
||||
|
|
|
@ -64,7 +64,8 @@
|
|||
"name": "aspire",
|
||||
"defaultRemote": "https://github.com/dotnet/aspire",
|
||||
"exclude": [
|
||||
"src/Aspire.Dashboard/**/*"
|
||||
"src/Aspire.Dashboard/**/*",
|
||||
"samples/**/*"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<TargetFrameworks Condition="'$(OS)' != 'Windows_NT'">$(CoreSdkTargetFramework)</TargetFrameworks>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<RootNamespace>Microsoft.DotNet.Cli.Build</RootNamespace>
|
||||
<DefineConstants Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefineConstants);SOURCE_BUILD</DefineConstants>
|
||||
<DefineConstants Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(DefineConstants);SOURCE_BUILD</DefineConstants>
|
||||
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
|
@ -16,7 +16,7 @@
|
|||
<PackageReference Include="NuGet.Versioning" Version="$(NuGetBuildTasksPackageVersion)" />
|
||||
<PackageReference Include="NuGet.Packaging" Version="$(NuGetBuildTasksPackageVersion)" />
|
||||
<PackageReference Include="System.Reflection.Metadata" Version="1.4.2" />
|
||||
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<PackageReference Include="WindowsAzure.Storage" Version="9.3.3" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
|
||||
<PackageReference Include="System.Net.Http" Version="4.3.4" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.15.5)
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
# Create project named finalizer, this will generate Finalizer.vcxproj
|
||||
project(Finalizer)
|
||||
|
@ -53,6 +53,7 @@ target_link_libraries(Finalizer shell32.lib)
|
|||
target_link_libraries(Finalizer advapi32.lib)
|
||||
target_link_libraries(Finalizer version.lib)
|
||||
target_link_libraries(Finalizer msi.lib)
|
||||
target_link_libraries(Finalizer shlwapi.lib)
|
||||
|
||||
# Add WiX libraries
|
||||
target_link_libraries(Finalizer wcautil.lib)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue