Merge remote-tracking branch 'origin/main' into marcpopMSFT-addlcifile

This commit is contained in:
Marc Paine 2023-04-13 12:58:14 -07:00
commit f6e04c22f6
106 changed files with 2103 additions and 3583 deletions

View file

@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"microsoft.dotnet.darc": {
"version": "1.1.0-beta.23107.1",
"version": "1.1.0-beta.23128.1",
"commands": [
"darc"
]

View file

@ -12,16 +12,44 @@ This Codespace can help you debug the source build of .NET. In case you have run
`dotnet/installer` PR branch, it will contain the VMR (`dotnet/dotnet`) checked out into
`/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 in `/workspaces/artifacts/x64/Release`.
minutes and, after completion, produces an archived .NET SDK located in
`/workspaces/dotnet/artifacts/x64/Release`.
## Build the SDK
To build the VMR, run following:
```bash
cd /workspaces/dotnet
unset RepositoryName
./build.sh --online
```
> Please note that, at this time, the build modifies some of the checked-in sources so it might
be preferential to rebuild the Codespace between attempts.
be preferential to rebuild the Codespace between attempts (or reset the working tree changes).
For more details, see the instructions at https://github.com/dotnet/dotnet.
## Synchronize your changes in locally
When debugging the build, you have two options how to test your changes in this environment.
### Making changes to the VMR directly
You can make the changes directly to the local checkout of the VMR at `/workspaces/dotnet`. You
can then try to build the VMR and see if the change works for you.
### Pull changes into the Codespace from your fork
You can also make a fix in the individual source repository (e.g. `dotnet/runtime`) and push the
fix into a branch; can be in your fork too. Once you have the commit pushed, you can pull this
version of the repository into the Codespace by running:
```
/workspaces/synchronize-vmr.sh \
--repository <repo>:<commit, tag or branch> \
--remote <repo>:<fork URI>
```
You can now proceed building the VMR in the Codespace using instructions above. You can repeat
this process and sync a new commit from your fork. Only note that, at this time, Source-Build
modifies some of the checked-in sources so you'll need to revert the working tree changes
between attempts.

View file

@ -10,6 +10,8 @@ workspace_dir=$(realpath "$installer_dir/../")
tmp_dir=$(realpath "$workspace_dir/tmp")
vmr_dir=$(realpath "$workspace_dir/dotnet")
cp "$installer_dir/.devcontainer/vmr-source-build/synchronize-vmr.sh" "$workspace_dir"
mkdir -p "$tmp_dir"
# Codespaces performs a shallow fetch only
@ -17,18 +19,12 @@ git -C "$installer_dir" fetch --all --unshallow
# We will try to figure out, which branch is the current (PR) branch based off of
# We need this to figure out, which VMR branch to use
vmr_branch=$(git log --pretty=format:'%D' HEAD^ | grep 'origin/' | head -n1 | sed 's@origin/@@' | sed 's@,.*@@')
vmr_branch=$(git -C "$installer_dir" log --pretty=format:'%D' HEAD^ \
| grep 'origin/' \
| head -n1 \
| sed 's@origin/@@' \
| sed 's@,.*@@')
pushd "$installer_dir"
"./eng/vmr-sync.sh" \
--vmr "$vmr_dir" \
--tmp "$tmp_dir" \
--branch "$vmr_branch" \
--debug
popd
"$workspace_dir/synchronize-vmr.sh" --branch "$vmr_branch" --debug
# Run prep.sh
unset RepositoryName
pushd "$vmr_dir"
./prep.sh
popd
(cd "$vmr_dir" && ./prep.sh)

View file

@ -0,0 +1,4 @@
#!/bin/bash
(cd /workspaces/installer \
&& ./eng/vmr-sync.sh --vmr /workspaces/dotnet --tmp /workspaces/tmp $*)

View file

@ -20,8 +20,6 @@
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<!-- Temporary feed for Xamarin workload manifest -->
<add key="xamarin" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
</packageSources>
<disabledPackageSources>
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->

158
README.md
View file

@ -91,7 +91,7 @@ Further instructions on how to build inside of the Codespace will be available u
```bash
cd /path/to/complete/dotnet/sources
./prep.sh
./prep.sh --bootstrap
```
3. Build the .NET SDK
@ -162,20 +162,20 @@ Do not directly edit the table below. Use https://github.com/dotnet/installer/tr
### Table
*Note* the 7.0.100 build will be finished internally. Below is the last public version available from that branch but is not fully updated with the final runtime.
| Platform | main<br>(8.0.x&nbsp;Runtime) | 8.0.1xx-preview1<br>(8.0-preview1&nbsp;Runtime) | Release/7.0.3xx<br>(7.0.x&nbsp;Runtime) |
| Platform | main<br>(8.0.x&nbsp;Runtime) | 8.0.1xx-preview3<br>(8.0-preview3&nbsp;Runtime) | Release/7.0.3xx<br>(7.0.x&nbsp;Runtime) |
| :--------- | :----------: | :----------: | :----------: |
| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]<br>[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]<br>[zip][win-x64-zip-main] - [Checksum][win-x64-zip-checksum-main] | [![][win-x64-badge-8.0.1XX-preview1]][win-x64-version-8.0.1XX-preview1]<br>[Installer][win-x64-installer-8.0.1XX-preview1] - [Checksum][win-x64-installer-checksum-8.0.1XX-preview1]<br>[zip][win-x64-zip-8.0.1XX-preview1] - [Checksum][win-x64-zip-checksum-8.0.1XX-preview1] | [![][win-x64-badge-7.0.3XX]][win-x64-version-7.0.3XX]<br>[Installer][win-x64-installer-7.0.3XX] - [Checksum][win-x64-installer-checksum-7.0.3XX]<br>[zip][win-x64-zip-7.0.3XX] - [Checksum][win-x64-zip-checksum-7.0.3XX] |
| **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.1XX-preview1]][win-x86-version-8.0.1XX-preview1]<br>[Installer][win-x86-installer-8.0.1XX-preview1] - [Checksum][win-x86-installer-checksum-8.0.1XX-preview1]<br>[zip][win-x86-zip-8.0.1XX-preview1] - [Checksum][win-x86-zip-checksum-8.0.1XX-preview1] | [![][win-x86-badge-7.0.3XX]][win-x86-version-7.0.3XX]<br>[Installer][win-x86-installer-7.0.3XX] - [Checksum][win-x86-installer-checksum-7.0.3XX]<br>[zip][win-x86-zip-7.0.3XX] - [Checksum][win-x86-zip-checksum-7.0.3XX] |
| **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.1XX-preview3]][win-x64-version-8.0.1XX-preview3]<br>[Installer][win-x64-installer-8.0.1XX-preview3] - [Checksum][win-x64-installer-checksum-8.0.1XX-preview3]<br>[zip][win-x64-zip-8.0.1XX-preview3] - [Checksum][win-x64-zip-checksum-8.0.1XX-preview3] | [![][win-x64-badge-7.0.3XX]][win-x64-version-7.0.3XX]<br>[Installer][win-x64-installer-7.0.3XX] - [Checksum][win-x64-installer-checksum-7.0.3XX]<br>[zip][win-x64-zip-7.0.3XX] - [Checksum][win-x64-zip-checksum-7.0.3XX] |
| **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.1XX-preview3]][win-x86-version-8.0.1XX-preview3]<br>[Installer][win-x86-installer-8.0.1XX-preview3] - [Checksum][win-x86-installer-checksum-8.0.1XX-preview3]<br>[zip][win-x86-zip-8.0.1XX-preview3] - [Checksum][win-x86-zip-checksum-8.0.1XX-preview3] | [![][win-x86-badge-7.0.3XX]][win-x86-version-7.0.3XX]<br>[Installer][win-x86-installer-7.0.3XX] - [Checksum][win-x86-installer-checksum-7.0.3XX]<br>[zip][win-x86-zip-7.0.3XX] - [Checksum][win-x86-zip-checksum-7.0.3XX] |
| **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.1XX-preview1]][win-arm64-version-8.0.1XX-preview1]<br>[Installer][win-arm64-installer-8.0.1XX-preview1] - [Checksum][win-arm64-installer-checksum-8.0.1XX-preview1]<br>[zip][win-arm64-zip-8.0.1XX-preview1] | [![][win-arm64-badge-7.0.3XX]][win-arm64-version-7.0.3XX]<br>[Installer][win-arm64-installer-7.0.3XX] - [Checksum][win-arm64-installer-checksum-7.0.3XX]<br>[zip][win-arm64-zip-7.0.3XX] |
| **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.1XX-preview1]][osx-x64-version-8.0.1XX-preview1]<br>[Installer][osx-x64-installer-8.0.1XX-preview1] - [Checksum][osx-x64-installer-checksum-8.0.1XX-preview1]<br>[tar.gz][osx-x64-targz-8.0.1XX-preview1] - [Checksum][osx-x64-targz-checksum-8.0.1XX-preview1] | [![][osx-x64-badge-7.0.3XX]][osx-x64-version-7.0.3XX]<br>[Installer][osx-x64-installer-7.0.3XX] - [Checksum][osx-x64-installer-checksum-7.0.3XX]<br>[tar.gz][osx-x64-targz-7.0.3XX] - [Checksum][osx-x64-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][osx-arm64-version-8.0.1XX-preview1]<br>[Installer][osx-arm64-installer-8.0.1XX-preview1] - [Checksum][osx-arm64-installer-checksum-8.0.1XX-preview1]<br>[tar.gz][osx-arm64-targz-8.0.1XX-preview1] - [Checksum][osx-arm64-targz-checksum-8.0.1XX-preview1] | [![][osx-arm64-badge-7.0.3XX]][osx-arm64-version-7.0.3XX]<br>[Installer][osx-arm64-installer-7.0.3XX] - [Checksum][osx-arm64-installer-checksum-7.0.3XX]<br>[tar.gz][osx-arm64-targz-7.0.3XX] - [Checksum][osx-arm64-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-version-8.0.1XX-preview1]<br>[DEB Installer][linux-DEB-installer-8.0.1XX-preview1] - [Checksum][linux-DEB-installer-checksum-8.0.1XX-preview1]<br>[RPM Installer][linux-RPM-installer-8.0.1XX-preview1] - [Checksum][linux-RPM-installer-checksum-8.0.1XX-preview1]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-8.0.1XX-preview1] - [Checksum][linux-targz-checksum-8.0.1XX-preview1] | [![][linux-badge-7.0.3XX]][linux-version-7.0.3XX]<br>[DEB Installer][linux-DEB-installer-7.0.3XX] - [Checksum][linux-DEB-installer-checksum-7.0.3XX]<br>[RPM Installer][linux-RPM-installer-7.0.3XX] - [Checksum][linux-RPM-installer-checksum-7.0.3XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.3XX] - [Checksum][linux-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-arm-version-8.0.1XX-preview1]<br>[tar.gz][linux-arm-targz-8.0.1XX-preview1] - [Checksum][linux-arm-targz-checksum-8.0.1XX-preview1] | [![][linux-arm-badge-7.0.3XX]][linux-arm-version-7.0.3XX]<br>[tar.gz][linux-arm-targz-7.0.3XX] - [Checksum][linux-arm-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-arm64-version-8.0.1XX-preview1]<br>[tar.gz][linux-arm64-targz-8.0.1XX-preview1] - [Checksum][linux-arm64-targz-checksum-8.0.1XX-preview1] | [![][linux-arm64-badge-7.0.3XX]][linux-arm64-version-7.0.3XX]<br>[tar.gz][linux-arm64-targz-7.0.3XX] - [Checksum][linux-arm64-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-musl-x64-version-8.0.1XX-preview1]<br>[tar.gz][linux-musl-x64-targz-8.0.1XX-preview1] - [Checksum][linux-musl-x64-targz-checksum-8.0.1XX-preview1] | [![][linux-musl-x64-badge-7.0.3XX]][linux-musl-x64-version-7.0.3XX]<br>[tar.gz][linux-musl-x64-targz-7.0.3XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-musl-arm-version-8.0.1XX-preview1]<br>[tar.gz][linux-musl-arm-targz-8.0.1XX-preview1] - [Checksum][linux-musl-arm-targz-checksum-8.0.1XX-preview1] | [![][linux-musl-arm-badge-7.0.3XX]][linux-musl-arm-version-7.0.3XX]<br>[tar.gz][linux-musl-arm-targz-7.0.3XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.3XX] |
| **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.1XX-preview1]][linux-musl-arm64-version-8.0.1XX-preview1]<br>[tar.gz][linux-musl-arm64-targz-8.0.1XX-preview1] - [Checksum][linux-musl-arm64-targz-checksum-8.0.1XX-preview1] | [![][linux-musl-arm64-badge-7.0.3XX]][linux-musl-arm64-version-7.0.3XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.3XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][win-arm64-version-8.0.1XX-preview3]<br>[Installer][win-arm64-installer-8.0.1XX-preview3] - [Checksum][win-arm64-installer-checksum-8.0.1XX-preview3]<br>[zip][win-arm64-zip-8.0.1XX-preview3] | [![][win-arm64-badge-7.0.3XX]][win-arm64-version-7.0.3XX]<br>[Installer][win-arm64-installer-7.0.3XX] - [Checksum][win-arm64-installer-checksum-7.0.3XX]<br>[zip][win-arm64-zip-7.0.3XX] |
| **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.1XX-preview3]][osx-x64-version-8.0.1XX-preview3]<br>[Installer][osx-x64-installer-8.0.1XX-preview3] - [Checksum][osx-x64-installer-checksum-8.0.1XX-preview3]<br>[tar.gz][osx-x64-targz-8.0.1XX-preview3] - [Checksum][osx-x64-targz-checksum-8.0.1XX-preview3] | [![][osx-x64-badge-7.0.3XX]][osx-x64-version-7.0.3XX]<br>[Installer][osx-x64-installer-7.0.3XX] - [Checksum][osx-x64-installer-checksum-7.0.3XX]<br>[tar.gz][osx-x64-targz-7.0.3XX] - [Checksum][osx-x64-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][osx-arm64-version-8.0.1XX-preview3]<br>[Installer][osx-arm64-installer-8.0.1XX-preview3] - [Checksum][osx-arm64-installer-checksum-8.0.1XX-preview3]<br>[tar.gz][osx-arm64-targz-8.0.1XX-preview3] - [Checksum][osx-arm64-targz-checksum-8.0.1XX-preview3] | [![][osx-arm64-badge-7.0.3XX]][osx-arm64-version-7.0.3XX]<br>[Installer][osx-arm64-installer-7.0.3XX] - [Checksum][osx-arm64-installer-checksum-7.0.3XX]<br>[tar.gz][osx-arm64-targz-7.0.3XX] - [Checksum][osx-arm64-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-version-8.0.1XX-preview3]<br>[DEB Installer][linux-DEB-installer-8.0.1XX-preview3] - [Checksum][linux-DEB-installer-checksum-8.0.1XX-preview3]<br>[RPM Installer][linux-RPM-installer-8.0.1XX-preview3] - [Checksum][linux-RPM-installer-checksum-8.0.1XX-preview3]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-8.0.1XX-preview3] - [Checksum][linux-targz-checksum-8.0.1XX-preview3] | [![][linux-badge-7.0.3XX]][linux-version-7.0.3XX]<br>[DEB Installer][linux-DEB-installer-7.0.3XX] - [Checksum][linux-DEB-installer-checksum-7.0.3XX]<br>[RPM Installer][linux-RPM-installer-7.0.3XX] - [Checksum][linux-RPM-installer-checksum-7.0.3XX]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz-7.0.3XX] - [Checksum][linux-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-arm-version-8.0.1XX-preview3]<br>[tar.gz][linux-arm-targz-8.0.1XX-preview3] - [Checksum][linux-arm-targz-checksum-8.0.1XX-preview3] | [![][linux-arm-badge-7.0.3XX]][linux-arm-version-7.0.3XX]<br>[tar.gz][linux-arm-targz-7.0.3XX] - [Checksum][linux-arm-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-arm64-version-8.0.1XX-preview3]<br>[tar.gz][linux-arm64-targz-8.0.1XX-preview3] - [Checksum][linux-arm64-targz-checksum-8.0.1XX-preview3] | [![][linux-arm64-badge-7.0.3XX]][linux-arm64-version-7.0.3XX]<br>[tar.gz][linux-arm64-targz-7.0.3XX] - [Checksum][linux-arm64-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-musl-x64-version-8.0.1XX-preview3]<br>[tar.gz][linux-musl-x64-targz-8.0.1XX-preview3] - [Checksum][linux-musl-x64-targz-checksum-8.0.1XX-preview3] | [![][linux-musl-x64-badge-7.0.3XX]][linux-musl-x64-version-7.0.3XX]<br>[tar.gz][linux-musl-x64-targz-7.0.3XX] - [Checksum][linux-musl-x64-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-musl-arm-version-8.0.1XX-preview3]<br>[tar.gz][linux-musl-arm-targz-8.0.1XX-preview3] - [Checksum][linux-musl-arm-targz-checksum-8.0.1XX-preview3] | [![][linux-musl-arm-badge-7.0.3XX]][linux-musl-arm-version-7.0.3XX]<br>[tar.gz][linux-musl-arm-targz-7.0.3XX] - [Checksum][linux-musl-arm-targz-checksum-7.0.3XX] |
| **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.1XX-preview3]][linux-musl-arm64-version-8.0.1XX-preview3]<br>[tar.gz][linux-musl-arm64-targz-8.0.1XX-preview3] - [Checksum][linux-musl-arm64-targz-checksum-8.0.1XX-preview3] | [![][linux-musl-arm64-badge-7.0.3XX]][linux-musl-arm64-version-7.0.3XX]<br>[tar.gz][linux-musl-arm64-targz-7.0.3XX] - [Checksum][linux-musl-arm64-targz-checksum-7.0.3XX] |
| **RHEL 6** | **N/A** | **N/A** | **N/A** |
Reference notes:
@ -192,12 +192,12 @@ Reference notes:
[win-x64-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.zip
[win-x64-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x64.zip.sha
[win-x64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/win_x64_Release_version_badge.svg?no-cache
[win-x64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-win-x64.txt
[win-x64-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x64.exe
[win-x64-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x64.exe.sha
[win-x64-zip-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x64.zip
[win-x64-zip-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x64.zip.sha
[win-x64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/win_x64_Release_version_badge.svg?no-cache
[win-x64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-win-x64.txt
[win-x64-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x64.exe
[win-x64-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x64.exe.sha
[win-x64-zip-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x64.zip
[win-x64-zip-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x64.zip.sha
[win-x64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/win_x64_Release_version_badge.svg?no-cache
[win-x64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-win-x64.txt
@ -213,12 +213,12 @@ Reference notes:
[win-x86-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.zip
[win-x86-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-x86.zip.sha
[win-x86-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/win_x86_Release_version_badge.svg?no-cache
[win-x86-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-win-x86.txt
[win-x86-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x86.exe
[win-x86-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x86.exe.sha
[win-x86-zip-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x86.zip
[win-x86-zip-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-x86.zip.sha
[win-x86-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/win_x86_Release_version_badge.svg?no-cache
[win-x86-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-win-x86.txt
[win-x86-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x86.exe
[win-x86-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x86.exe.sha
[win-x86-zip-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x86.zip
[win-x86-zip-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-x86.zip.sha
[win-x86-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/win_x86_Release_version_badge.svg?no-cache
[win-x86-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-win-x86.txt
@ -234,12 +234,12 @@ Reference notes:
[osx-x64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.tar.gz
[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[osx-x64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/osx_x64_Release_version_badge.svg?no-cache
[osx-x64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-osx-x64.txt
[osx-x64-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg
[osx-x64-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg.sha
[osx-x64-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-x64.tar.gz
[osx-x64-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[osx-x64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/osx_x64_Release_version_badge.svg?no-cache
[osx-x64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-osx-x64.txt
[osx-x64-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-x64.pkg
[osx-x64-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-x64.pkg.sha
[osx-x64-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-x64.tar.gz
[osx-x64-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha
[osx-x64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/osx_x64_Release_version_badge.svg?no-cache
[osx-x64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-osx-x64.txt
@ -255,12 +255,12 @@ Reference notes:
[osx-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.tar.gz
[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
[osx-arm64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/osx_arm64_Release_version_badge.svg?no-cache
[osx-arm64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-osx-arm64.txt
[osx-arm64-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg
[osx-arm64-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg.sha
[osx-arm64-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.tar.gz
[osx-arm64-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
[osx-arm64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/osx_arm64_Release_version_badge.svg?no-cache
[osx-arm64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-osx-arm64.txt
[osx-arm64-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-arm64.pkg
[osx-arm64-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-arm64.pkg.sha
[osx-arm64-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-arm64.tar.gz
[osx-arm64-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha
[osx-arm64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/osx_arm64_Release_version_badge.svg?no-cache
[osx-arm64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-osx-arm64.txt
@ -278,14 +278,14 @@ Reference notes:
[linux-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz
[linux-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-x64.tar.gz.sha
[linux-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_x64_Release_version_badge.svg?no-cache
[linux-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-x64.txt
[linux-DEB-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-x64.deb
[linux-DEB-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-x64.deb.sha
[linux-RPM-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-x64.rpm
[linux-RPM-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-x64.rpm.sha
[linux-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-x64.tar.gz
[linux-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-x64.tar.gz.sha
[linux-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_x64_Release_version_badge.svg?no-cache
[linux-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-x64.txt
[linux-DEB-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-x64.deb
[linux-DEB-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-x64.deb.sha
[linux-RPM-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-x64.rpm
[linux-RPM-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-x64.rpm.sha
[linux-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-x64.tar.gz
[linux-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-x64.tar.gz.sha
[linux-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_x64_Release_version_badge.svg?no-cache
[linux-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-x64.txt
@ -301,10 +301,10 @@ Reference notes:
[linux-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz
[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm.tar.gz.sha
[linux-arm-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_arm_Release_version_badge.svg?no-cache
[linux-arm-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-arm.txt
[linux-arm-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-arm.tar.gz
[linux-arm-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-arm.tar.gz.sha
[linux-arm-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_arm_Release_version_badge.svg?no-cache
[linux-arm-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-arm.txt
[linux-arm-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-arm.tar.gz
[linux-arm-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-arm.tar.gz.sha
[linux-arm-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_arm_Release_version_badge.svg?no-cache
[linux-arm-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-arm.txt
@ -316,10 +316,10 @@ Reference notes:
[linux-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz
[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-arm64.tar.gz.sha
[linux-arm64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_arm64_Release_version_badge.svg?no-cache
[linux-arm64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-arm64.txt
[linux-arm64-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-arm64.tar.gz
[linux-arm64-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-arm64.tar.gz.sha
[linux-arm64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_arm64_Release_version_badge.svg?no-cache
[linux-arm64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-arm64.txt
[linux-arm64-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-arm64.tar.gz
[linux-arm64-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-arm64.tar.gz.sha
[linux-arm64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_arm64_Release_version_badge.svg?no-cache
[linux-arm64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-arm64.txt
@ -331,10 +331,10 @@ Reference notes:
[rhel-6-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz
[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
[rhel-6-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/rhel.6_x64_Release_version_badge.svg?no-cache
[rhel-6-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-rhel.6-x64.txt
[rhel-6-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-rhel.6-x64.tar.gz
[rhel-6-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
[rhel-6-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/rhel.6_x64_Release_version_badge.svg?no-cache
[rhel-6-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-rhel.6-x64.txt
[rhel-6-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-rhel.6-x64.tar.gz
[rhel-6-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha
[rhel-6-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/rhel.6_x64_Release_version_badge.svg?no-cache
[rhel-6-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-rhel.6-x64.txt
@ -346,10 +346,10 @@ Reference notes:
[linux-musl-x64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
[linux-musl-x64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_musl_x64_Release_version_badge.svg?no-cache
[linux-musl-x64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-musl-x64.txt
[linux-musl-x64-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-musl-x64-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
[linux-musl-x64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_musl_x64_Release_version_badge.svg?no-cache
[linux-musl-x64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-musl-x64.txt
[linux-musl-x64-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-musl-x64-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha
[linux-musl-x64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_musl_x64_Release_version_badge.svg?no-cache
[linux-musl-x64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-musl-x64.txt
@ -361,10 +361,10 @@ Reference notes:
[linux-musl-arm-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz
[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
[linux-musl-arm-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_musl_arm_Release_version_badge.svg?no-cache
[linux-musl-arm-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-musl-arm.txt
[linux-musl-arm-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm.tar.gz
[linux-musl-arm-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
[linux-musl-arm-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_musl_arm_Release_version_badge.svg?no-cache
[linux-musl-arm-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-musl-arm.txt
[linux-musl-arm-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-arm.tar.gz
[linux-musl-arm-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha
[linux-musl-arm-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_musl_arm_Release_version_badge.svg?no-cache
[linux-musl-arm-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-musl-arm.txt
@ -376,10 +376,10 @@ Reference notes:
[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
[linux-musl-arm64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
[linux-musl-arm64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-linux-musl-arm64.txt
[linux-musl-arm64-targz-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-musl-arm64-targz-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
[linux-musl-arm64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
[linux-musl-arm64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-linux-musl-arm64.txt
[linux-musl-arm64-targz-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-musl-arm64-targz-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha
[linux-musl-arm64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
[linux-musl-arm64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-linux-musl-arm64.txt
@ -391,10 +391,10 @@ Reference notes:
[win-arm-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip
[win-arm-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm.zip.sha
[win-arm-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/win_arm_Release_version_badge.svg?no-cache
[win-arm-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-win-arm.txt
[win-arm-zip-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm.zip
[win-arm-zip-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm.zip.sha
[win-arm-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/win_arm_Release_version_badge.svg?no-cache
[win-arm-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-win-arm.txt
[win-arm-zip-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm.zip
[win-arm-zip-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm.zip.sha
[win-arm-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/win_arm_Release_version_badge.svg?no-cache
[win-arm-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-win-arm.txt
@ -408,12 +408,12 @@ Reference notes:
[win-arm64-zip-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.zip
[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/8.0.1xx/daily/dotnet-sdk-win-arm64.zip.sha
[win-arm64-badge-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/win_arm64_Release_version_badge.svg?no-cache
[win-arm64-version-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/productCommit-win-arm64.txt
[win-arm64-installer-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm64.exe
[win-arm64-installer-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm64.exe.sha
[win-arm64-zip-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm64.zip
[win-arm64-zip-checksum-8.0.1XX-preview1]: https://aka.ms/dotnet/8.0.1xx-preview1/daily/dotnet-sdk-win-arm64.zip.sha
[win-arm64-badge-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/win_arm64_Release_version_badge.svg?no-cache
[win-arm64-version-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/productCommit-win-arm64.txt
[win-arm64-installer-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm64.exe
[win-arm64-installer-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm64.exe.sha
[win-arm64-zip-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm64.zip
[win-arm64-zip-checksum-8.0.1XX-preview3]: https://aka.ms/dotnet/8.0.1xx-preview3/daily/dotnet-sdk-win-arm64.zip.sha
[win-arm64-badge-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/win_arm64_Release_version_badge.svg?no-cache
[win-arm64-version-7.0.3XX]: https://aka.ms/dotnet/7.0.3xx/daily/productCommit-win-arm64.txt

View file

@ -78,12 +78,12 @@
<SdkNonShippingAssetsToPublish Condition="'$(PublishBinariesAndBadge)' != 'false'" Include="$(ArtifactsNonShippingPackagesDir)*.tar.gz" />
<SdkNonShippingAssetsToPublish Condition="'$(PublishBinariesAndBadge)' != 'false'" Include="$(ArtifactsNonShippingPackagesDir)*.zip" />
<SdkNonShippingAssetsToPublish Include="$(ArtifactsNonShippingPackagesDir)*.pkg" />
<CheckSumsToPublish Include="$(ArtifactsShippingPackagesDir)*.sha" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)productCommit-*.txt.sha" Condition=" '$(PublishBinariesAndBadge)' == 'false'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)productVersion.txt.sha" Condition=" '$(OS)' != 'Windows_NT' or '$(Architecture)' != 'x64'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)sdk-productVersion.txt.sha" Condition=" '$(OS)' != 'Windows_NT' or '$(Architecture)' != 'x64'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)*.zip.sha" Condition=" '$(PublishBinariesAndBadge)' == 'false' "/>
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)*.tar.gz.sha" Condition=" '$(PublishBinariesAndBadge)' == 'false' "/>
<CheckSumsToPublish Include="$(ArtifactsShippingPackagesDir)*.sha512" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)productCommit-*.txt.sha512" Condition=" '$(PublishBinariesAndBadge)' == 'false'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)productVersion.txt.sha512" Condition=" '$(OS)' != 'Windows_NT' or '$(Architecture)' != 'x64'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)sdk-productVersion.txt.sha512" Condition=" '$(OS)' != 'Windows_NT' or '$(Architecture)' != 'x64'" />
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)*.zip.sha512" Condition=" '$(PublishBinariesAndBadge)' == 'false' "/>
<CheckSumsToPublish Remove="$(ArtifactsShippingPackagesDir)*.tar.gz.sha512" Condition=" '$(PublishBinariesAndBadge)' == 'false' "/>
</ItemGroup>
<Target Name="PublishSdkAssetsAndChecksums"

View file

@ -3,6 +3,7 @@
<PropertyGroup>
<GitHubRepositoryName>installer</GitHubRepositoryName>
<SourceBuildManagedOnly>true</SourceBuildManagedOnly>
<SourceBuildTrimNetFrameworkTargets>true</SourceBuildTrimNetFrameworkTargets>
</PropertyGroup>
<Target Name="ConfigureInnerBuildArg" BeforeTargets="GetSourceBuildCommandConfiguration">

View file

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.0-preview.2.23106.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Ref" Version="8.0.0-preview.4.23178.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>35e681744a6fa5a046983ae9de04f24f0e77e112</Sha>
<Sha>e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.0-preview.2.23106.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0" Version="8.0.0-preview.4.23178.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>35e681744a6fa5a046983ae9de04f24f0e77e112</Sha>
<Sha>e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.0-preview.2.23106.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0" Version="8.0.0-preview.4.23178.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>35e681744a6fa5a046983ae9de04f24f0e77e112</Sha>
<Sha>e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5</Sha>
</Dependency>
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.0-preview.2.23106.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.WindowsDesktop.App.Runtime.win-x64" Version="8.0.0-preview.4.23178.3" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/windowsdesktop</Uri>
<Sha>35e681744a6fa5a046983ae9de04f24f0e77e112</Sha>
<Sha>e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.SharedFramework.x64.8.0" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
<SourceBuildTarball RepoName="runtime" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.NetCore.TargetingPack.x64.8.0" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.App.Host.win-x64" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</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,191 +48,189 @@
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NETCore.Platforms" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Ref.Internal" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.AspNetCore.App.Runtime.win-x64" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<SourceBuildTarball RepoName="aspnetcore" ManagedOnly="true" />
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
<SourceBuild RepoName="aspnetcore" ManagedOnly="true" />
</Dependency>
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
</Dependency>
<Dependency Name="dotnet-dev-certs" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-dev-certs" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
</Dependency>
<Dependency Name="dotnet-user-jwts" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-jwts" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</Sha>
</Dependency>
<Dependency Name="dotnet-user-secrets" Version="8.0.0-preview.2.23107.2" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="dotnet-user-secrets" Version="8.0.0-preview.4.23207.6" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/aspnetcore</Uri>
<Sha>cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d</Sha>
<Sha>a419b2204d7eda5637142d03d980ee87a48054fe</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>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.1.0-rc.22558.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.5.0" Version="1.1.0-rc.23213.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
<Sha>45a41b353d078e4d1e5918246fddbacb452eb210</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.1.0-rc.22558.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.6.0" Version="1.1.0-rc.23213.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
<Sha>45a41b353d078e4d1e5918246fddbacb452eb210</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.1.0-rc.22558.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.7.0" Version="1.1.0-rc.23213.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
<Sha>45a41b353d078e4d1e5918246fddbacb452eb210</Sha>
<SourceBuild RepoName="test-templates" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.22558.1">
<Dependency Name="Microsoft.DotNet.Test.ProjectTemplates.8.0" Version="1.1.0-rc.23213.1">
<Uri>https://github.com/dotnet/test-templates</Uri>
<Sha>bb3695688177f5f80eeb3c0498168612e31549d5</Sha>
<Sha>45a41b353d078e4d1e5918246fddbacb452eb210</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.100-preview.2.23107.8">
<Dependency Name="Microsoft.DotNet.Common.ItemTemplates" Version="8.0.100-preview.4.23210.3">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>516144c596a27c1834b69cbd3bc26f6ab25e7c66</Sha>
<Sha>f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.100-preview.2.23107.8">
<Dependency Name="Microsoft.TemplateEngine.Cli" Version="8.0.100-preview.4.23210.3">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>516144c596a27c1834b69cbd3bc26f6ab25e7c66</Sha>
<Sha>f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.100-preview.2.23107.8">
<Dependency Name="Microsoft.NET.Sdk" Version="8.0.100-preview.4.23210.3">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>516144c596a27c1834b69cbd3bc26f6ab25e7c66</Sha>
<Sha>f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d</Sha>
<SourceBuild RepoName="sdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.100-preview.2.23107.8">
<Dependency Name="Microsoft.DotNet.MSBuildSdkResolver" Version="8.0.100-preview.4.23210.3">
<Uri>https://github.com/dotnet/sdk</Uri>
<Sha>516144c596a27c1834b69cbd3bc26f6ab25e7c66</Sha>
<Sha>f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d</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="8.0.0-preview.2.23080.8" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="8.0.0-preview.4.23177.3" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/winforms</Uri>
<Sha>29484ddfbbb4c3fa931679a54dece607f94eff7a</Sha>
<Sha>d5c99d71d02787c42753807e2271d42a01d5b2ca</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.0-preview.2.23105.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Dependency Name="Microsoft.DotNet.Wpf.ProjectTemplates" Version="8.0.0-preview.4.23178.1" CoherentParentDependency="Microsoft.WindowsDesktop.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/wpf</Uri>
<Sha>22d2efb6a031c4dc9ecd51adc20806b7b35057eb</Sha>
<Sha>599cce2fff315dd2c6d712436e890837cdc3ff3e</Sha>
</Dependency>
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.5.0-beta.23106.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.FSharp.Compiler" Version="12.5.0-beta.23203.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>6e280448367a288c6d28d9c0a446302c4fb90e3f</Sha>
<Sha>5b37dd5fea143baefbef2bd83836188af0815a30</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="7.0.300-beta.23106.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.SourceBuild.Intermediate.fsharp" Version="7.0.300-beta.23203.7" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/fsharp</Uri>
<Sha>6e280448367a288c6d28d9c0a446302c4fb90e3f</Sha>
<Sha>5b37dd5fea143baefbef2bd83836188af0815a30</Sha>
<SourceBuild RepoName="fsharp" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.6.0-preview-20230202-02" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.Test.Sdk" Version="17.6.0-preview-20230323-05" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/microsoft/vstest</Uri>
<Sha>ef449ea49d874b6415c0244d775f5e3a2f4e941f</Sha>
<Sha>2d656fe2133f89248825419fb8ffac5505486906</Sha>
<SourceBuildTarball RepoName="vstest" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.ILLink.Tasks" Version="8.0.0-preview.4.23210.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550</Sha>
<Sha>053e17a0daf4be907db34d64fc51bc133c284fae</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.6.0-1.23101.17" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.6.0-2.23177.13" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>8da03f9cd0471db81cea9a5d7f7f92d3a746c6de</Sha>
<Sha>542fea0c2a93aacb3e8c52c2ce43e975d29832f3</Sha>
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Build" Version="17.6.0-preview-23106-07" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.Build" Version="17.7.0-preview-23206-02" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/msbuild</Uri>
<Sha>fc3ab4c5e2a486abb8fc66aede7ec8e3eb91fe08</Sha>
<SourceBuildTarball RepoName="msbuild" ManagedOnly="true" />
<Sha>171676d8179a0032a2890c3d0ad6f9e245ca1f5c</Sha>
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
</Dependency>
<Dependency Name="NuGet.Build.Tasks" Version="6.6.0-preview.1.17" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="NuGet.Build.Tasks" Version="6.6.0-preview.3.61" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/nuget/nuget.client</Uri>
<Sha>419ab86c016778ee3aeab40ea6fee879c09c7365</Sha>
<Sha>0fa557836fa35aee7d60776ef0c88176dbcd22ac</Sha>
<SourceBuildTarball RepoName="nuget-client" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.ApplicationInsights" Version="2.0.0">
<Uri>https://github.com/Microsoft/ApplicationInsights-dotnet</Uri>
<Sha>53b80940842204f78708a538628288ff5d741a1d</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100-preview.2" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Dependency Name="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport" Version="8.0.0-preview.4.23170.1" CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470</Sha>
<Sha>a464820353b7956538b07c9b53103d793b5e15b6</Sha>
<SourceBuild RepoName="emsdk" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100-preview.2" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Emscripten.net6.Manifest-8.0.100-preview.2" Version="8.0.0-preview.2.23107.1" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/emsdk</Uri>
<Sha>3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470</Sha>
</Dependency>
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.0-preview5.1.22263.1">
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="1.0.0-preview6.1.23159.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/deployment-tools</Uri>
<Sha>c3ad00ae84489071080a606f6a8e43c9a91a5cc2</Sha>
<SourceBuildTarball RepoName="deployment-tools" ManagedOnly="true" />
<Sha>b60c95e1ce736630d17e16626c59e3dd85ebae2b</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23106.1">
<!-- Explicit dependency because Microsoft.Deployment.DotNet.Releases has different versioning
than the SB intermediate -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.deployment-tools" Version="8.0.0-preview.1.23159.4" CoherentParentDependency="Microsoft.NET.Sdk">
<Uri>https://github.com/dotnet/deployment-tools</Uri>
<Sha>b60c95e1ce736630d17e16626c59e3dd85ebae2b</Sha>
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.23203.1">
<Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>46f5e8e5419df6689022dccf5ed5a7fd153cb601</Sha>
<Sha>33edde07d61cf7606d76ada765335fb81f1cbb71</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="1.4.0-beta2-21475-02">
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.0.0-beta-22503-02">
<Uri>https://github.com/dotnet/symreader</Uri>
<Sha>7b9791daa3a3477eb22ec805946c9fff8b42d8ca</Sha>
<Sha>0c29b7109c054bdc578e917515ae7e8635b9cb9d</Sha>
<SourceBuild RepoName="symreader" ManagedOnly="true" />
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23103.1">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23211.8">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c453dfef2f41533de5cb03b2115aab9d0dfc74c6</Sha>
<Sha>17d9eee32f20a6af0ebb620254a22f601d159578</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.23103.1">
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="8.0.0-beta.23211.8">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c453dfef2f41533de5cb03b2115aab9d0dfc74c6</Sha>
<Sha>17d9eee32f20a6af0ebb620254a22f601d159578</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.23103.1">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.23211.8">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>c453dfef2f41533de5cb03b2115aab9d0dfc74c6</Sha>
<Sha>17d9eee32f20a6af0ebb620254a22f601d159578</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.23107.1">
<Dependency Name="Microsoft.DotNet.Darc" Version="1.1.0-beta.23128.1">
<Uri>https://github.com/dotnet/arcade-services</Uri>
<Sha>c6f3ec3b751020f757695bcd351b1cbb179e21bd</Sha>
<Sha>b2a77aac8c64f46101abc98fdb07a6131fae3625</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.23107.1">
<Dependency Name="Microsoft.DotNet.DarcLib" Version="1.1.0-beta.23128.1">
<Uri>https://github.com/dotnet/arcade-services</Uri>
<Sha>c6f3ec3b751020f757695bcd351b1cbb179e21bd</Sha>
<Sha>b2a77aac8c64f46101abc98fdb07a6131fae3625</Sha>
</Dependency>
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="8.0.0-alpha.1.22557.12">
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>af841c8b33cecc92d74222298f1e45bf7bf3d90a</Sha>
</Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23107.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23212.4">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>d8427722f537c3fbdc753dce52af1f104a8048d6</Sha>
<SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" />
<Sha>9092071034fa818fef8b8fd6ae9ac32c826ef040</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.SourceLink.GitHub" Version="1.2.0-beta-23081-01" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Dependency Name="Microsoft.SourceLink.GitHub" Version="8.0.0-beta.23210.3" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/sourcelink</Uri>
<Sha>4ad5e57a1489a065674bd4da72b788f073dab638</Sha>
<Sha>759f344923a0859f3fae83431d0ba1cc62108118</Sha>
<SourceBuild RepoName="sourcelink" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23081.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23206.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
<Uri>https://github.com/dotnet/xliff-tasks</Uri>
<Sha>ff7db52c8a66e892216be667271e726a02661cad</Sha>
<Sha>519d565b45c46ac452fe5a77ab63295138992e07</Sha>
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
</Dependency>
</ToolsetDependencies>

View file

@ -11,13 +11,20 @@
<VersionFeature>00</VersionFeature>
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
<PreReleaseVersionIteration>2</PreReleaseVersionIteration>
<PreReleaseVersionIteration>4</PreReleaseVersionIteration>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
<CliProductBandVersion>$(MajorMinorVersion).$(VersionSDKMinor)</CliProductBandVersion>
<!-- Enable to remove prerelease label. -->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
</PropertyGroup>
<PropertyGroup>
<VersionFeature21>30</VersionFeature21>
<VersionFeature31>32</VersionFeature31>
<VersionFeature50>17</VersionFeature50>
<VersionFeature60>16</VersionFeature60>
<VersionFeature70>5</VersionFeature70>
</PropertyGroup>
<!-- Restore feeds -->
<PropertyGroup Label="Restore feeds">
<!-- In an orchestrated build, this may be overridden to other Azure feeds. -->
@ -26,19 +33,19 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.23103.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>8.0.0-beta.23211.8</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade-services -->
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.23107.1</MicrosoftDotNetDarcLibVersion>
<MicrosoftDotNetDarcLibVersion>1.1.0-beta.23128.1</MicrosoftDotNetDarcLibVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms -->
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.0-preview.2.23080.8</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
<MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>8.0.0-preview.4.23177.3</MicrosoftDotnetWinFormsProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/wpf -->
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.0-preview.2.23105.1</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.0-preview.4.23178.1</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates -->
@ -47,10 +54,10 @@
<MicrosoftDotNetTestProjectTemplates30PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates30PackageVersion>
<!-- Supported versions -->
<MicrosoftDotNetTestProjectTemplates31PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates31PackageVersion>
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.1.0-rc.23213.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.23213.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.23213.1</MicrosoftDotNetTestProjectTemplates70PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.23213.1</MicrosoftDotNetTestProjectTemplates80PackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- NUnit3.DotNetNew.Template versions do not 'flow in' -->
@ -58,46 +65,50 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/aspnet/AspNetCore -->
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.0-preview.2.23107.2</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.0-preview.2.23107.2</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.0-preview.2.23107.2</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.0-preview.2.23107.2</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
<dotnetdevcertsPackageVersion>8.0.0-preview.2.23107.2</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>8.0.0-preview.2.23107.2</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>8.0.0-preview.2.23107.2</dotnetusersecretsPackageVersion>
<MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>8.0.0-preview.4.23207.6</MicrosoftAspNetCoreAppRuntimewinx64PackageVersion>
<MicrosoftAspNetCoreAppRefPackageVersion>8.0.0-preview.4.23207.6</MicrosoftAspNetCoreAppRefPackageVersion>
<MicrosoftAspNetCoreAppRefInternalPackageVersion>8.0.0-preview.4.23207.6</MicrosoftAspNetCoreAppRefInternalPackageVersion>
<VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>8.0.0-preview.4.23207.6</VSRedistCommonAspNetCoreSharedFrameworkx6480PackageVersion>
<dotnetdevcertsPackageVersion>8.0.0-preview.4.23207.6</dotnetdevcertsPackageVersion>
<dotnetuserjwtsPackageVersion>8.0.0-preview.4.23207.6</dotnetuserjwtsPackageVersion>
<dotnetusersecretsPackageVersion>8.0.0-preview.4.23207.6</dotnetusersecretsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<MicroBuildCorePackageVersion>0.2.0</MicroBuildCorePackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sdk -->
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.100-preview.2.23107.8</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>8.0.100-preview.2.23107.8</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.100-preview.2.23107.8</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftDotNetCommonItemTemplatesPackageVersion>8.0.100-preview.4.23210.3</MicrosoftDotNetCommonItemTemplatesPackageVersion>
<MicrosoftNETSdkPackageVersion>8.0.100-preview.4.23210.3</MicrosoftNETSdkPackageVersion>
<MicrosoftDotNetMSBuildSdkResolverPackageVersion>8.0.100-preview.4.23210.3</MicrosoftDotNetMSBuildSdkResolverPackageVersion>
<MicrosoftNETBuildExtensionsPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftNETBuildExtensionsPackageVersion>
<MicrosoftDotnetToolsetInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetToolsetInternalPackageVersion>
<MicrosoftDotnetTemplateLocatorPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetTemplateLocatorPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>4.6.0-2.23177.13</MicrosoftNetCompilersToolsetPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/corefx -->
<MicrosoftNETCorePlatformsPackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCorePlatformsPackageVersion>8.0.0-preview.4.23210.1</MicrosoftNETCorePlatformsPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/core-setup -->
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.0-preview.2.23107.1</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.0-preview.2.23107.1</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>8.0.0-preview.4.23210.1</VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion>
<VSRedistCommonNetCoreTargetingPackx6480PackageVersion>8.0.0-preview.4.23210.1</VSRedistCommonNetCoreTargetingPackx6480PackageVersion>
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>8.0.0-preview.4.23210.1</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
<MicrosoftNETCoreAppHostwinx64PackageVersion>8.0.0-preview.4.23210.1</MicrosoftNETCoreAppHostwinx64PackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>8.0.0-preview.4.23210.1</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETCoreDotNetHostResolverPackageVersion>8.0.0-preview.4.23210.1</MicrosoftNETCoreDotNetHostResolverPackageVersion>
<NETStandardLibraryRefPackageVersion>2.1.0</NETStandardLibraryRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/windowsdesktop -->
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.0-preview.2.23106.1</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.0-preview.2.23106.1</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.0-preview.2.23106.1</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.0-preview.2.23106.1</MicrosoftWindowsDesktopAppRefPackageVersion>
<VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>8.0.0-preview.4.23178.3</VSRedistCommonWindowsDesktopSharedFrameworkx6480PackageVersion>
<VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>8.0.0-preview.4.23178.3</VSRedistCommonWindowsDesktopTargetingPackx6480PackageVersion>
<MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>8.0.0-preview.4.23178.3</MicrosoftWindowsDesktopAppRuntimewinx64PackageVersion>
<MicrosoftWindowsDesktopAppRefPackageVersion>8.0.0-preview.4.23178.3</MicrosoftWindowsDesktopAppRefPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Runtime and Apphost pack versions are the same for all RIDs. We flow the x64 -->
@ -111,14 +122,34 @@
<!-- Dependencies from https://github.com/NuGet/NuGet.Client -->
<NuGetVersioningPackageVersion>5.8.0</NuGetVersioningPackageVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Automated versions for asp.net templates -->
<!-- Grab just the patch version from MicrosoftNETSdkPackageVersion (7.0.103-servicing becomes 03) -->
<MicrosoftNETSdkFeatureAndPatchVersion>$(MicrosoftNETSdkPackageVersion.Split('.')[2])</MicrosoftNETSdkFeatureAndPatchVersion>
<MicrosoftNETSdkFeatureAndPatchVersion>$(MicrosoftNETSdkFeatureAndPatchVersion.Split('-')[0])</MicrosoftNETSdkFeatureAndPatchVersion>
<MicrosoftNETSdkPatchVersion>$(MicrosoftNETSdkFeatureAndPatchVersion.Substring(1))</MicrosoftNETSdkPatchVersion>
<!--
Between branding and shipping, the templates should stay at last month's version.
If the incoming SDK version is 2 versions behind us, we know we just branded but haven't done the internal -> public merge yet.
Therefore we stay at last month's version.
We also need to special case the 1st patch release, because the incoming SDK version will never be 2 versions behind us in that case.
Instead the indicator is that the incoming SDK version is not RTM or greater yet.
-->
<SubtractOneFromTemplateVersions Condition="$([MSBuild]::Subtract($(VersionFeature), $(MicrosoftNETSdkPatchVersion))) &gt;= 2">true</SubtractOneFromTemplateVersions>
<SubtractOneFromTemplateVersions Condition="$(VersionFeature) &gt;= 1 AND ! $(MicrosoftNETSdkPackageVersion.Contains('rtm')) AND ! $(MicrosoftNETSdkPackageVersion.Contains('servicing'))">true</SubtractOneFromTemplateVersions>
<AspNetCoreTemplateFeature60>$([MSBuild]::Subtract($(VersionFeature60), 1))</AspNetCoreTemplateFeature60>
<AspNetCoreTemplateFeature70>$([MSBuild]::Subtract($(VersionFeature70), 1))</AspNetCoreTemplateFeature70>
<AspNetCoreTemplateFeature60 Condition="'$(SubtractOneFromTemplateVersions)' == 'true'">$([MSBuild]::Subtract($(AspNetCoreTemplateFeature60), 1))</AspNetCoreTemplateFeature60>
<AspNetCoreTemplateFeature70 Condition="'$(SubtractOneFromTemplateVersions)' == 'true'">$([MSBuild]::Subtract($(AspNetCoreTemplateFeature70), 1))</AspNetCoreTemplateFeature70>
</PropertyGroup>
<PropertyGroup>
<!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.403</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.17</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.11</MicrosoftAspNetCoreAppRuntime60PackageVersion>
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.0</MicrosoftAspNetCoreAppRuntime70PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.14</MicrosoftAspNetCoreAppRuntime60PackageVersion>
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.3</MicrosoftAspNetCoreAppRuntime70PackageVersion>
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
<MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion>
@ -147,14 +178,14 @@
<NUnit3Templates70PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates70PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftDotNetCommonProjectTemplates70PackageVersion>$(MicrosoftDotNetCommonItemTemplates70PackageVersion)</MicrosoftDotNetCommonProjectTemplates70PackageVersion>
<AspNetCorePackageVersionFor70Templates>7.0.2</AspNetCorePackageVersionFor70Templates>
<AspNetCorePackageVersionFor70Templates>7.0.$(AspNetCoreTemplateFeature70)</AspNetCorePackageVersionFor70Templates>
<!-- 6.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>$(MicrosoftWinFormsProjectTemplates60PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates60PackageVersion>
<MicrosoftDotNetWpfProjectTemplates60PackageVersion>$(MicrosoftWPFProjectTemplates60PackageVersion)</MicrosoftDotNetWpfProjectTemplates60PackageVersion>
<NUnit3Templates60PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>6.0.13</AspNetCorePackageVersionFor60Templates>
<AspNetCorePackageVersionFor60Templates>6.0.$(AspNetCoreTemplateFeature60)</AspNetCorePackageVersionFor60Templates>
<!-- 5.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
@ -176,7 +207,7 @@
<NUnit3Templates30PackageVersion>1.6.5</NUnit3Templates30PackageVersion>
<MicrosoftDotNetCommonItemTemplates30PackageVersion>2.0.0-preview8.19373.1</MicrosoftDotNetCommonItemTemplates30PackageVersion>
<MicrosoftDotNetCommonProjectTemplates30PackageVersion>$(MicrosoftDotNetCommonItemTemplates30PackageVersion)</MicrosoftDotNetCommonProjectTemplates30PackageVersion>
<AspNetCorePackageVersionFor30Templates>3.0.1</AspNetCorePackageVersionFor30Templates>
<AspNetCorePackageVersionFor30Templates>3.0.3</AspNetCorePackageVersionFor30Templates>
<!-- 2.1 Template versions -->
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
@ -187,23 +218,21 @@
<PropertyGroup>
<VersionToolsVersion>2.2.0-beta.19072.10</VersionToolsVersion>
<DotnetDebToolVersion>2.0.0</DotnetDebToolVersion>
<MicrosoftNETTestSdkVersion>17.6.0-preview-20230202-02</MicrosoftNETTestSdkVersion>
<MicrosoftNETTestSdkVersion>17.7.0-preview.23205.10</MicrosoftNETTestSdkVersion>
<MicrosoftExtensionsLoggingConsoleVersion>8.0.0-alpha.1.22557.12</MicrosoftExtensionsLoggingConsoleVersion>
</PropertyGroup>
<!-- Workload manifest package versions -->
<PropertyGroup>
<MauiFeatureBand>8.0.100-preview.1</MauiFeatureBand>
<MauiWorkloadManifestVersion>8.0.0-preview.1.7626</MauiWorkloadManifestVersion>
<XamarinAndroidWorkloadManifestVersion>34.0.0-preview.1.148</XamarinAndroidWorkloadManifestVersion>
<XamarinIOSWorkloadManifestVersion>16.2.227-net8-p1</XamarinIOSWorkloadManifestVersion>
<XamarinMacCatalystWorkloadManifestVersion>16.2.227-net8-p1</XamarinMacCatalystWorkloadManifestVersion>
<XamarinMacOSWorkloadManifestVersion>13.1.227-net8-p1</XamarinMacOSWorkloadManifestVersion>
<XamarinTvOSWorkloadManifestVersion>16.1.1015-net8-p1</XamarinTvOSWorkloadManifestVersion>
<MauiFeatureBand>8.0.100-preview.3</MauiFeatureBand>
<MauiWorkloadManifestVersion>8.0.0-preview.3.8149</MauiWorkloadManifestVersion>
<XamarinAndroidWorkloadManifestVersion>34.0.0-preview.3.224</XamarinAndroidWorkloadManifestVersion>
<XamarinIOSWorkloadManifestVersion>16.2.462-net8-p3</XamarinIOSWorkloadManifestVersion>
<XamarinMacCatalystWorkloadManifestVersion>16.2.462-net8-p3</XamarinMacCatalystWorkloadManifestVersion>
<XamarinMacOSWorkloadManifestVersion>13.1.462-net8-p3</XamarinMacOSWorkloadManifestVersion>
<XamarinTvOSWorkloadManifestVersion>16.1.1250-net8-p3</XamarinTvOSWorkloadManifestVersion>
<!-- Workloads from dotnet/emsdk -->
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100preview2PackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETWorkloadEmscriptenCurrentManifest80100preview2PackageVersion>
<MicrosoftNETWorkloadEmscriptennet7Manifest80100preview2PackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETWorkloadEmscriptennet7Manifest80100preview2PackageVersion>
<MicrosoftNETWorkloadEmscriptennet6Manifest80100preview2PackageVersion>8.0.0-preview.2.23107.1</MicrosoftNETWorkloadEmscriptennet6Manifest80100preview2PackageVersion>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100preview2PackageVersion)</EmscriptenWorkloadManifestVersion>
<MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportPackageVersion>8.0.0-preview.4.23170.1</MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportPackageVersion>
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportPackageVersion)</EmscriptenWorkloadManifestVersion>
<!-- emsdk workload prerelease version band must match the emsdk feature band -->
<EmscriptenWorkloadFeatureBand>8.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-[A-z]*[\.]*\d*`))</EmscriptenWorkloadFeatureBand>
<!-- Workloads from dotnet/runtime use MicrosoftNETCoreAppRefPackageVersion because it has a stable name that does not include the full feature band -->

View file

@ -6,13 +6,15 @@ usage()
{
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine, alpine3.13 or alpine3.14. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for illumos can be: illumos"
echo " for Haiku can be: haiku."
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine"
echo " for alpine can be specified with version: alpineX.YY or alpineedge"
echo " for FreeBSD can be: freebsd12, freebsd13"
echo " for illumos can be: illumos"
echo " for Haiku can be: haiku."
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD"
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)."
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
echo "--jobs N - optional, restrict to N jobs."
exit 1
@ -54,7 +56,7 @@ __AlpinePackages+=" gettext-dev"
__AlpinePackages+=" icu-dev"
__AlpinePackages+=" libunwind-dev"
__AlpinePackages+=" lttng-ust-dev"
__AlpinePackages+=" compiler-rt-static"
__AlpinePackages+=" compiler-rt"
__AlpinePackages+=" numactl-dev"
# runtime libraries' dependencies
@ -98,7 +100,27 @@ __HaikuPackages+=" mpfr_devel"
__UbuntuPackages+=" libomp5"
__UbuntuPackages+=" libomp-dev"
# Taken from https://github.com/alpinelinux/alpine-chroot-install/blob/6d08f12a8a70dd9b9dc7d997c88aa7789cc03c42/alpine-chroot-install#L85-L133
__AlpineKeys='
4a6a0840:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe\nqxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O\nQ0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA\njixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R\nL5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo\nGuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B\nywIDAQAB
5243ef4b:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNijDxJ8kloskKQpJdx+\nmTMVFFUGDoDCbulnhZMJoKNkSuZOzBoFC94omYPtxnIcBdWBGnrm6ncbKRlR+6oy\nDO0W7c44uHKCFGFqBhDasdI4RCYP+fcIX/lyMh6MLbOxqS22TwSLhCVjTyJeeH7K\naA7vqk+QSsF4TGbYzQDDpg7+6aAcNzg6InNePaywA6hbT0JXbxnDWsB+2/LLSF2G\nmnhJlJrWB1WGjkz23ONIWk85W4S0XB/ewDefd4Ly/zyIciastA7Zqnh7p3Ody6Q0\nsS2MJzo7p3os1smGjUF158s6m/JbVh4DN6YIsxwl2OjDOz9R0OycfJSDaBVIGZzg\ncQIDAQAB
524d27bb:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj\nlN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG\ne8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p\niWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0\n64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+\nxrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL\nVQIDAQAB
5261cecb:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0\ncGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX\nyHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j\ng01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB\nCa1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY\nsWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw\nwwIDAQAB
58199dcc:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa\nhWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht\neLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit\nwiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR\nCA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+\ntegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV\naQIDAQAB
58cbb476:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoSPnuAGKtRIS5fEgYPXD\n8pSGvKAmIv3A08LBViDUe+YwhilSHbYXUEAcSH1KZvOo1WT1x2FNEPBEFEFU1Eyc\n+qGzbA03UFgBNvArurHQ5Z/GngGqE7IarSQFSoqewYRtFSfp+TL9CUNBvM0rT7vz\n2eMu3/wWG+CBmb92lkmyWwC1WSWFKO3x8w+Br2IFWvAZqHRt8oiG5QtYvcZL6jym\nY8T6sgdDlj+Y+wWaLHs9Fc+7vBuyK9C4O1ORdMPW15qVSl4Lc2Wu1QVwRiKnmA+c\nDsH/m7kDNRHM7TjWnuj+nrBOKAHzYquiu5iB3Qmx+0gwnrSVf27Arc3ozUmmJbLj\nzQIDAQAB
58e4f17d:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBxJN9ErBgdRcPr5g4hV\nqyUSGZEKuvQliq2Z9SRHLh2J43+EdB6A+yzVvLnzcHVpBJ+BZ9RV30EM9guck9sh\nr+bryZcRHyjG2wiIEoduxF2a8KeWeQH7QlpwGhuobo1+gA8L0AGImiA6UP3LOirl\nI0G2+iaKZowME8/tydww4jx5vG132JCOScMjTalRsYZYJcjFbebQQolpqRaGB4iG\nWqhytWQGWuKiB1A22wjmIYf3t96l1Mp+FmM2URPxD1gk/BIBnX7ew+2gWppXOK9j\n1BJpo0/HaX5XoZ/uMqISAAtgHZAqq+g3IUPouxTphgYQRTRYpz2COw3NF43VYQrR\nbQIDAQAB
60ac2099:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y\nj5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv\n6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV\ntdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo\n/oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ\nTmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC\nIQIDAQAB
6165ee59:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54\nALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+\ntFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK\ntlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc\n3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5\nHd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj\nv7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD\nhQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4\nLxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl\nk9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI\nisbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck\nhtBqojBnThmjJQFgZXocHG8CAwEAAQ==
61666e3f:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlEyxkHggKCXC2Wf5Mzx4\nnZLFZvU2bgcA3exfNPO/g1YunKfQY+Jg4fr6tJUUTZ3XZUrhmLNWvpvSwDS19ZmC\nIXOu0+V94aNgnhMsk9rr59I8qcbsQGIBoHzuAl8NzZCgdbEXkiY90w1skUw8J57z\nqCsMBydAueMXuWqF5nGtYbi5vHwK42PffpiZ7G5Kjwn8nYMW5IZdL6ZnMEVJUWC9\nI4waeKg0yskczYDmZUEAtrn3laX9677ToCpiKrvmZYjlGl0BaGp3cxggP2xaDbUq\nqfFxWNgvUAb3pXD09JM6Mt6HSIJaFc9vQbrKB9KT515y763j5CC2KUsilszKi3mB\nHYe5PoebdjS7D1Oh+tRqfegU2IImzSwW3iwA7PJvefFuc/kNIijfS/gH/cAqAK6z\nbhdOtE/zc7TtqW2Wn5Y03jIZdtm12CxSxwgtCF1NPyEWyIxAQUX9ACb3M0FAZ61n\nfpPrvwTaIIxxZ01L3IzPLpbc44x/DhJIEU+iDt6IMTrHOphD9MCG4631eIdB0H1b\n6zbNX1CXTsafqHRFV9XmYYIeOMggmd90s3xIbEujA6HKNP/gwzO6CDJ+nHFDEqoF\nSkxRdTkEqjTjVKieURW7Swv7zpfu5PrsrrkyGnsRrBJJzXlm2FOOxnbI2iSL1B5F\nrO5kbUxFeZUIDq+7Yv4kLWcCAwEAAQ==
616a9724:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnC+bR4bHf/L6QdU4puhQ\ngl1MHePszRC38bzvVFDUJsmCaMCL2suCs2A2yxAgGb9pu9AJYLAmxQC4mM3jNqhg\n/E7yuaBbek3O02zN/ctvflJ250wZCy+z0ZGIp1ak6pu1j14IwHokl9j36zNfGtfv\nADVOcdpWITFFlPqwq1qt/H3UsKVmtiF3BNWWTeUEQwKvlU8ymxgS99yn0+4OPyNT\nL3EUeS+NQJtDS01unau0t7LnjUXn+XIneWny8bIYOQCuVR6s/gpIGuhBaUqwaJOw\n7jkJZYF2Ij7uPb4b5/R3vX2FfxxqEHqssFSg8FFUNTZz3qNZs0CRVyfA972g9WkJ\nhPfn31pQYil4QGRibCMIeU27YAEjXoqfJKEPh4UWMQsQLrEfdGfb8VgwrPbniGfU\nL3jKJR3VAafL9330iawzVQDlIlwGl6u77gEXMl9K0pfazunYhAp+BMP+9ot5ckK+\nosmrqj11qMESsAj083GeFdfV3pXEIwUytaB0AKEht9DbqUfiE/oeZ/LAXgySMtVC\nsbC4ESmgVeY2xSBIJdDyUap7FR49GGrw0W49NUv9gRgQtGGaNVQQO9oGL2PBC41P\niWF9GLoX30HIz1P8PF/cZvicSSPkQf2Z6TV+t0ebdGNS5DjapdnCrq8m9Z0pyKsQ\nuxAL2a7zX8l5i1CZh1ycUGsCAwEAAQ==
616abc23:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0MfCDrhODRCIxR9Dep1s\neXafh5CE5BrF4WbCgCsevyPIdvTeyIaW4vmO3bbG4VzhogDZju+R3IQYFuhoXP5v\nY+zYJGnwrgz3r5wYAvPnLEs1+dtDKYOgJXQj+wLJBW1mzRDL8FoRXOe5iRmn1EFS\nwZ1DoUvyu7/J5r0itKicZp3QKED6YoilXed+1vnS4Sk0mzN4smuMR9eO1mMCqNp9\n9KTfRDHTbakIHwasECCXCp50uXdoW6ig/xUAFanpm9LtK6jctNDbXDhQmgvAaLXZ\nLvFqoaYJ/CvWkyYCgL6qxvMvVmPoRv7OPcyni4xR/WgWa0MSaEWjgPx3+yj9fiMA\n1S02pFWFDOr5OUF/O4YhFJvUCOtVsUPPfA/Lj6faL0h5QI9mQhy5Zb9TTaS9jB6p\nLw7u0dJlrjFedk8KTJdFCcaGYHP6kNPnOxMylcB/5WcztXZVQD5WpCicGNBxCGMm\nW64SgrV7M07gQfL/32QLsdqPUf0i8hoVD8wfQ3EpbQzv6Fk1Cn90bZqZafg8XWGY\nwddhkXk7egrr23Djv37V2okjzdqoyLBYBxMz63qQzFoAVv5VoY2NDTbXYUYytOvG\nGJ1afYDRVWrExCech1mX5ZVUB1br6WM+psFLJFoBFl6mDmiYt0vMYBddKISsvwLl\nIJQkzDwtXzT2cSjoj3T5QekCAwEAAQ==
616ac3bc:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvaaoSLab+IluixwKV5Od\n0gib2YurjPatGIbn5Ov2DLUFYiebj2oJINXJSwUOO+4WcuHFEqiL/1rya+k5hLZt\nhnPL1tn6QD4rESznvGSasRCQNT2vS/oyZbTYJRyAtFkEYLlq0t3S3xBxxHWuvIf0\nqVxVNYpQWyM3N9RIeYBR/euXKJXileSHk/uq1I5wTC0XBIHWcthczGN0m9wBEiWS\n0m3cnPk4q0Ea8mUJ91Rqob19qETz6VbSPYYpZk3qOycjKosuwcuzoMpwU8KRiMFd\n5LHtX0Hx85ghGsWDVtS0c0+aJa4lOMGvJCAOvDfqvODv7gKlCXUpgumGpLdTmaZ8\n1RwqspAe3IqBcdKTqRD4m2mSg23nVx2FAY3cjFvZQtfooT7q1ItRV5RgH6FhQSl7\n+6YIMJ1Bf8AAlLdRLpg+doOUGcEn+pkDiHFgI8ylH1LKyFKw+eXaAml/7DaWZk1d\ndqggwhXOhc/UUZFQuQQ8A8zpA13PcbC05XxN2hyP93tCEtyynMLVPtrRwDnHxFKa\nqKzs3rMDXPSXRn3ZZTdKH3069ApkEjQdpcwUh+EmJ1Ve/5cdtzT6kKWCjKBFZP/s\n91MlRrX2BTRdHaU5QJkUheUtakwxuHrdah2F94lRmsnQlpPr2YseJu6sIE+Dnx4M\nCfhdVbQL2w54R645nlnohu8CAwEAAQ==
616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\npNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\nADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\nraQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\nKLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\nKuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\nmFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\nXIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\nVORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ==
616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\nXkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\npiM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\nxLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\nODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\nEyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\nDzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\nf53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\nHwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\nOk9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\nJZDr++FjKrnnijbyNF8b98UCAwEAAQ==
616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ==
'
__Keyring=
__SkipSigCheck=0
__UseMirror=0
__UnprocessedBuildArgs=
@ -145,20 +167,13 @@ while :; do
__Keyring="--keyring /usr/share/keyrings/raspbian-archive-keyring.gpg"
fi
;;
ppc64le)
__BuildArch=ppc64le
__UbuntuArch=ppc64el
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
unset __LLDB_Package
;;
riscv64)
__BuildArch=riscv64
__AlpineArch=riscv64
__AlpinePackages="${__AlpinePackages// lldb-dev/}"
__QEMUArch=riscv64
__UbuntuArch=riscv64
__UbuntuRepo="http://deb.debian.org/debian-ports"
__CodeName=sid
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
unset __LLDB_Package
@ -166,8 +181,21 @@ while :; do
__Keyring="--keyring /usr/share/keyrings/debian-ports-archive-keyring.gpg --include=debian-ports-archive-keyring"
fi
;;
ppc64le)
__BuildArch=ppc64le
__AlpineArch=ppc64le
__QEMUArch=ppc64le
__UbuntuArch=ppc64el
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp-dev/}"
__UbuntuPackages="${__UbuntuPackages// libomp5/}"
unset __LLDB_Package
;;
s390x)
__BuildArch=s390x
__AlpineArch=s390x
__QEMUArch=s390x
__UbuntuArch=s390x
__UbuntuRepo="http://ports.ubuntu.com/ubuntu-ports/"
__UbuntuPackages="${__UbuntuPackages// libunwind8-dev/}"
@ -177,15 +205,17 @@ while :; do
;;
x64)
__BuildArch=x64
__AlpineArch=x86_64
__UbuntuArch=amd64
__FreeBSDArch=amd64
__FreeBSDMachineArch=amd64
__illumosArch=x86_64
__UbuntuRepo=
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
;;
x86)
__BuildArch=x86
__UbuntuArch=i386
__AlpineArch=x86
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
;;
lldb*)
@ -240,34 +270,59 @@ while :; do
;;
jessie) # Debian 8
__CodeName=jessie
__UbuntuRepo="http://ftp.debian.org/debian/"
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
stretch) # Debian 9
__CodeName=stretch
__UbuntuRepo="http://ftp.debian.org/debian/"
__LLDB_Package="liblldb-6.0-dev"
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
buster) # Debian 10
__CodeName=buster
__UbuntuRepo="http://ftp.debian.org/debian/"
__LLDB_Package="liblldb-6.0-dev"
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
bullseye) # Debian 11
__CodeName=bullseye
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
sid) # Debian sid
__CodeName=sid
if [[ -z "$__UbuntuRepo" ]]; then
__UbuntuRepo="http://ftp.debian.org/debian/"
fi
;;
tizen)
__CodeName=
__UbuntuRepo=
__Tizen=tizen
;;
alpine|alpine3.13)
alpine*)
__CodeName=alpine
__UbuntuRepo=
__AlpineVersion=3.13
__AlpinePackages+=" llvm10-libs"
;;
alpine3.14)
__CodeName=alpine
__UbuntuRepo=
__AlpineVersion=3.14
__AlpinePackages+=" llvm11-libs"
version="${lowerI/alpine/}"
if [[ "$version" == "edge" ]]; then
__AlpineVersion=edge
else
parts=(${version//./ })
__AlpineMajorVersion="${parts[0]}"
__AlpineMinoVersion="${parts[1]}"
__AlpineVersion="$__AlpineMajorVersion.$__AlpineMinoVersion"
fi
;;
freebsd12)
__CodeName=freebsd
@ -291,6 +346,9 @@ while :; do
--skipunmount)
__SkipUnmount=1
;;
--skipsigcheck)
__SkipSigCheck=1
;;
--rootfsdir|-rootfsdir)
shift
__RootfsDir="$1"
@ -310,10 +368,45 @@ while :; do
shift
done
case "$__AlpineVersion" in
3.14) __AlpinePackages+=" llvm11-libs" ;;
3.15) __AlpinePackages+=" llvm12-libs" ;;
3.16) __AlpinePackages+=" llvm13-libs" ;;
3.17) __AlpinePackages+=" llvm15-libs" ;;
edge) __AlpineLlvmLibsLookup=1 ;;
*)
if [[ "$__AlpineArch" =~ s390x|ppc64le ]]; then
__AlpineVersion=3.15 # minimum version that supports lldb-dev
__AlpinePackages+=" llvm12-libs"
elif [[ "$__AlpineArch" == "x86" ]]; then
__AlpineVersion=3.17 # minimum version that supports lldb-dev
__AlpinePackages+=" llvm15-libs"
elif [[ "$__AlpineArch" == "riscv64" ]]; then
__AlpineLlvmLibsLookup=1
__AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
else
__AlpineVersion=3.13 # 3.13 to maximize compatibility
__AlpinePackages+=" llvm10-libs"
if [[ "$__AlpineArch" == "armv7" ]]; then
__AlpinePackages="${__AlpinePackages//numactl-dev/}"
fi
fi
esac
if [[ "$__AlpineVersion" =~ 3\.1[345] ]]; then
# compiler-rt--static was merged in compiler-rt package in alpine 3.16
# for older versions, we need compiler-rt--static, so replace the name
__AlpinePackages="${__AlpinePackages/compiler-rt/compiler-rt-static}"
fi
if [[ "$__BuildArch" == "armel" ]]; then
__LLDB_Package="lldb-3.5-dev"
elif [[ "$__BuildArch" == "arm" && "$__AlpineVersion" == "3.13" ]]; then
__AlpinePackages="${__AlpinePackages//numactl-dev/}"
fi
if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then
# libnuma-dev is not available on armhf for xenial
__UbuntuPackages="${__UbuntuPackages//libnuma-dev/}"
fi
__UbuntuPackages+=" ${__LLDB_Package:-}"
@ -341,18 +434,59 @@ mkdir -p "$__RootfsDir"
__RootfsDir="$( cd "$__RootfsDir" && pwd )"
if [[ "$__CodeName" == "alpine" ]]; then
__ApkToolsVersion=2.9.1
__ApkToolsVersion=2.12.11
__ApkToolsSHA512SUM=53e57b49230da07ef44ee0765b9592580308c407a8d4da7125550957bb72cb59638e04f8892a18b584451c8d841d1c7cb0f0ab680cc323a3015776affaa3be33
__ApkToolsDir="$(mktemp -d)"
wget "https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz" -P "$__ApkToolsDir"
tar -xf "$__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz" -C "$__ApkToolsDir"
mkdir -p "$__RootfsDir"/usr/bin
cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin"
__ApkKeysDir="$(mktemp -d)"
"$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk" \
-X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community" \
-U --allow-untrusted --root "$__RootfsDir" --arch "$__AlpineArch" --initdb \
add $__AlpinePackages
wget "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic//v$__ApkToolsVersion/x86_64/apk.static" -P "$__ApkToolsDir"
echo "$__ApkToolsSHA512SUM $__ApkToolsDir/apk.static" | sha512sum -c
chmod +x "$__ApkToolsDir/apk.static"
if [[ -f "/usr/bin/qemu-$__QEMUArch-static" ]]; then
mkdir -p "$__RootfsDir"/usr/bin
cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin"
fi
if [[ "$__AlpineVersion" == "edge" ]]; then
version=edge
else
version="v$__AlpineVersion"
fi
for line in $__AlpineKeys; do
id="${line%%:*}"
content="${line#*:}"
echo -e "-----BEGIN PUBLIC KEY-----\n$content\n-----END PUBLIC KEY-----" > "$__ApkKeysDir/alpine-devel@lists.alpinelinux.org-$id.rsa.pub"
done
if [[ "$__SkipSigCheck" == "1" ]]; then
__ApkSignatureArg="--allow-untrusted"
else
__ApkSignatureArg="--keys-dir $__ApkKeysDir"
fi
# initialize DB
"$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" --initdb add
if [[ "$__AlpineLlvmLibsLookup" == 1 ]]; then
__AlpinePackages+=" $("$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \
search 'llvm*-libs' | sort | tail -1 | sed 's/-[^-]*//2g')"
fi
# install all packages in one go
"$__ApkToolsDir/apk.static" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
-U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \
add $__AlpinePackages
rm -r "$__ApkToolsDir"
elif [[ "$__CodeName" == "freebsd" ]]; then
@ -487,7 +621,12 @@ elif [[ "$__CodeName" == "haiku" ]]; then
fi
done
elif [[ -n "$__CodeName" ]]; then
qemu-debootstrap $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
if [[ "$__SkipSigCheck" == "0" ]]; then
__Keyring="$__Keyring --force-check-gpg"
fi
debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
cp "$__CrossDir/$__BuildArch/sources.list.$__CodeName" "$__RootfsDir/etc/apt/sources.list"
chroot "$__RootfsDir" apt-get update
chroot "$__RootfsDir" apt-get -f -y install

View file

@ -298,6 +298,9 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
add_definitions (-DCLR_ARM_FPU_CAPABILITY=${CLR_ARM_FPU_CAPABILITY})
# persist variables across multiple try_compile passes
list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CLR_ARM_FPU_TYPE CLR_ARM_FPU_CAPABILITY)
if(TARGET_ARCH_NAME STREQUAL "armel")
add_compile_options(-mfloat-abi=softfp)
endif()

View file

@ -45,7 +45,7 @@ if (-not $wxlFiles) {
}
}
$macosHtmlEnFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\.lproj\\.+\.html" } # add installer HTML files
$macosHtmlEnFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\.lproj\\.+\.html$" } # add installer HTML files
$macosHtmlFiles = @()
if ($macosHtmlEnFiles) {
$macosHtmlEnFiles | ForEach-Object {
@ -148,12 +148,17 @@ $locJson = @{
}
}
$sourceFile = ($_.FullName | Resolve-Path -Relative)
$lciFile = $sourceFile + ".lci"
if ($continue) {
return @{
$result = @{
SourceFile = $sourceFile
CopyOption = "LangIDOnPath"
OutputPath = $outputPath
}
if (Test-Path $lciFile -PathType Leaf) {
$result["LciFile"] = $lciFile
}
return $result
}
}
)

View file

@ -83,7 +83,8 @@ try {
Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue
if ($NativeTools) {
if ($PathPromotion -eq $True) {
if ($env:SYSTEM_TEAMPROJECT) { # check to see if we're in an Azure pipelines build
$ArcadeToolsDirectory = "$env:SYSTEMDRIVE\arcade-tools"
if (Test-Path $ArcadeToolsDirectory) { # if this directory exists, we should use native tools on machine
$NativeTools.PSObject.Properties | ForEach-Object {
$ToolName = $_.Name
$ToolVersion = $_.Value
@ -93,11 +94,6 @@ try {
if ($ToolVersion -eq "latest") {
$ToolVersion = ""
}
$ArcadeToolsDirectory = "C:\arcade-tools"
if (-not (Test-Path $ArcadeToolsDirectory)) {
Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed."
exit 1
}
$ToolDirectories = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)
if ($ToolDirectories -eq $null) {
Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image."
@ -125,6 +121,7 @@ try {
if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) {
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "$ToolName not found on path. Please install $ToolName $ToolVersion before proceeding."
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "If this is running on a build machine, the arcade-tools directory was not found, which means there's an error with the image."
}
}
exit 0

View file

@ -101,7 +101,7 @@ jobs:
# handle key-value variable syntax.
# example:
# - [key]: [value]
- ${{ if and(eq(variable.name, ''), eq(variable.group, '')) }}:
- ${{ if and(eq(variable.name, ''), eq(variable.group, ''), eq(variable.template, '')) }}:
- ${{ each pair in variable }}:
- name: ${{ pair.key }}
value: ${{ pair.value }}
@ -134,7 +134,7 @@ jobs:
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
- task: NuGetAuthenticate@0
- ${{ if or(eq(parameters.artifacts.download, 'true'), ne(parameters.artifacts.download, '')) }}:
- ${{ if and(ne(parameters.artifacts.download, 'false'), ne(parameters.artifacts.download, '')) }}:
- task: DownloadPipelineArtifact@2
inputs:
buildType: current
@ -171,7 +171,7 @@ jobs:
TeamName: $(_TeamName)
- ${{ if ne(parameters.artifacts.publish, '') }}:
- ${{ if or(eq(parameters.artifacts.publish.artifacts, 'true'), ne(parameters.artifacts.publish.artifacts, '')) }}:
- ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}:
- task: CopyFiles@2
displayName: Gather binaries for publish to artifacts
inputs:
@ -192,7 +192,7 @@ jobs:
ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}
continueOnError: true
condition: always()
- ${{ if or(eq(parameters.artifacts.publish.logs, 'true'), ne(parameters.artifacts.publish.logs, '')) }}:
- ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}:
- publish: artifacts/log
artifact: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }}
displayName: Publish logs

View file

@ -1,6 +1,6 @@
parameters:
runAsPublic: false
sourceIndexPackageVersion: 1.0.1-20221220.2
sourceIndexPackageVersion: 1.0.1-20230228.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: []

View file

@ -913,11 +913,13 @@ if (!$disableConfigureToolsetImport) {
function Enable-Nuget-EnhancedRetry() {
if ($ci) {
Write-Host "Setting NUGET enhanced retry environment variables"
$env:NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY = 'true'
$env:NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT = 6
$env:NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS = 1000
Write-PipelineSetVariable -Name 'NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY' -Value 'true'
Write-PipelineSetVariable -Name 'NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT' -Value '6'
Write-PipelineSetVariable -Name 'NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS' -Value '1000'
$env:NUGET_ENABLE_ENHANCED_HTTP_RETRY = 'true'
$env:NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT = 6
$env:NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS = 1000
$env:NUGET_RETRY_HTTP_429 = 'true'
Write-PipelineSetVariable -Name 'NUGET_ENABLE_ENHANCED_HTTP_RETRY' -Value 'true'
Write-PipelineSetVariable -Name 'NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT' -Value '6'
Write-PipelineSetVariable -Name 'NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS' -Value '1000'
Write-PipelineSetVariable -Name 'NUGET_RETRY_HTTP_429' -Value 'true'
}
}

View file

@ -0,0 +1,56 @@
schedules:
- cron: "0 7 * * 1-5"
displayName: Run on weekdays at 7am UTC
branches:
include:
- main
- release/*
pr: none
trigger: none
pool:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals 1es-ubuntu-2004
parameters:
- name: dotnetDotnetRunId
displayName: 'Specific dotnet-dotnet run ID number (e.g `2108850`)'
type: string
default: ' '
jobs:
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: CentOSStream8_Offline_MsftSdk
targetRid: centos.8-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: CentOSStream9_Offline_MsftSdk
targetRid: centos.9-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Fedora36_Offline_MsftSdk
targetRid: fedora.36-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Ubuntu2004_Offline_MsftSdk
targetRid: ubuntu.20.04-x64
architecture: x64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}
- template: templates/jobs/sdk-diff-tests.yml
parameters:
buildName: Debian11_Offline_MsftSdk
targetRid: debian.11-arm64
architecture: arm64
dotnetDotnetRunId: ${{ parameters.dotnetDotnetRunId }}

View file

@ -0,0 +1,159 @@
parameters:
- name: buildName
type: string
- name: targetRid
type: string
- name: architecture
type: string
- name: dotnetDotnetRunId
type: string
jobs:
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
timeoutInMinutes: 150
pool:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals 1es-ubuntu-2004
variables:
- template: ../variables/pipelines.yml
steps:
- script: |
dotnet_dotnet_build='${{ replace(parameters.dotnetDotnetRunId, ' ', '') }}'
if [[ -z "$dotnet_dotnet_build" ]]; then
dotnet_dotnet_build=$(az pipelines runs list --branch '$(Build.SourceBranch)' --organization '$(AZDO_ORG)' --project '$(AZDO_PROJECT)' --pipeline-ids '$(DOTNET_DOTNET_CI_PIPELINE_ID)' --status completed --top 1 --query "[].id" --output tsv)
fi
if [[ -z "$dotnet_dotnet_build" ]]; then
echo "Could not find a completed dotnet-dotnet build for branch '$(Build.SourceBranch)'"
exit 1
fi
echo "Dotnet-dotnet build: https://dev.azure.com/dnceng/internal/_build/results?buildId=$dotnet_dotnet_build&view=results"
installer_sha=$(az pipelines build tag list --organization '$(AZDO_ORG)' --project '$(AZDO_PROJECT)' --build-id $dotnet_dotnet_build --output tsv | sed "s,installer-,,g")
installer_build=$(az pipelines runs list --organization '$(AZDO_ORG)' --project '$(AZDO_PROJECT)' --pipeline-ids '$(INSTALLER_OFFICIAL_CI_PIPELINE_ID)' --query "[?sourceVersion == '$installer_sha'].id" --output tsv)
if [[ -z "$installer_build" ]]; then
echo "Could not find a build of installer for commit '$installer_sha'"
exit 1
fi
echo "Installer build: https://dev.azure.com/dnceng/internal/_build/results?buildId=$installer_build&view=results"
echo "##vso[build.addbuildtag]installer-$installer_sha"
echo "##vso[task.setvariable variable=InstallerBuildId]$installer_build"
echo "##vso[task.setvariable variable=DotnetDotnetBuildId]$dotnet_dotnet_build"
displayName: Find associated builds
name: Get_Build_Ids
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
- task: DownloadPipelineArtifact@2
displayName: Download MSFT SDK
inputs:
buildType: specific
buildVersionToDownload: specific
project: internal
pipeline: $(INSTALLER_OFFICIAL_CI_PIPELINE_ID)
buildId: $(InstallerBuildId)
artifact: BlobArtifacts
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz'
allowPartiallySucceededBuilds: true
allowFailedBuilds: true
downloadPath: $(Pipeline.Workspace)/Artifacts
checkDownloadedFiles: true
- task: DownloadPipelineArtifact@2
displayName: Download Source Build SDK
inputs:
buildType: specific
buildVersionToDownload: specific
project: internal
pipeline: $(DOTNET_DOTNET_CI_PIPELINE_ID)
buildId: $(DotnetDotnetBuildId)
artifact: ${{ parameters.buildName }}_${{ parameters.architecture }}_Artifacts
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-${{ parameters.targetRid }}.tar.gz'
allowPartiallySucceededBuilds: true
allowFailedBuilds: true
downloadPath: $(Pipeline.Workspace)/Artifacts
checkDownloadedFiles: true
- script: |
msft_sdk_tarball_name=$(find "$(Pipeline.Workspace)/Artifacts" -name "dotnet-sdk-*-linux-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
if [[ -z "$msft_sdk_tarball_name" ]]; then
echo "Microsoft SDK tarball does not exist in '$(Pipeline.Workspace)/Artifacts'. The associated build https://dev.azure.com/dnceng/internal/_build/results?buildId=$(InstallerBuildId) might have failed."
exit 1
fi
sdk_tarball_name=$(find "$(Pipeline.Workspace)/Artifacts" -name "dotnet-sdk-*-${{ parameters.targetRid }}.tar.gz" -exec basename {} \;)
if [[ -z "$sdk_tarball_name" ]]; then
echo "Source-build SDK tarball does not exist in '$(Pipeline.Workspace)/Artifacts'. The associated build https://dev.azure.com/dnceng/internal/_build/results?buildId=$(DotnetDotnetBuildId) might have failed"
exit 1
fi
eng/common/build.sh -bl --projects $(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj --restore
echo "##vso[task.setvariable variable=MsftSdkTarballPath]$(Pipeline.Workspace)/Artifacts/$msft_sdk_tarball_name"
echo "##vso[task.setvariable variable=SdkTarballPath]$(Pipeline.Workspace)/Artifacts/$sdk_tarball_name"
displayName: Prepare Tests
workingDirectory: $(Build.SourcesDirectory)
- script: >
.dotnet/dotnet test
$(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/Microsoft.DotNet.SourceBuild.SmokeTests.csproj
--filter "FullyQualifiedName=Microsoft.DotNet.SourceBuild.SmokeTests.SdkContentTests.CompareMsftToSb"
--logger:'trx;LogFileName=$(Agent.JobName)_SDKDiffTests.trx'
--logger:'console;verbosity=detailed'
-c Release
-bl:$(Build.SourcesDirectory)/artifacts/log/Debug/BuildTests_$(date +"%m%d%H%M%S").binlog
-flp:LogFile=$(Build.SourcesDirectory)/artifacts/logs/BuildTests_$(date +"%m%d%H%M%S").log
-clp:v=m
-e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=$(MsftSdkTarballPath)
-e SMOKE_TESTS_SDK_TARBALL_PATH=$(SdkTarballPath)
-e SMOKE_TESTS_SOURCEBUILT_ARTIFACTS_PATH=
-e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=false
-e SMOKE_TESTS_RUNNING_IN_CI=true
-e SMOKE_TESTS_TARGET_RID=${{ parameters.targetRid }}
-e SMOKE_TESTS_PORTABLE_RID=linux-x64
-e SMOKE_TESTS_CUSTOM_PACKAGES_PATH=
displayName: Run Tests
workingDirectory: $(Build.SourcesDirectory)
- script: |
set -x
targetFolder=$(Build.StagingDirectory)/BuildLogs/
mkdir -p ${targetFolder}
cd "$(Build.SourcesDirectory)"
find artifacts/ -type f -name "BuildTests*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find artifacts/ -type f -name "BuildTests*.log" -exec cp {} --parents -t ${targetFolder} \;
find artifacts/ -type f -name "Build.binlog" -exec cp {} --parents -t ${targetFolder} \;
cd "$(Build.SourcesDirectory)/src/SourceBuild/content"
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
displayName: Prepare BuildLogs staging directory
continueOnError: true
condition: succeededOrFailed()
- publish: '$(Build.StagingDirectory)/BuildLogs'
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs
continueOnError: true
condition: succeededOrFailed()
- task: PublishTestResults@2
displayName: Publish Test Results
condition: succeededOrFailed()
continueOnError: true
inputs:
testRunner: vSTest
testResultsFiles: '*.trx'
searchFolder: $(Build.SourcesDirectory)/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/TestResults
mergeTestResults: true
publishRunAttachments: true
testRunTitle: $(Agent.JobName)

View file

@ -31,11 +31,6 @@ parameters:
- name: runOnline
type: boolean
# Skip running the SDK content smoke-tests
- name: excludeSdkContentTests
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 vmr/.dotnet
- name: reuseBuildArtifactsFrom
@ -58,6 +53,11 @@ parameters:
type: boolean
default: false
# Use the previous version's SDK to build the current one
- name: withPreviousSDK
type: boolean
default: false
jobs:
- job: ${{ parameters.buildName }}_${{ parameters.architecture }}
timeoutInMinutes: 150
@ -71,17 +71,13 @@ jobs:
- template: /eng/common/templates/variables/pool-providers.yml
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- group: AzureDevOps-Artifact-Feeds-Pats
- ${{ if and(not(parameters.isBuiltFromVmr), eq(variables['System.TeamProject'], 'internal')) }}:
- ${{ if and(not(parameters.isBuiltFromVmr), eq(variables['System.TeamProject'], 'internal'), not(startswith(parameters.vmrBranch, 'internal/release/'))) }}:
- group: DotNetBot-GitHub
- ${{ else }}:
- name: BotAccount-dotnet-bot-repo-PAT
value: N/A
- ${{ if eq(parameters.reuseBuildArtifactsFrom, '') }}:
- name: additionalBuildArgs
value: ''
- ${{ else }}:
- name: additionalBuildArgs
value: ' --with-sdk /vmr/.dotnet'
- name: additionalBuildArgs
value: ''
# Location of the VMR sources
# We either build the repo directly, or we extract them outside (which is what partners do)
@ -110,9 +106,8 @@ jobs:
- ${{ if parameters.buildFromArchive }}:
- script: |
set -ex
"${{ parameters.vmrPath }}/eng/pack-sources.sh" -o "$(Build.StagingDirectory)/dotnet-sources.tar.gz"
tar -xf dotnet-sources.tar.gz
mv "dotnet-$(Build.SourceVersion)" "$(sourcesPath)"
cp -r "${{ parameters.vmrPath }}" "$(sourcesPath)"
rm -rf "$(sourcesPath)/.git"
displayName: Export VMR sources
workingDirectory: $(Build.StagingDirectory)
@ -128,16 +123,12 @@ jobs:
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
- download: current
artifact: BlobArtifacts
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(alpha|preview|rc|rtm)*)-linux-${{ parameters.architecture }}.tar.gz'
displayName: Download MSFT SDK
- ${{ if ne(parameters.reuseBuildArtifactsFrom, '') }}:
- download: current
artifact: ${{ parameters.reuseBuildArtifactsFrom }}_${{ parameters.architecture }}_Artifacts
patterns: '*.tar.gz'
patterns: |
**/Private.SourceBuilt.Artifacts.*.tar.gz
**/dotnet-sdk-*.tar.gz
displayName: Download Previous Build
- task: CopyFiles@2
@ -147,17 +138,57 @@ jobs:
Contents: '*.tar.gz'
TargetFolder: ${{ variables.sourcesPath }}/prereqs/packages/archive/
- ${{ if eq(parameters.withPreviousSDK, 'true') }}:
- script: |
set -euo pipefail
packageVersionsPath="${{ variables.sourcesPath }}/eng/Versions.props"
notFoundMessage="No source-built SDK found to download..."
echo "Looking for source-built SDK to download..."
archiveUrlLine=`grep -m 1 "<PrivateSourceBuiltSdkUrl_CentOS8Stream>" "$packageVersionsPath" || :`
urlPattern="<PrivateSourceBuiltSdkUrl_CentOS8Stream>(.*)</PrivateSourceBuiltSdkUrl_CentOS8Stream>"
if [[ $archiveUrlLine =~ $urlPattern ]]; then
archiveUrl="${BASH_REMATCH[1]}"
downloadDir="$(sourcesPath)/prereqs/packages/archive/"
(cd $downloadDir && curl --retry 5 -O $archiveUrl)
else
echo "$notFoundMessage"
exit 1
fi
displayName: Setup Previously Source-Built SDK
- script: |
set -x
if [[ -z '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh
else
customPrepArgs=""
prepSdk=true
if [[ '${{ parameters.withPreviousSDK }}' == 'True' ]]; then
# Source-built artifacts are from CentOS 8 Stream. We want to download them without
# downloading portable versions from the internet.
customPrepArgs="${customPrepArgs} --no-sdk --no-bootstrap"
prepSdk=false
elif [[ -n '${{ parameters.reuseBuildArtifactsFrom }}' ]]; then
customPrepArgs="${customPrepArgs} --no-sdk --no-artifacts"
prepSdk=false
fi
if [[ "$prepSdk" == "false" ]]; then
mkdir $(sourcesPath)/.dotnet
previousSdkPath="$(sourcesPath)/prereqs/packages/archive/dotnet-sdk-*.tar.gz"
eval tar -ozxf "$previousSdkPath" -C "$(sourcesPath)/.dotnet"
eval rm -f "$previousSdkPath"
echo "##vso[task.setvariable variable=additionalBuildArgs]--with-sdk /vmr/.dotnet"
fi
if [[ '${{ parameters.buildFromArchive }}' == 'True' ]]; then
customPrepArgs="$customPrepArgs --source-repository https://github.com/dotnet/dotnet"
customPrepArgs="$customPrepArgs --source-version $(git -C "${{ parameters.vmrPath }}" rev-parse HEAD)"
fi
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${{ parameters.container }} ./prep.sh $customPrepArgs
displayName: Prep the Build
- script: |
@ -182,7 +213,7 @@ jobs:
customBuildArgs="$customBuildArgs --poison"
fi
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr ${customRunArgs} ${{ parameters.container }} ./build.sh --clean-while-building $(additionalBuildArgs) ${customBuildArgs}
docker run --rm -v "$(sourcesPath):/vmr" -w /vmr $customRunArgs ${{ parameters.container }} ./build.sh --clean-while-building $(additionalBuildArgs) $customBuildArgs
displayName: Build
- script: |
@ -192,12 +223,6 @@ jobs:
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=${{ parameters.excludeOmniSharpTests }} -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true -e SMOKE_TESTS_RUNNING_IN_CI=true"
poisonArg=''
if [[ '${{ parameters.excludeSdkContentTests }}' != 'True' ]]; then
dockerVolumeArgs+=" -v $(Pipeline.Workspace)/BlobArtifacts/:/BlobArtifacts"
msftSdkTarballName=$(find "$(Pipeline.Workspace)/BlobArtifacts/" -name "dotnet-sdk-*-linux-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
fi
if [[ '${{ parameters.enablePoison }}' == 'True' ]]; then
poisonArg='--poison'
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"

View file

@ -25,15 +25,16 @@ jobs:
- template: /eng/common/templates/variables/pool-providers.yml
- name: vmrPath
value: $(Agent.BuildDirectory)/vmr
- ${{ if and( eq(variables['System.TeamProject'], 'internal'), or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}:
- group: DotNetBot-GitHub
- group: DotNetBot-GitHub-No-Scopes
- name: vmrPublicUrl
value: https://github.com/dotnet/dotnet
- ${{ if and( eq(variables['System.TeamProject'], 'internal'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/')) }}:
- group: DotNetBot-AzDO-PAT
- name: vmrInternalUrl
value: https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-dotnet
- ${{ if not(parameters.noPush) }}:
- ${{ if and( eq(variables['System.TeamProject'], 'internal'), or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}:
- group: DotNetBot-GitHub
- group: DotNetBot-GitHub-No-Scopes
- name: vmrPublicUrl
value: https://github.com/dotnet/dotnet
- ${{ if and( eq(variables['System.TeamProject'], 'internal'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/')) }}:
- group: DotNetBot-AzDO-PAT
- name: vmrInternalUrl
value: https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-dotnet
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:

View file

@ -67,7 +67,7 @@ stages:
jobs:
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Online
buildName: CentOSStream8_Online_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -78,14 +78,31 @@ stages:
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
excludeSdkContentTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: true # ✅
withPreviousSDK: false # 🚫
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Offline
buildName: CentOSStream8_Online_PreviousSourceBuiltSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
pool:
name: ${{ variables.defaultPoolName }}
demands: ${{ variables.defaultPoolDemands }}
container: ${{ parameters.centOSStream8Container }}
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: true # ✅
withPreviousSDK: true # ✅
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream8_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -96,13 +113,13 @@ stages:
buildFromArchive: true # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: true # ✅
excludeSdkContentTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: CentOSStream9_Offline
buildName: CentOSStream9_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -113,13 +130,13 @@ stages:
buildFromArchive: true # ✅
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
excludeSdkContentTests: false # 🚫
overrideDistroDisablingSha1: true # ✅
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Fedora36_Offline
buildName: Fedora36_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -130,13 +147,13 @@ stages:
buildFromArchive: true # ✅
enablePoison: true # ✅
excludeOmniSharpTests: false # 🚫
excludeSdkContentTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Ubuntu2004_Offline
buildName: Ubuntu2004_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -147,13 +164,13 @@ stages:
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
excludeSdkContentTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Debian11_Offline
buildName: Debian11_Offline_MsftSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: arm64
@ -162,13 +179,13 @@ stages:
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
excludeSdkContentTests: false # 🚫
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
withPreviousSDK: false # 🚫
- template: ../jobs/vmr-build.yml
parameters:
buildName: Fedora36_Offline_Using_Previous
buildName: Fedora36_Offline_CurrentSourceBuiltSdk
isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }}
vmrBranch: ${{ variables.VmrBranch }}
architecture: x64
@ -179,7 +196,7 @@ stages:
buildFromArchive: false # 🚫
enablePoison: false # 🚫
excludeOmniSharpTests: false # 🚫
excludeSdkContentTests: true # ✅
overrideDistroDisablingSha1: false # 🚫
runOnline: false # 🚫
reuseBuildArtifactsFrom: Fedora36_Offline
withPreviousSDK: false # 🚫
reuseBuildArtifactsFrom: Fedora36_Offline_MsftSdk

View file

@ -33,8 +33,11 @@ steps:
--vmr ${{ parameters.vmrPath }}
--tmp $(Agent.TempDirectory)
--branch ${{ parameters.vmrBranch }}
--target-ref ${{ parameters.targetRef }}
--repository "installer:${{ parameters.targetRef }}"
--recursive
--remote "installer:$(pwd)"
--readme-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/README.template.md
--tpn-template $(Agent.BuildDirectory)/installer/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
--debug
displayName: Synchronize dotnet/dotnet
workingDirectory: $(Agent.BuildDirectory)/installer

View file

@ -0,0 +1,11 @@
variables:
- name: AZDO_PROJECT
value: internal
- name: AZDO_ORG
value: https://dev.azure.com/dnceng/
- name: INSTALLER_OFFICIAL_CI_PIPELINE_ID
value: 286
- name: INSTALLER_TARBALL_BUILD_CI_PIPELINE_ID
value: 1011
- name: DOTNET_DOTNET_CI_PIPELINE_ID
value: 1219

View file

@ -0,0 +1,53 @@
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: $(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

View file

@ -50,3 +50,4 @@ stages:
- template: templates/jobs/vmr-synchronization.yml
parameters:
vmrBranch: ${{ variables.VmrBranch }}
noPush: true

View file

@ -1,63 +1,65 @@
#!/bin/bash
### This script is used for synchronizing the dotnet/dotnet repository locally
### It is used during CI to ingest new code based on dotnet/installer
### I can also help for reproducing potential failures during installer's PRs,
### namely during errors during the 'Synchronize dotnet/dotnet' build step from
### the 'VMR Source-Build'.
### The following scenario is assumed:
### - There is a PR in dotnet/installer
### - The PR is failing on the 'VMR Source-Build' job in the 'Synchronize dotnet/dotnet' step
### This script is used for synchronizing the dotnet/dotnet VMR locally. This means pulling new
### code from various repositories into the 'dotnet/dotnet' repository.
###
### There are a few possible reasons but usually this happens because there is a mismatch between
### source patches that are applied on top of the files that are being synchronized from repositories
### into the 'dotnet/dotnet' repo and new changes in the repositories.
### This manifests as the following error:
### fail: Failed to synchronize repo installer
### Failed to apply the patch for src/aspnetcore
### Exit code: 1
### Std err:
### error: patch failed: src/aspnetcore/eng/SourceBuild.props:55
### error: src/aspnetcore/eng/SourceBuild.props: patch does not apply
### 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.
###
### where 'src/aspnetcore/eng/SourceBuild.props' would be the file that is being patched and new
### changes to it are conflicting with the patch that is being applied.
###
### The whole process can be reproduced locally easily by running this script.
### The patches are located in a folder in the 'dotnet/installer' repository.
### At the moment of writing, the location is 'src/SourceBuild/patches' but to get
### the up-to-date location, please see the 'patchesPath' property in
### https://github.com/dotnet/dotnet/blob/main/src/source-mappings.json
###
### You will need to compare what is in the patch and what is in the file and fix the patch.
###
### The tooling that synchronizes the VMR will need to clone the various repositories.
### It clones them into a temporary folder and re-uses them on future runs so it is advised
### you dedicate a folder to this to speed up your re-runs.
###
### This script will synchronize the 'dotnet/dotnet' repo locally and let you inspect the changes.
### 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.
###
### USAGE:
### ./vmr-sync.sh --tmp-dir "$HOME/repos/tmp"
### Synchronize current installer and all dependencies into a local VMR:
### ./vmr-sync.sh --vmr "$HOME/repos/dotnet" --tmp "$HOME/repos/tmp"
###
### Synchronize the VMR to a specific commit of dotnet/runtime using custom fork:
### ./vmr-sync.sh \
### --repository runtime:e7e71da303af8dc97df99b098f21f526398c3943 \
### --remote runtime:https://github.com/yourfork/runtime \
### --tmp "$HOME/repos/tmp"
###
### Options:
### -t, --tmp, --tmp-dir PATH
### Required. Path to the temporary folder where repositories will be cloned
### -v, --vmr, --vmr-dir PATH
### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder
###
### -b, --branch, --vmr-branch BRANCH_NAME
### Optional. Branch of the 'dotnet/dotnet' repo to synchronize to
### This should match the target branch of the PR, defaults to 'main'
### --target-ref GIT_REF
### Optional. Git ref to synchronize to. This can be a specific commit, branch, tag..
### Defaults to the revision of the parent installer repo
### Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch
###
### --debug
### Optional. Turns on the most verbose logging for the VMR tooling
###
### --readme-template
### Optional. Template for VMRs README.md used for regenerating the file to list the newest versions of components.
### Optional. Template for VMRs README.md used for regenerating the file to list the newest versions of
### components.
### Defaults to src/VirtualMonoRepo/README.template.md
###
### --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.
###
### --remote name:URI
### 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'
###
### -r, --repository name:GIT_REF
### 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'
###
### --tpn-template
### Optional. Template for the header of VMRs THIRD-PARTY-NOTICES file.
### Defaults to src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt
###
### -v, --vmr, --vmr-dir PATH
### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder
source="${BASH_SOURCE[0]}"
@ -90,13 +92,21 @@ function highlight () {
}
installer_dir=$(realpath "$scriptroot/../")
tmp_dir=''
vmr_dir=''
vmr_branch='main'
target_ref=''
vmr_branch=''
repository=''
additional_remotes=''
recursive=false
verbosity=verbose
tpn_template=''
readme_template=''
readme_template="$installer_dir/src/VirtualMonoRepo/README.template.md"
tpn_template="$installer_dir/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt"
# If installer is a repo, we're in an installer and not in the dotnet/dotnet repo
if [[ -d "$installer_dir/.git" ]]; then
additional_remotes="installer:$installer_dir"
fi
while [[ $# -gt 0 ]]; do
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
@ -113,11 +123,15 @@ while [[ $# -gt 0 ]]; do
vmr_branch=$2
shift
;;
-d|--debug)
verbosity=debug
-r|--repository)
repository=$2
shift
;;
--target-ref)
target_ref=$2
--recursive)
recursive=true
;;
--remote)
additional_remotes="$additional_remotes,$2"
shift
;;
--readme-template)
@ -128,13 +142,16 @@ while [[ $# -gt 0 ]]; do
tpn_template=$2
shift
;;
-d|--debug)
verbosity=debug
;;
-h|--help)
print_help
exit 0
;;
*)
fail "Invalid argument: $1"
usage
print_help
exit 1
;;
esac
@ -142,19 +159,13 @@ while [[ $# -gt 0 ]]; do
shift
done
# Validation
if [[ ! -d "$installer_dir" ]]; then
fail "Directory '$installer_dir' does not exist. Please specify the path to the dotnet/installer repo"
exit 1
fi
if [[ -z "$readme_template" ]]; then
readme_template="$installer_dir/src/VirtualMonoRepo/README.template.md"
fi
if [[ -z "$tpn_template" ]]; then
tpn_template="$installer_dir/src/VirtualMonoRepo/THIRD-PARTY-NOTICES.template.txt"
fi
if [[ -z "$tmp_dir" ]]; then
fail "Missing --tmp-dir argument. Please specify the path to the temporary folder where the repositories will be cloned"
exit 1
@ -170,6 +181,14 @@ if [[ ! -f "$tpn_template" ]]; then
exit 1
fi
# Sanitize the input
# Default when no repository is provided
if [[ -z "$repository" ]]; then
repository="installer:$(git -C "$installer_dir" rev-parse HEAD)"
recursive=true
fi
if [[ -z "$vmr_dir" ]]; then
vmr_dir="$tmp_dir/dotnet"
fi
@ -182,42 +201,66 @@ if [[ "$verbosity" == "debug" ]]; then
set -x
fi
# Prepare the VMR
if [[ ! -d "$vmr_dir" ]]; then
highlight "Cloning 'dotnet/dotnet' into $vmr_dir.."
git clone https://github.com/dotnet/dotnet "$vmr_dir"
git switch -c "$vmr_branch"
if [[ -n "$vmr_branch" ]]; then
git -C "$vmr_dir" switch -c "$vmr_branch"
fi
else
if ! git -C "$vmr_dir" diff --quiet; then
fail "There are changes in the working tree of $vmr_dir. Please commit or stash your changes"
exit 1
fi
highlight "Preparing $vmr_dir"
git -C "$vmr_dir" checkout "$vmr_branch"
git -C "$vmr_dir" pull
if [[ -n "$vmr_branch" ]]; then
highlight "Preparing $vmr_dir"
git -C "$vmr_dir" checkout "$vmr_branch"
git -C "$vmr_dir" pull
fi
fi
set -e
# Prepare darc
highlight 'Installing .NET, preparing the tooling..'
source "$scriptroot/common/tools.sh"
InitializeDotNetCli true
dotnet="$scriptroot/../.dotnet/dotnet"
dotnet=$(realpath "$scriptroot/../.dotnet/dotnet")
"$dotnet" tool restore
# Run the sync
if [[ -z "$target_ref" ]]; then
target_ref=$(git -C "$installer_dir" rev-parse HEAD)
fi
highlight "Starting the synchronization to '$target_ref'.."
highlight "Starting the synchronization of '$repository'.."
set +e
if "$dotnet" darc vmr update --vmr "$vmr_dir" --tmp "$tmp_dir" --$verbosity --recursive --readme-template "$readme_template" --tpn-template "$tpn_template" --additional-remotes "installer:$installer_dir" "installer:$target_ref"; then
recursive_arg=''
if [[ "$recursive" == "true" ]]; then
recursive_arg="--recursive"
fi
if [[ -n "$additional_remotes" ]]; then
additional_remotes="--additional-remotes $additional_remotes"
fi
# Synchronize the VMR
"$dotnet" darc vmr update \
--vmr "$vmr_dir" \
--tmp "$tmp_dir" \
--$verbosity \
$recursive_arg \
--readme-template "$readme_template" \
--tpn-template "$tpn_template" \
$additional_remotes \
"$repository"
if [[ $? == 0 ]]; then
highlight "Synchronization succeeded"
else
fail "Synchronization of dotnet/dotnet to '$target_ref' failed!"
fail "Synchronization of dotnet/dotnet to '$repository' failed!"
fail "'$vmr_dir' 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 --debug to get all the details)."
fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script."

View file

@ -1,6 +1,6 @@
{
"tools": {
"dotnet": "8.0.100-alpha.1.23061.8",
"dotnet": "8.0.100-preview.3.23178.7",
"runtimes": {
"dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)"
@ -11,7 +11,7 @@
"cmake": "3.21.0"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23103.1",
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.23103.1"
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23211.8",
"Microsoft.DotNet.CMake.Sdk": "8.0.0-beta.23211.8"
}
}

View file

@ -0,0 +1,52 @@
<!--
######## ######## ### ######## ######## ## ## #### ######
## ## ## ## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ## ## ##
######## ###### ## ## ## ## ## ######### ## ######
## ## ## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ## ## ## ##
## ## ######## ## ## ######## ## ## ## #### ######
-->
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.
## Build the SDK
To build the VMR, run following:
```bash
./prep.sh && ./build.sh --online
```
> Please note that, at this time, the build modifies some of the checked-in sources so it might
be preferential to rebuild the Codespace between attempts (or reset the working tree changes).
For more details, see the instructions at https://github.com/dotnet/dotnet.
## Synchronize your changes in locally
When debugging the build, you have two options how to test your changes in this environment.
### Making changes to the VMR directly
You can make the changes directly to the local checkout of the VMR at `/workspaces/dotnet`. You
can then try to build the VMR and see if the change works for you.
### Pull changes into the Codespace from your fork
You can also make a fix in the individual source repository (e.g. `dotnet/runtime`) and push the
fix into a branch; can be in your fork too. Once you have the commit pushed, you can pull this
version of the repository into the Codespace by running:
```
/workspaces/synchronize-vmr.sh \
--repository <repo>:<commit, tag or branch> \
--remote <repo>:<fork URI>
```
You can now proceed building the VMR in the Codespace using instructions above. You can repeat
this process and sync a new commit from your fork. Only note that, at this time, Source-Build
modifies some of the checked-in sources so you'll need to revert the working tree changes
between attempts.

View file

@ -11,6 +11,12 @@
"extensions": [
"ms-dotnettools.csharp"
]
},
"codespaces": {
"openFiles": [
".devcontainer/README.md"
]
}
}
},
"onCreateCommand": ".devcontainer/init.sh"
}

View file

@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -eux
source="${BASH_SOURCE[0]}"
script_root="$( cd -P "$( dirname "$source" )" && pwd )"
workspace_dir=$(realpath "$script_root/../../")
tmp_dir=$(realpath "$workspace_dir/tmp")
vmr_dir=$(realpath "$workspace_dir/dotnet")
cp "$vmr_dir/.devcontainer/synchronize-vmr.sh" "$workspace_dir"
mkdir -p "$tmp_dir"

View file

@ -1,11 +0,0 @@
#!/usr/bin/env bash
source="${BASH_SOURCE[0]}"
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
"$scriptroot"/../../prep.sh
# GitHub Codespaces sets this and it conflicts with source-build scripts.
unset RepositoryName
"$scriptroot"/../../build.sh --online --clean-while-building || exit 0

View file

@ -11,7 +11,12 @@
"extensions": [
"ms-dotnettools.csharp"
]
},
"codespaces": {
"openFiles": [
".devcontainer/README.md"
]
}
},
"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/prebuilt-sdk/build.sh"
"onCreateCommand": ".devcontainer/prebuilt-sdk/init.sh"
}

View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
source="${BASH_SOURCE[0]}"
script_root="$( cd -P "$( dirname "$source" )" && pwd )"
"$script_root"/../../prep.sh
cp "$script_root/../synchronize-vmr.sh" "/workspaces/"
"$script_root"/../../build.sh --online --clean-while-building || exit 0

View file

@ -0,0 +1,4 @@
#!/bin/bash
(cd /workspaces/dotnet/src/installer \
&& ./eng/vmr-sync.sh --vmr /workspaces/dotnet --tmp /workspaces/tmp --no-vmr-prepare $*)

View file

@ -173,12 +173,7 @@
</PropertyGroup>
<PropertyGroup>
<!-- known-good (repos/known-good.proj) conditionally includes submodules based on the platform,
so this will not always correspond to the same repos - see that file for details.
We need an "empty" project after the last real project in order for prebuilt detection
to work, so we always build known-good. -->
<RootRepo>known-good</RootRepo>
<RootRepoTests>known-good-tests</RootRepoTests>
<RootRepo>dotnet</RootRepo>
</PropertyGroup>
<!--
@ -204,7 +199,7 @@
<Import Project="$(GitInfoAllRepoPropsFile)" />
<!-- Additional psuedo-versions that some repos depend on -->
<!-- Additional pseudo-versions that some repos depend on -->
<ItemGroup>
<!-- we don't produce the Windows version of this package but that's the one core-sdk keys off of for the ASP.NET version -->
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimewinx64PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />

View file

@ -13,13 +13,6 @@
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
</Target>
<Target Name="RunRepoTests" DependsOnTargets="PrepareOutput;InitBuild">
<Message Text="Build Environment: $(Platform) $(Configuration) $(TargetOS) $(TargetRid)" />
<MSBuild Projects="$(RepoProjectsDir)$(RootRepoTests).proj" Targets="Build" Properties="PrepForTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
<MSBuild Projects="$(RepoProjectsDir)$(RootRepoTests).proj" Targets="Build" Properties="RunTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
</Target>
<Target Name="PrepareOutput">
<MakeDir Directories="$(OutputPath)" />
<MakeDir Directories="$(LoggingDir)" />

View file

@ -19,7 +19,6 @@ usage() {
SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)"
MSBUILD_ARGUMENTS=("-flp:v=detailed")
CUSTOM_REF_PACKAGES_DIR=''
CUSTOM_PACKAGES_DIR=''
alternateTarget=false
runningSmokeTests=false
@ -34,7 +33,7 @@ while :; do
break
fi
lowerI="$(echo $1 | awk '{print tolower($0)}')"
lowerI="$(echo "$1" | awk '{print tolower($0)}')"
case $lowerI in
--clean-while-building)
MSBUILD_ARGUMENTS+=( "-p:CleanWhileBuilding=true")
@ -78,7 +77,7 @@ while :; do
echo "Detected '--': passing remaining parameters '$@' as build.sh arguments."
break
;;
-?|-h|--help)
'-?'|-h|--help)
usage
exit 0
;;
@ -114,14 +113,19 @@ if [ -f "${packagesArchiveDir}archiveArtifacts.txt" ]; then
fi
fi
if [ ! -d "$SCRIPT_ROOT/.git" ]; then
echo "ERROR: $SCRIPT_ROOT is not a git repository. Please run prep.sh add initialize Source Link metadata."
exit 1
fi
if [ -d "$CUSTOM_SDK_DIR" ]; then
export SDK_VERSION=`"$CUSTOM_SDK_DIR/dotnet" --version`
export SDK_VERSION=$("$CUSTOM_SDK_DIR/dotnet" --version)
export CLI_ROOT="$CUSTOM_SDK_DIR"
export _InitializeDotNetCli="$CLI_ROOT/dotnet"
export CustomDotNetSdkDir="$CLI_ROOT"
echo "Using custom bootstrap SDK from '$CLI_ROOT', version '$SDK_VERSION'"
else
sdkLine=`grep -m 1 'dotnet' "$SCRIPT_ROOT/global.json"`
sdkLine=$(grep -m 1 'dotnet' "$SCRIPT_ROOT/global.json")
sdkPattern="\"dotnet\" *: *\"(.*)\""
if [[ $sdkLine =~ $sdkPattern ]]; then
export SDK_VERSION=${BASH_REMATCH[1]}
@ -134,7 +138,7 @@ packageVersionsPath=''
if [[ "$CUSTOM_PACKAGES_DIR" != "" && -f "$CUSTOM_PACKAGES_DIR/PackageVersions.props" ]]; then
packageVersionsPath="$CUSTOM_PACKAGES_DIR/PackageVersions.props"
elif [ -d "$packagesArchiveDir" ]; then
sourceBuiltArchive=`find $packagesArchiveDir -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz'`
sourceBuiltArchive=$(find "$packagesArchiveDir" -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz')
if [ -f "${packagesPreviouslySourceBuiltDir}}PackageVersions.props" ]; then
packageVersionsPath=${packagesPreviouslySourceBuiltDir}PackageVersions.props
elif [ -f "$sourceBuiltArchive" ]; then
@ -150,7 +154,7 @@ if [ ! -f "$packageVersionsPath" ]; then
exit 1
fi
arcadeSdkLine=`grep -m 1 'MicrosoftDotNetArcadeSdkVersion' "$packageVersionsPath"`
arcadeSdkLine=$(grep -m 1 'MicrosoftDotNetArcadeSdkVersion' "$packageVersionsPath")
versionPattern="<MicrosoftDotNetArcadeSdkVersion>(.*)</MicrosoftDotNetArcadeSdkVersion>"
if [[ $arcadeSdkLine =~ $versionPattern ]]; then
export ARCADE_BOOTSTRAP_VERSION=${BASH_REMATCH[1]}
@ -163,7 +167,7 @@ if [[ $arcadeSdkLine =~ $versionPattern ]]; then
export SOURCE_BUILT_SDK_DIR_ARCADE=$packagesRestoredDir/ArcadeBootstrapPackage/microsoft.dotnet.arcade.sdk/$ARCADE_BOOTSTRAP_VERSION
fi
sourceLinkLine=`grep -m 1 'MicrosoftSourceLinkCommonVersion' "$packageVersionsPath"`
sourceLinkLine=$(grep -m 1 'MicrosoftSourceLinkCommonVersion' "$packageVersionsPath")
versionPattern="<MicrosoftSourceLinkCommonVersion>(.*)</MicrosoftSourceLinkCommonVersion>"
if [[ $sourceLinkLine =~ $versionPattern ]]; then
export SOURCE_LINK_BOOTSTRAP_VERSION=${BASH_REMATCH[1]}
@ -179,11 +183,11 @@ LogDateStamp=$(date +"%m%d%H%M%S")
"$CLI_ROOT/dotnet" build-server shutdown
if [ "$alternateTarget" == "true" ]; then
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log -clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:"$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog" -flp:"LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log" -clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
else
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/eng/tools/init-build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log -t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/eng/tools/init-build.proj" -bl:"$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog" -flp:LogFile="$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log" -t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
# kill off the MSBuild server so that on future invocations we pick up our custom SDK Resolver
"$CLI_ROOT/dotnet" build-server shutdown
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog -flp:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log ${MSBUILD_ARGUMENTS[@]} "$@"
"$CLI_ROOT/dotnet" msbuild "$SCRIPT_ROOT/build.proj" -bl:"$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog" -flp:"LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log" ${MSBUILD_ARGUMENTS[@]} "$@"
fi

View file

@ -12,19 +12,14 @@
<PropertyGroup>
<!--
Building .NET from source depends on one or two tar.gz files depending on the branch's current
Building .NET from source depends on several archives, depending on the branch's current
source-buildability status.
PrivateSourceBuiltArtifactsPackageVersion is a tar.gz of .NET build outputs from a previous
build needed to build the current version of .NET. This is always defined, because .NET needs
to be bootstrappable at any point in time.
PrivateSourceBuiltPrebuiltsPackageVersion is a tar.gz of assets downloaded from the internet
that are needed to build the current version of .NET. Early in the lifecycle 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.
These URLs can't be composed from their base URL and version as we read them from the
prep.sh and pipeline scripts, outside of MSBuild.
-->
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-8.0.100-5.centos.8-x64</PrivateSourceBuiltArtifactsPackageVersion>
<PrivateSourceBuiltPrebuiltsPackageVersion>0.1.0-8.0.100-3.centos.8-x64</PrivateSourceBuiltPrebuiltsPackageVersion>
<PrivateSourceBuiltArtifactsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.100-preview.3.23178.7.centos.8-x64.tar.gz</PrivateSourceBuiltArtifactsUrl>
<PrivateSourceBuiltPrebuiltsUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Prebuilts.0.1.0-8.0.100-19.centos.8-x64.tar.gz</PrivateSourceBuiltPrebuiltsUrl>
<PrivateSourceBuiltSdkUrl_CentOS8Stream>https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.100-preview.3.23210.1-centos.8-x64.tar.gz</PrivateSourceBuiltSdkUrl_CentOS8Stream>
</PropertyGroup>
</Project>

View file

@ -2,7 +2,7 @@
<PropertyGroup>
<!-- 7.0.0 produced improperly versioned runtime assets because the OfficialBuildId
was not set correctly. This is the actual shipping version that it should have been -->
<NonshippingRuntimeVersionFor700>7.0.0-rtm.22518.5</NonshippingRuntimeVersionFor700>
<NonshippingRuntimeVersionFor700>7.0.4-servicing.23107.6</NonshippingRuntimeVersionFor700>
<MicrosoftNETHostModelVersion>$(NonshippingRuntimeVersionFor700)</MicrosoftNETHostModelVersion>
<MicrosoftNETCoreTestHostVersion>$(NonshippingRuntimeVersionFor700)</MicrosoftNETCoreTestHostVersion>

View file

@ -12,44 +12,95 @@
<NewTarballName>$(ArchiveDir)Private.SourceBuilt.Artifacts.Bootstrap.tar.gz</NewTarballName>
</PropertyGroup>
<ItemDefinitionGroup>
<PortablePackage>
<IsNative>false</IsNative>
</PortablePackage>
</ItemDefinitionGroup>
<ItemGroup>
<!-- These packages will be replaced with ms-built packages downloaded from official package feeds-->
<PackageDownload Include="Microsoft.Aspnetcore.App.Runtime.linux-x64" Version="[$(MicrosoftAspNetCoreAppRuntimeVersion)]" />
<PackageDownload Include="Microsoft.NETCore.App.Crossgen2.linux-x64" Version="[$(MicrosoftNETCoreAppCrossgen2Version)]" />
<PackageDownload Include="Microsoft.NETCore.App.Host.linux-x64" Version="[$(MicrosoftNETCoreAppHostPackageVersion)]" />
<PackageDownload Include="Microsoft.NETCore.App.Runtime.linux-x64" Version="[$(MicrosoftNETCoreAppRuntimeVersion)]" />
<PackageDownload Include="Microsoft.NET.HostModel" Version="[$(MicrosoftNETHostModelVersion)]" />
<PackageDownload Include="Microsoft.NET.Sdk.IL" Version="[$(MicrosoftNETSdkILVersion)]" />
<PackageDownload Include="Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PackageDownload Include="Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PackageDownload Include="Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PackageDownload Include="runtime.linux-x64.Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<PackageDownload Include="runtime.linux-x64.runtime.native.System.IO.Ports" Version="[$(SystemIOPortsVersion)]" />
<PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PackageDownload Include="runtime.linux-musl-x64.Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<!-- There's no nuget package for runtime.linux-musl-x64.runtime.native.System.IO.Ports
<PackageReference Include="runtime.linux-musl-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
-->
<!-- Packages needed to bootstrap arm64 -->
<PackageDownload Include="Microsoft.Aspnetcore.App.Runtime.linux-arm64" Version="[$(MicrosoftAspNetCoreAppRuntimeVersion)]" />
<PackageDownload Include="Microsoft.NETCore.App.Crossgen2.linux-arm64" Version="[$(MicrosoftNETCoreAppCrossgen2Version)]" />
<PackageDownload Include="Microsoft.NETCore.App.Host.linux-arm64" Version="[$(MicrosoftNETCoreAppHostPackageVersion)]" />
<PackageDownload Include="Microsoft.NETCore.App.Runtime.linux-arm64" Version="[$(MicrosoftNETCoreAppRuntimeVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.DotNet.IlCompiler" Version="[$(MicrosoftDotNetIlCompilerVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost" Version="[$(MicrosoftNETCoreDotNetAppHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHost" Version="[$(MicrosoftNETCoreDotNetHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy" Version="[$(MicrosoftNETCoreDotNetHostPolicyVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver" Version="[$(MicrosoftNETCoreDotNetHostResolverVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PackageDownload Include="runtime.linux-arm64.Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<PackageDownload Include="runtime.linux-arm64.runtime.native.System.IO.Ports" Version="[$(RuntimeNativeSystemIOPortsVersion)]" />
<LinuxRid Include="linux-x64" />
<LinuxRid Include="linux-musl-x64" />
<LinuxRid Include="linux-arm64" />
<LinuxRid Include="linux-musl-arm64" />
</ItemGroup>
<Target Name="BuildBoostrapPreviouslySourceBuilt" AfterTargets="Restore">
<!-- These packages will be replaced with ms-built packages downloaded from official package feeds-->
<ItemGroup>
<RuntimePack Include="Microsoft.Aspnetcore.App.Runtime" Version="[$(MicrosoftAspNetCoreAppRuntimeVersion)]" />
<RuntimePack Include="Microsoft.NETCore.App.Crossgen2" Version="[$(MicrosoftNETCoreAppCrossgen2Version)]" />
<RuntimePack Include="Microsoft.NETCore.App.Host" Version="[$(MicrosoftNETCoreAppHostPackageVersion)]" />
<RuntimePack Include="Microsoft.NETCore.App.Runtime" Version="[$(MicrosoftNETCoreAppRuntimeVersion)]" />
<PortablePackage Include="Microsoft.DotNet.IlCompiler" Version="[$(MicrosoftDotNetIlCompilerVersion)]" />
<PortablePackage Include="Microsoft.NETCore.DotNetAppHost" Version="[$(MicrosoftNETCoreDotNetAppHostVersion)]" />
<PortablePackage Include="Microsoft.NETCore.DotNetHost" Version="[$(MicrosoftNETCoreDotNetHostVersion)]" />
<PortablePackage Include="Microsoft.NETCore.DotNetHostPolicy" Version="[$(MicrosoftNETCoreDotNetHostPolicyVersion)]" />
<PortablePackage Include="Microsoft.NETCore.DotNetHostResolver" Version="[$(MicrosoftNETCoreDotNetHostResolverVersion)]" />
<PortablePackage Include="Microsoft.NETCore.ILAsm" Version="[$(MicrosoftNETCoreILAsmVersion)]" />
<PortablePackage Include="Microsoft.NETCore.ILDAsm" Version="[$(MicrosoftNETCoreILDAsmVersion)]" />
<PortablePackage Include="Microsoft.NETCore.TestHost" Version="[$(MicrosoftNETCoreTestHostVersion)]" />
<PortablePackage Include="System.IO.Ports" Version="[$(RuntimeNativeSystemIOPortsVersion)]" IsNative="true" />
<!-- These packages don't actually exist -->
<ExcludedPackage Include="runtime.linux-musl-x64.runtime.native.System.IO.Ports" />
<ExcludedPackage Include="runtime.linux-musl-arm64.runtime.native.System.IO.Ports" />
</ItemGroup>
<Target Name="GetPackagesToDownload"
AfterTargets="CollectPackageDownloads"
Returns="@(PackageDownload)">
<ItemGroup>
<!-- Generate a cross-product between runtime packs and Linux RIDs -->
<RuntimePackWithLinuxRid Include="@(RuntimePack)">
<LinuxRid>%(LinuxRid.Identity)</LinuxRid>
</RuntimePackWithLinuxRid>
<!-- Generate a cross-product between portable packages and Linux RIDs -->
<PortablePackageWithLinuxRid Include="@(PortablePackage)">
<LinuxRid>%(LinuxRid.Identity)</LinuxRid>
</PortablePackageWithLinuxRid>
</ItemGroup>
<ItemGroup>
<!--
Generate package names for runtime packs by concatenating the base name with the Linux RID
(e.g. Microsoft.Aspnetcore.App.Runtime.linux-x64)
-->
<PackageWithName Include="@(RuntimePackWithLinuxRid)">
<PackageName>%(RuntimePackWithLinuxRid.Identity).%(RuntimePackWithLinuxRid.LinuxRid)</PackageName>
</PackageWithName>
<!--
Include the base name of each portable package (e.g. Microsoft.NETCore.ILAsm)
Exclude any that are native packages.
-->
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' != 'true' ">
<PackageName>%(PortablePackageWithLinuxRid.Identity)</PackageName>
</PackageWithName>
<!--
Generate Linux RID package names for portable packages by concatenating the base name with the Linux RID
(e.g. runtime.linux-x64.Microsoft.NETCore.ILAsm)
Do this for two groups: native and non-native packages. They have different naming conventions.
-->
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' != 'true' ">
<PackageName>runtime.%(PortablePackageWithLinuxRid.LinuxRid).%(PortablePackageWithLinuxRid.Identity)</PackageName>
</PackageWithName>
<PackageWithName Include="@(PortablePackageWithLinuxRid)" Condition=" '%(PortablePackageWithLinuxRid.IsNative)' == 'true' ">
<PackageName>runtime.%(PortablePackageWithLinuxRid.LinuxRid).runtime.native.%(PortablePackageWithLinuxRid.Identity)</PackageName>
</PackageWithName>
</ItemGroup>
<ItemGroup>
<PackageDownload Include="@(PackageWithName -> '%(PackageName)')" />
<PackageDownload Remove="@(ExcludedPackage)" />
</ItemGroup>
</Target>
<Target Name="BuildBoostrapPreviouslySourceBuilt"
AfterTargets="Restore"
DependsOnTargets="GetPackagesToDownload">
<ItemGroup>
<RestoredNupkgs Include="$(RestorePackagesPath)**/*.nupkg" />
<PrevSBArchive Include="$(ArchiveDir)Private.SourceBuilt.Artifacts.*.tar.gz" />
@ -78,7 +129,7 @@
Properties="SourcePath=$(RestorePackagesPath);DestinationPath=$(UnpackedTarPath);PackageName=%(PackageDownload.Identity);PackageVersion=%(PackageDownload.Version)" />
<!-- override PVP with bootstrap-override package versions -->
<Message Text=" Overriding previously-source-built package versions with $(BootstrapOverrideVersionsProps)" Importance="High" />
<Message Text=" Overriding previously-source-built package versions with $(BootstrapOverrideVersionsProps)" Importance="High" Condition="Exists('$(BootstrapOverrideVersionsProps)')" />
<ReadLinesFromFile File="$(UnpackedTarPath)/PackageVersions.props">
<Output TaskParameter="Lines" ItemName="OriginalPackageVersionLines" />
</ReadLinesFromFile>
@ -94,10 +145,12 @@
<WriteLinesToFile File="$(UnpackedTarPath)/PackageVersions.props"
Lines="@(OriginalPackageVersionLines)"
Overwrite="true"
Condition="Exists('$(BootstrapOverrideVersionsProps)')"
/>
<WriteLinesToFile File="$(UnpackedTarPath)/PackageVersions.props"
Lines="@(BootstrapPackageVersionLines)"
Overwrite="false"
Condition="Exists('$(BootstrapOverrideVersionsProps)')"
/>
<!-- Repack tarball with new bootstrap name -->

View file

@ -1,96 +0,0 @@
#!/usr/bin/env bash
### This script exports the sources of VMR (dotnet/dotnet) as an archive that can be used
### to build the .NET SDK.
### It expects you clone the dotnet/dotnet repo locally and check out the desired revision.
###
### USAGE:
### ./pack-sources.sh -o dotnet.tar.gz
### Options:
### -o, --output PATH
### Optional. Path or dir where the archive is created.
### Defaults to artifacts/packages/dotnet-[SHA].tar.gz
source="${BASH_SOURCE[0]}"
# resolve $source until the file is no longer a symlink
while [[ -h "$source" ]]; do
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
source="$(readlink "$source")"
# if $source was a relative symlink, we need to resolve it relative to the path where the
# symlink file was located
[[ $source != /* ]] && source="$scriptroot/$source"
done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
function print_help () {
sed -n '/^### /,/^$/p' "$source" | cut -b 5-
}
GIT_ROOT=$(realpath "$scriptroot/../")
output=''
while [[ $# -gt 0 ]]; do
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
-o|--output)
output=$2
shift
;;
-h|--help)
print_help
exit 0
;;
*)
fail "Invalid argument: $1"
usage
exit 1
;;
esac
shift
done
revision=$(git -C "$GIT_ROOT" rev-parse HEAD)
filename="dotnet-$revision"
if [[ -z "$output" ]]; then
output="$GIT_ROOT/artifacts/packages/$filename.tar.gz"
fi
# If output is directory, use the default filename
if [[ -d "$output" ]]; then
output="$output/$filename.tar.gz"
fi
set -e
echo "Packing sources of $revision to $output.."
mkdir -p "$(dirname "$output")"
rm -f "$output"
tmp="$GIT_ROOT/artifacts/tmp"
mkdir -p "$tmp"
config_file="$tmp/config"
HEAD_file="$tmp/HEAD"
start_time=$(date +%s)
# We need to had `.git/HEAD` and `.git/config` to the archive as the build expects those
echo $'[remote "origin"]\nurl="http://github.com/dotnet/dotnet"' > "$config_file"
echo "$revision" > "$HEAD_file"
git -C "$GIT_ROOT" archive \
-o "$output" \
--prefix "$filename/.git/" \
--add-file "$config_file" \
--add-file "$HEAD_file" \
--prefix "$filename/" \
"$revision" "$GIT_ROOT"
end_time=$(date +%s)
elapsed=$(( end_time - start_time ))
duration=$(date -u +%H:%M:%S "-d@$elapsed")
echo "Archive created in $duration"

View file

@ -1,55 +1,24 @@
# This is the main build definition (PR+CI) for dotnet/dotnet
trigger:
batch: true
branches:
include:
- main
- release/*
- internal/release/*
pr:
branches:
include:
- main
- release/*
- internal/release/*
stages:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: templates/stages/vmr-scan.yml
# For rolling builds we want to build the MSFT SDK first so that we can
# compare the contents with the source-built one later.
# This only works because we don't run this test in PRs. If we decided
# to run this test in PRs, we would need to build the MSFT SDK there too.
- stage: Build_MSFT_SDK
displayName: Build MSFT SDK
dependsOn: []
jobs:
- template: /src/installer/eng/build.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
isBuiltFromVmr: true
- template: /src/installer/eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
isBuiltFromVmr: true
- template: /src/installer/eng/pipelines/templates/stages/vmr-build.yml
parameters:
isBuiltFromVmr: true
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
dependsOn: Build_MSFT_SDK
condition: always()
# This is the main build definition (PR+CI) for dotnet/dotnet
trigger:
batch: true
branches:
include:
- main
- release/*
- internal/release/*
pr:
branches:
include:
- main
- release/*
- internal/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

View file

@ -5,9 +5,7 @@
<ItemGroup>
<AllRepoProjects
Include="$(ProjectDir)repo-projects\*.proj"
Exclude="
$(ProjectDir)repo-projects\known-good.proj;
$(ProjectDir)repo-projects\known-good-tests.proj" />
Exclude="$(ProjectDir)repo-projects\dotnet.proj" />
</ItemGroup>
<MSBuild

View file

@ -1,6 +1,6 @@
{
"tools": {
"dotnet": "8.0.100-alpha.1.23080.2"
"dotnet": "8.0.100-preview.3.23178.7"
},
"msbuild-sdks": {
"Microsoft.Build.CentralPackageVersions": "2.0.1",

View file

@ -9,10 +9,27 @@ usage() {
echo ""
echo " Prepares the environment to be built by downloading Private.SourceBuilt.Artifacts.*.tar.gz and"
echo " installing the version of dotnet referenced in global.json"
echo "options:"
echo " --no-artifacts Exclude the download of the previously source-built artifacts archive"
echo " --no-bootstrap Don't replace portable packages in the download source-built artifacts"
echo " --no-prebuilts Exclude the download of the prebuilts archive"
echo " --no-sdk Exclude the download of the .NET SDK"
echo " --source-repository <url> Source Link repository URL, required when building from tarball"
echo " --source-version <sha> Source Link revision, required when building from tarball"
echo " --runtime-source-feed URL of a remote server or a local directory, from which SDKs and"
echo " runtimes can be downloaded"
echo " --runtime-source-feed-key Key for accessing the above server, if necessary"
echo ""
}
buildBootstrap=false
buildBootstrap=true
downloadArtifacts=true
downloadPrebuilts=true
installDotnet=true
sourceUrl=''
sourceVersion=''
runtime_source_feed='' # IBM requested these to support s390x scenarios
runtime_source_feed_key='' # IBM requested these to support s390x scenarios
positional_args=()
while :; do
if [ $# -le 0 ]; then
@ -24,6 +41,34 @@ while :; do
usage
exit 0
;;
--no-bootstrap)
buildBootstrap=false
;;
--no-artifacts)
downloadArtifacts=false
;;
--no-prebuilts)
downloadPrebuilts=false
;;
--no-sdk)
installDotnet=false
;;
--source-repository)
sourceUrl="$2"
shift
;;
--source-version)
sourceVersion="$2"
shift
;;
--runtime-source-feed)
runtime_source_feed=$2
shift
;;
--runtime-source-feed-key)
runtime_source_feed_key=$2
shift
;;
*)
positional_args+=("$1")
;;
@ -32,57 +77,77 @@ while :; do
shift
done
downloadArtifacts=true
downloadPrebuilts=true
installDotnet=true
# Attempting to bootstrap without an SDK will fail. So either the --no-sdk flag must be passed
# or a pre-existing .dotnet SDK directory must exist.
if [ "$buildBootstrap" == true ] && [ "$installDotnet" == false ] && [ ! -d "$SCRIPT_ROOT/.dotnet" ]; then
echo " ERROR: --no-sdk requires --no-bootstrap or a pre-existing .dotnet SDK directory. Exiting..."
exit 1
fi
# Check to make sure curl exists to download the archive files
if ! command -v curl &> /dev/null
then
echo " ERROR: curl not found. Exiting..."
exit -1
exit 1
fi
GIT_DIR="$SCRIPT_ROOT/.git"
if [ -f "$GIT_DIR/index" ]; then # We check for index because if outside of git, we create config and HEAD manually
if [ -n "$sourceUrl" ] || [ -n "$sourceVersion" ]; then
echo "ERROR: $SCRIPT_ROOT is a git repository, --source-repository and --source-version cannot be used."
exit 1
fi
else
if [ -z "$sourceUrl" ] || [ -z "$sourceVersion" ]; then
echo "ERROR: $SCRIPT_ROOT is not a git repository, --source-repository and --source-version must be specified."
exit 1
fi
# We need to add "fake" .git/ files when not building from a git repository
mkdir -p "$GIT_DIR"
echo '[remote "origin"]' > "$GIT_DIR/config"
echo "url=\"$sourceUrl\"" >> "$GIT_DIR/config"
echo "$sourceVersion" > "$GIT_DIR/HEAD"
fi
# Check if Private.SourceBuilt artifacts archive exists
artifactsBaseFileName="Private.SourceBuilt.Artifacts"
packagesArchiveDir="$SCRIPT_ROOT/prereqs/packages/archive/"
if [ -f ${packagesArchiveDir}${artifactsBaseFileName}.*.tar.gz ]; then
if [ "$downloadArtifacts" == true ] && [ -f ${packagesArchiveDir}${artifactsBaseFileName}.*.tar.gz ]; then
echo " Private.SourceBuilt.Artifacts.*.tar.gz exists...it will not be downloaded"
downloadArtifacts=false
fi
# Check if Private.SourceBuilt prebuilts archive exists
prebuiltsBaseFileName="Private.SourceBuilt.Prebuilts"
if [ -f ${packagesArchiveDir}${prebuiltsBaseFileName}.*.tar.gz ]; then
if [ "$downloadPrebuilts" == true ] && [ -f ${packagesArchiveDir}${prebuiltsBaseFileName}.*.tar.gz ]; then
echo " Private.SourceBuilt.Prebuilts.*.tar.gz exists...it will not be downloaded"
downloadPrebuilts=false
fi
# Check if dotnet is installed
if [ -d $SCRIPT_ROOT/.dotnet ]; then
if [ "$installDotnet" == true ] && [ -d "$SCRIPT_ROOT/.dotnet" ]; then
echo " ./.dotnet SDK directory exists...it will not be installed"
installDotnet=false;
fi
function DownloadArchive {
archiveType="$1"
baseFileName="$2"
isRequired="$3"
isRequired="$2"
sourceBuiltArtifactsTarballUrl="https://dotnetcli.azureedge.net/source-built-artifacts/assets/"
packageVersionsPath="$SCRIPT_ROOT/eng/Versions.props"
notFoundMessage="No source-built $archiveType found to download..."
echo " Looking for source-built $archiveType to download..."
archiveVersionLine=`grep -m 1 "<PrivateSourceBuilt${archiveType}PackageVersion>" "$packageVersionsPath" || :`
versionPattern="<PrivateSourceBuilt${archiveType}PackageVersion>(.*)</PrivateSourceBuilt${archiveType}PackageVersion>"
archiveVersionLine=$(grep -m 1 "<PrivateSourceBuilt${archiveType}Url>" "$packageVersionsPath" || :)
versionPattern="<PrivateSourceBuilt${archiveType}Url>(.*)</PrivateSourceBuilt${archiveType}Url>"
if [[ $archiveVersionLine =~ $versionPattern ]]; then
archiveUrl="${sourceBuiltArtifactsTarballUrl}${baseFileName}.${BASH_REMATCH[1]}.tar.gz"
archiveUrl="${BASH_REMATCH[1]}"
echo " Downloading source-built $archiveType from $archiveUrl..."
(cd $packagesArchiveDir && curl --retry 5 -O $archiveUrl)
elif [ "$isRequired" == "true" ]; then
(cd "$packagesArchiveDir" && curl --retry 5 -O "$archiveUrl")
elif [ "$isRequired" == true ]; then
echo " ERROR: $notFoundMessage"
exit -1
exit 1
else
echo " $notFoundMessage"
fi
@ -96,37 +161,39 @@ function BootstrapArtifacts {
echo " Building bootstrap previously source-built in $workingDir"
# Copy bootstrap project to working dir
cp $SCRIPT_ROOT/eng/bootstrap/buildBootstrapPreviouslySB.csproj $workingDir
cp "$SCRIPT_ROOT/eng/bootstrap/buildBootstrapPreviouslySB.csproj" "$workingDir"
# Copy NuGet.config from the installer repo to have the right feeds
cp $SCRIPT_ROOT/src/installer/NuGet.config $workingDir
cp "$SCRIPT_ROOT/src/installer/NuGet.config" "$workingDir"
# Get PackageVersions.props from existing prev-sb archive
echo " Retrieving PackageVersions.props from existing archive"
sourceBuiltArchive=`find $packagesArchiveDir -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz'`
sourceBuiltArchive=$(find "$packagesArchiveDir" -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz')
if [ -f "$sourceBuiltArchive" ]; then
tar -xzf "$sourceBuiltArchive" -C $workingDir PackageVersions.props
tar -xzf "$sourceBuiltArchive" -C "$workingDir" PackageVersions.props
fi
# Run restore on project to initiate download of bootstrap packages
$DOTNET_SDK_PATH/dotnet restore $workingDir/buildBootstrapPreviouslySB.csproj /bl:artifacts/prep/bootstrap.binlog /fileLoggerParameters:LogFile=artifacts/prep/bootstrap.log /p:ArchiveDir="$packagesArchiveDir" /p:BootstrapOverrideVersionsProps="$SCRIPT_ROOT/eng/bootstrap/OverrideBootstrapVersions.props"
"$DOTNET_SDK_PATH/dotnet" restore "$workingDir/buildBootstrapPreviouslySB.csproj" /bl:artifacts/prep/bootstrap.binlog /fileLoggerParameters:LogFile=artifacts/prep/bootstrap.log /p:ArchiveDir="$packagesArchiveDir" /p:BootstrapOverrideVersionsProps="$SCRIPT_ROOT/eng/bootstrap/OverrideBootstrapVersions.props"
# Remove working directory
rm -rf $workingDir
rm -rf "$workingDir"
}
# Check for the version of dotnet to install
if [ "$installDotnet" == "true" ]; then
if [ "$installDotnet" == true ]; then
echo " Installing dotnet..."
(source ./eng/common/tools.sh && InitializeDotNetCli true)
fi
# Read the eng/Versions.props to get the archives to download and download them
if [ "$downloadArtifacts" == "true" ]; then
DownloadArchive "Artifacts" $artifactsBaseFileName "true"
BootstrapArtifacts
if [ "$downloadArtifacts" == true ]; then
DownloadArchive Artifacts true
if [ "$buildBootstrap" == true ]; then
BootstrapArtifacts
fi
fi
if [ "$downloadPrebuilts" == "true" ]; then
DownloadArchive "Prebuilts" $prebuiltsBaseFileName "false"
if [ "$downloadPrebuilts" == true ]; then
DownloadArchive Prebuilts false
fi

View file

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<RepositoryName Condition="'$(RepositoryName)' == ''">$(MSBuildProjectName)</RepositoryName>
<RepositoryName>$(MSBuildProjectName)</RepositoryName>
</PropertyGroup>
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props, $(MSBuildThisFileDirectory)..))" />
@ -29,6 +29,12 @@
<SnapshotPackageVersionPropsPath>$(IntermediatePath)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
<PackageVersionPropsPath>$(IntermediatePath)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
<PackageVersionPropsFlowType>AllPackages</PackageVersionPropsFlowType>
<EngCommonToolsShFile Condition="Exists('$(ProjectDirectory)eng/common/tools.sh')">$(ProjectDirectory)eng/common/tools.sh</EngCommonToolsShFile>
<EngCommonBuildShFile Condition="Exists('$(ProjectDirectory)eng/common/build.sh')">$(ProjectDirectory)eng/common/build.sh</EngCommonBuildShFile>
<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>
</PropertyGroup>
<PropertyGroup Condition="'$(OS)' == 'Windows_NT'">
@ -167,4 +173,9 @@
<MsBuildTraversalSdkOverride Include="Microsoft.Build.Traversal" Group="MSBUILD_TRAVERSAL" Version="2.0.2"/>
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsDir)EmptySdk"/>
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Condition="'$(UseBootstrapArcade)' != 'true'" Include="@(ArcadeSdkOverride)" />
<UseSourceBuiltSdkOverride Condition="'$(UseBootstrapArcade)' == 'true'" Include="@(ArcadeBootstrapSdkOverride)" />
</ItemGroup>
</Project>

View file

@ -17,45 +17,6 @@
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ZipFileExtractToDirectory" />
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
<!--
Central property to define that a repo doesn't implement any of the Repo API. If a repo adds an
implementation of a specific part of the Repo API, replace RepoApiImplemented in the repo's
props file with the properties below. When more API surface area is added, remove the
corresponding lines from the repo's props file. Once the entire API is implemented, the props
file is clean.
-->
<PropertyGroup>
<RepoApiImplemented Condition="'$(RepoApiImplemented)' == ''">true</RepoApiImplemented>
<EngCommonToolsShFile Condition="Exists('$(ProjectDirectory)/eng/common/tools.sh')">$(ProjectDirectory)/eng/common/tools.sh</EngCommonToolsShFile>
<EngCommonBuildShFile Condition="Exists('$(ProjectDirectory)/eng/common/build.sh')">$(ProjectDirectory)/eng/common/build.sh</EngCommonBuildShFile>
</PropertyGroup>
<PropertyGroup>
<DependencyVersionInputRepoApiImplemented Condition="'$(DependencyVersionInputRepoApiImplemented)' == ''">$(RepoApiImplemented)</DependencyVersionInputRepoApiImplemented>
<SourceOverrideRepoApiImplemented Condition="'$(SourceOverrideRepoApiImplemented)' == ''">$(RepoApiImplemented)</SourceOverrideRepoApiImplemented>
<OutputPlacementRepoApiImplemented Condition="'$(OutputPlacementRepoApiImplemented)' == ''">$(RepoApiImplemented)</OutputPlacementRepoApiImplemented>
</PropertyGroup>
<PropertyGroup Condition="'$(SourceOverrideRepoApiImplemented)' != 'true'">
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.config')">$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.Config')">$(ProjectDirectory)NuGet.Config</NuGetConfigFile>
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)src\NuGet.config')">$(ProjectDirectory)src\NuGet.config</NuGetConfigFile>
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)src\NuGet.Config')">$(ProjectDirectory)src\NuGet.Config</NuGetConfigFile>
</PropertyGroup>
<!-- Dependency version input arguments -->
<PropertyGroup Condition="'$(DependencyVersionInputRepoApiImplemented)' == 'true'">
<RepoApiArgs>$(RepoApiArgs) /p:DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)</RepoApiArgs>
</PropertyGroup>
<!-- Source override arguments -->
<PropertyGroup Condition="'$(SourceOverrideRepoApiImplemented)' == 'true'">
<RepoApiArgs>$(RepoApiArgs) /p:DotNetBuildOffline=true</RepoApiArgs>
</PropertyGroup>
<!-- Output placement arguments -->
<PropertyGroup Condition="'$(OutputPlacementRepoApiImplemented)' == 'true'">
<RepoApiArgs>$(RepoApiArgs) /p:DotNetOutputBlobFeedDir=$(SourceBuiltBlobFeedDir)</RepoApiArgs>
</PropertyGroup>
<Target Name="BuildRepoReferences" Condition="'@(RepositoryReference)' != '' and '$(SkipRepoReferences)' != 'true'">
<Message Importance="High" Text="Building dependencies [@(RepositoryReference)] needed by '$(RepositoryName)'." />
<ItemGroup>
@ -97,7 +58,6 @@
NewText="$(NewText)" />
</Target>
<Target Name="UpdateBuildToolFramework"
BeforeTargets="Build"
Condition="'$(EngCommonToolsShFile)' != ''"
@ -207,7 +167,13 @@
<ItemGroup>
<_CurrentSourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
<_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
<!-- TODO: Remove Remove System.Drawing.Common exclusion once previous source-build artifacts have been updated to no longer include it.
System.Drawing.Common is excluded in response to https://github.com/dotnet/runtime/pull/83356 in order to avoid rebuilts and
bootstrap issues as a result. This wouldn't be an in the future once Runtime onboards to the per repo pvp feature
(https://github.com/dotnet/source-build/issues/3043). -->
<_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg"
Exclude="$(PrebuiltSourceBuiltPackagesPath)System.Drawing.Common*.nupkg" />
<_CurrentAdditionalAssetDirs Include="$(SourceBuiltToolsetDir)" Condition="Exists('$(SourceBuiltToolsetDir)')" />
</ItemGroup>
@ -272,11 +238,11 @@
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)Build.complete">
<Exec Command="$(DOTNET_HOST_PATH) build-server shutdown" />
<Exec Command="$(DotnetToolCommand) build-server shutdown" />
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(ProjectBuildReason)" />
<Message Importance="High" Text="Running command:" />
<Message Importance="High" Text=" $(BuildCommand) $(RepoApiArgs)" Condition="'$(BuildCommand)' != ''" />
<Message Importance="High" Text=" $(BuildCommand)" Condition="'$(BuildCommand)' != ''" />
<Message Importance="High" Text=" Using custom build target" Condition="'$(BuildCommand)' == ''" />
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" />
<Message Importance="High" Text=" With Environment Variables:" />
@ -293,8 +259,8 @@
<EnvironmentVariables Condition="'$(NUGET_PACKAGES)'!=''" Include="NUGET_PACKAGES=$(NUGET_PACKAGES)" />
</ItemGroup>
<PropertyGroup>
<FullCommand Condition="'$(LogVerbosityOptOut)' != 'true'">$(BuildCommand) /v:$(LogVerbosity) $(RepoApiArgs) $(RedirectRepoOutputToLog)</FullCommand>
<FullCommand Condition="'$(LogVerbosityOptOut)' == 'true'">$(BuildCommand) $(RepoApiArgs) $(RedirectRepoOutputToLog)</FullCommand>
<FullCommand Condition="'$(LogVerbosityOptOut)' != 'true'">$(BuildCommand) /v:$(LogVerbosity) $(RedirectRepoOutputToLog)</FullCommand>
<FullCommand Condition="'$(LogVerbosityOptOut)' == 'true'">$(BuildCommand) $(RedirectRepoOutputToLog)</FullCommand>
</PropertyGroup>
<Exec Command="$(FullCommand)"
WorkingDirectory="$(ProjectDirectory)"
@ -366,6 +332,12 @@
<!-- Copy lists of NonShipping packages to prebuilt-report dir -->
<Copy SourceFiles="@(NonShippingPackageLists)" DestinationFolder="$(PackageReportDir)packagelists/" />
<!-- 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)"
@ -402,7 +374,7 @@
<Target Name="CopyPackage"
AfterTargets="Package"
Condition="'$(OutputPlacementRepoApiImplemented)' != 'true' AND ('$(PackagesOutput)' != '' OR '@(PackagesOutputList)' != '')"
Condition="'$(PackagesOutput)' != '' OR '@(PackagesOutputList)' != ''"
DependsOnTargets="GatherBuiltPackages"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyPackage.complete">

View file

@ -6,21 +6,12 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<!-- we need to use a prebuilt Arcade to build Arcade -->
<UseBootstrapArcade>true</UseBootstrapArcade>
<IsToolingProject>true</IsToolingProject>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadeCoreFxTestingOverride)" />
<BuiltSdkPackageOverride Include="@(ArcadePackagingOverride)" />

View file

@ -24,22 +24,9 @@
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<RepoApiImplemented>false</RepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<!-- CS0618 - Caused from deprecated IOperation.Children in
Microsoft.CodeAnalysis 4.3.0, but aspnetcore references version 4.2.0.
Requires https://github.com/dotnet/source-build/issues/2482
CA1825 - Avoid unnecessary zero-length array allocations.
Requires aspnet to upgrade roslyn version.
CS8600 - Converting null literal or possible null value to non-nullable type.
Requires https://github.com/dotnet/aspnetcore/issues/45882.
CS8604 - Possible null reference argument for parameter.
Requires https://github.com/dotnet/aspnetcore/issues/45882. -->
<RepoNoWarns>CS0618;CA1825;CS8600;CS8604</RepoNoWarns>
<!-- CA1512 - Use 'ArgumentOutOfRangeException.ThrowIfEqual'
Requires https://github.com/dotnet/aspnetcore/issues/47673 -->
<RepoNoWarns>CA1512</RepoNoWarns>
</PropertyGroup>
<ItemGroup>
@ -63,9 +50,5 @@
<RepositoryReference Include="roslyn-analyzers" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -0,0 +1,14 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -8,19 +8,13 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -3,19 +3,12 @@
<PropertyGroup>
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<RepositoryReference Include="runtime" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -4,15 +4,8 @@
<PropertyGroup>
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -0,0 +1,52 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
</PropertyGroup>
<!-- This project file serves a couple of purpose.
- We conditionally include repos based on what works on different platforms/configurations.
- We need an "empty" build after the last real repo for prebuilt detection to work - this is that file.
- 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" />
<RepositoryReference Include="sourcelink" />
<RepositoryReference Include="arcade" />
<!-- Product Repos -->
<RepositoryReference Include="command-line-api" />
<RepositoryReference Include="diagnostics" />
<RepositoryReference Include="emsdk" />
<RepositoryReference Include="razor" />
<RepositoryReference Include="xliff-tasks" />
<RepositoryReference Include="cecil" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="symreader" />
<RepositoryReference Include="xdt" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="roslyn-analyzers" />
<RepositoryReference Include="aspnetcore" />
<RepositoryReference Include="deployment-tools" />
<RepositoryReference Include="format" />
<RepositoryReference Include="templating" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="test-templates" />
<RepositoryReference Include="fsharp" />
<RepositoryReference Include="sdk" />
<RepositoryReference Include="vstest" />
<RepositoryReference Include="installer" />
<!-- Package source-build artifacts -->
<RepositoryReference Include="package-source-build" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Target Name="RepoBuild" />
</Project>

View file

@ -18,14 +18,8 @@
<BuildCommandArgs>$(BuildCommandArgs) /p:ForceBuildManifestOnly=true</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -4,10 +4,6 @@
<PropertyGroup>
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<!-- CS9057 - Caused by incoherency of analyzer assemblies during pre-release builds. -->
<RepoNoWarns>CS9057</RepoNoWarns>
</PropertyGroup>
@ -18,9 +14,5 @@
<RepositoryReference Include="source-build-externals" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -12,9 +12,6 @@
<BuildCommandArgs>$(BuildCommandArgs) --sourcebuild</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
</PropertyGroup>
@ -25,10 +22,6 @@
<RepositoryReference Include="xliff-tasks" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Target Name="SetArcadeSdkDir"
BeforeTargets="Build">
<ItemGroup>

View file

@ -43,20 +43,10 @@
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<RepoApiImplemented>false</RepoApiImplemented>
<SourceOverrideRepoApiImplemented>true</SourceOverrideRepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<!-- CS9057 - Caused by incoherency of analyzer assemblies during pre-release builds. -->
<RepoNoWarns>CS9057</RepoNoWarns>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="aspnetcore" />

View file

@ -1,37 +0,0 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<RepoApiImplemented>false</RepoApiImplemented>
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
</PropertyGroup>
<!-- This project file includes only repos that are enabled for building and running tests in source-build. -->
<!-- Windows and ARM builds don't support all repos, keep them separate for future conditioning. -->
<Choose>
<When Condition="'$(OS)' == 'Windows_NT'">
<ItemGroup>
<RepositoryReference Include="runtime" />
</ItemGroup>
</When>
<When Condition="$(Platform.Contains('arm'))">
<ItemGroup>
<RepositoryReference Include="runtime" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<!-- List of repos currently enabled. -->
<RepositoryReference Include="runtime" />
</ItemGroup>
</Otherwise>
</Choose>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Target Name="RepoBuild">
</Target>
</Project>

View file

@ -1,79 +0,0 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<RepoApiImplemented>false</RepoApiImplemented>
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
</PropertyGroup>
<!-- This project file serves a couple of purpose.
- We conditionally include repos based on what works on different platforms/configurations.
- We need an "empty" build after the last real repo for prebuilt detection to work - this is that file.
- If we have a repo that is not in core-sdk's dependency tree, we can still build it by including it here. -->
<!-- Windows and ARM builds currently only work through core-setup -->
<Choose>
<When Condition="'$(OS)' == 'Windows_NT'">
<ItemGroup>
<RepositoryReference Include="runtime" />
</ItemGroup>
</When>
<!-- Originally used to capture arm platforms. Now with support, left as an extension point for bringing up new architectures in the future. -->
<When Condition="'true' == 'false'">
<ItemGroup>
<RepositoryReference Include="runtime" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<!-- Toolsets -->
<RepositoryReference Include="source-build-reference-packages" />
<RepositoryReference Include="sourcelink" />
<RepositoryReference Include="arcade" />
<!-- Tier 1 -->
<RepositoryReference Include="command-line-api" />
<RepositoryReference Include="diagnostics" />
<RepositoryReference Include="emsdk" />
<RepositoryReference Include="razor" />
<RepositoryReference Include="xliff-tasks" />
<RepositoryReference Include="runtime" />
<RepositoryReference Include="roslyn" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="symreader" />
<RepositoryReference Include="xdt" />
<!-- Tier 2 -->
<RepositoryReference Include="msbuild" />
<!-- Tier 3 -->
<RepositoryReference Include="roslyn-analyzers" />
<!-- Tier 4 -->
<RepositoryReference Include="aspnetcore" />
<RepositoryReference Include="deployment-tools" />
<RepositoryReference Include="format" />
<RepositoryReference Include="templating" />
<RepositoryReference Include="nuget-client" />
<RepositoryReference Include="test-templates" />
<!-- Tier 5 -->
<RepositoryReference Include="fsharp" />
<RepositoryReference Include="sdk" />
<RepositoryReference Include="vstest" />
<!-- Tier 6 -->
<RepositoryReference Include="installer" />
<!-- Package source-build artifacts -->
<RepositoryReference Include="package-source-build" />
</ItemGroup>
</Otherwise>
</Choose>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Target Name="RepoBuild">
</Target>
</Project>

View file

@ -13,14 +13,6 @@
<BuildCommandArgs>$(BuildCommandArgs) $(OutputVersionArgs)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /p:DotNetCoreSdkDir=$(DotNetCliToolDir)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<SourceOverrideRepoApiImplemented>true</SourceOverrideRepoApiImplemented>
<RepoApiImplemented>false</RepoApiImplemented>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
</PropertyGroup>
<ItemGroup>
@ -43,7 +35,6 @@
-->
<ItemGroup>
<CentralPackageVersionsSdkOverride Include="Microsoft.Build.CentralPackageVersions" Group="CENTRAL_PACKAGE_VERSIONS" />
<UseSourceBuiltSdkOverride Include="@(CentralPackageVersionsSdkOverride)" />
</ItemGroup>
<Target Name="ExtractCentralPackageVersionsSdkPackage"

View file

@ -3,8 +3,6 @@
<PropertyGroup>
<NuGetKeyFilePath>$(KeysDir)NuGet.Client.snk</NuGetKeyFilePath>
<RepoApiImplemented>false</RepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
<RepoNoWarns>CS9057</RepoNoWarns>
</PropertyGroup>
@ -12,6 +10,7 @@
<ItemGroup>
<EnvironmentVariables Include="MS_PFX_PATH=$(NuGetKeyFilePath)" />
<EnvironmentVariables Include="NUGET_PFX_PATH=$(NuGetKeyFilePath)" />
<RepositoryReference Include="source-build-externals" />
<RepositoryReference Include="msbuild" />
<RepositoryReference Include="xdt" />
@ -24,5 +23,4 @@
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -2,7 +2,6 @@
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<RepoApiImplemented>false</RepoApiImplemented>
<ProjectDirectory>$(SubmoduleDirectory)$(RepositoryName)/</ProjectDirectory>
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
<IncludedPackageVersionPropsFile>$(CurrentSourceBuiltPackageVersionPropsPath)</IncludedPackageVersionPropsFile>

View file

@ -4,10 +4,6 @@
<PropertyGroup>
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<!-- NU1507 - https://github.com/dotnet/razor-compiler/issues/242
Occurs when using NuGet central package management without defining any Package Source Mappings. -->
<RepoNoWarns>NU1507</RepoNoWarns>
@ -17,9 +13,5 @@
<RepositoryReference Include="arcade" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -6,10 +6,7 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<RepoApiImplemented>false</RepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>false</DependencyVersionInputRepoApiImplemented>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
@ -22,9 +19,5 @@
<RepositoryReference Include="roslyn" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -16,9 +16,7 @@
<BuildCommand>$(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<RepoApiImplemented>false</RepoApiImplemented>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
</PropertyGroup>
<ItemGroup>
@ -30,7 +28,6 @@
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
<UseSourceBuiltSdkOverride Include="@(WindowsDesktopSdkOverride)" />
</ItemGroup>

View file

@ -27,17 +27,8 @@
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
</PropertyGroup>
<!-- Output / source-build flags -->
<PropertyGroup>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
</PropertyGroup>
<!-- SDK Overrides -->
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeCoreFxTestingOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadePackagingOverride)" />
<UseSourceBuiltSdkOverride Include="@(ArcadeTargetFrameworkOverride)" />
@ -58,6 +49,7 @@
<!-- Repository References -->
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="cecil" />
<RepositoryReference Include="symreader" />
<RepositoryReference Include="source-build-externals" />
</ItemGroup>

View file

@ -14,19 +14,8 @@
<BuildCommandArgs>$(BuildCommandArgs) -v $(LogVerbosity)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
<RepositoryReference Include="xliff-tasks" />

View file

@ -3,14 +3,8 @@
<PropertyGroup>
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -10,17 +10,11 @@
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<!-- SBRP builds before Arcade so it also needs the bootstrap Arcade version -->
<UseBootstrapArcade>true</UseBootstrapArcade>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
</ItemGroup>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<Target Name="AddLocalNuGetPackageCacheDirectory" BeforeTargets="Build">
<MakeDir Condition="'$(LocalNuGetPackageCacheDirectory)' != ''"

View file

@ -4,19 +4,12 @@
<PropertyGroup>
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<!-- SourceLink builds before Arcade so it also needs the bootstrap Arcade version -->
<UseBootstrapArcade>true</UseBootstrapArcade>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
</ItemGroup>
<ItemGroup>
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftSourceLinkVersion" Version="$(SOURCE_LINK_BOOTSTRAP_VERSION)" />
</ItemGroup>

View file

@ -3,15 +3,8 @@
<PropertyGroup>
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -7,10 +7,6 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
</PropertyGroup>
<ItemGroup>
@ -18,9 +14,5 @@
<RepositoryReference Include="source-build-externals" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -6,10 +6,7 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
</PropertyGroup>
<ItemGroup>
@ -17,9 +14,5 @@
<RepositoryReference Include="templating" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -6,9 +6,7 @@
<BuildCommandArgs>$(BuildCommandArgs) /p:SemanticVersioningV1=true</BuildCommandArgs>
<BuildCommand>$(ProjectDirectory)\eng\common\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
<RepoApiImplemented>false</RepoApiImplemented>
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
</PropertyGroup>
<ItemGroup>

View file

@ -6,19 +6,13 @@
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<LogVerbosityOptOut>true</LogVerbosityOptOut>
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<RepositoryReference Include="arcade" />
</ItemGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -5,18 +5,11 @@
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
<RepoApiImplemented>false</RepoApiImplemented>
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
<IsToolingProject>true</IsToolingProject>
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
</PropertyGroup>
<ItemGroup>
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View file

@ -20,6 +20,7 @@ internal class DotNetHelper
public static string ProjectsDirectory { get; } = Path.Combine(Directory.GetCurrentDirectory(), $"projects-{DateTime.Now:yyyyMMddHHmmssffff}");
private ITestOutputHelper OutputHelper { get; }
private bool IsMonoRuntime { get; }
public DotNetHelper(ITestOutputHelper outputHelper)
{
@ -37,6 +38,7 @@ internal class DotNetHelper
Directory.CreateDirectory(Config.DotNetDirectory);
ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"xzf {Config.SdkTarballPath} -C {Config.DotNetDirectory}", outputHelper);
}
IsMonoRuntime = DetermineIsMonoRuntime(Config.DotNetDirectory);
if (!Directory.Exists(ProjectsDirectory))
{
@ -198,10 +200,13 @@ internal class DotNetHelper
public void ExecuteRunWeb(string projectName)
{
// 'dotnet run' exit code differs between CoreCLR and Mono (https://github.com/dotnet/sdk/issues/30095).
int expectedExitCode = IsMonoRuntime ? 143 : 0;
ExecuteCmd(
$"run {GetBinLogOption(projectName, "run")}",
GetProjectDirectory(projectName),
additionalProcessConfigCallback: processConfigCallback,
expectedExitCode,
millisecondTimeout: 30000);
void processConfigCallback(Process process)
@ -230,5 +235,25 @@ internal class DotNetHelper
return $"/bl:{Path.Combine(LogsDirectory, $"{fileName}.binlog")}";
}
private static bool DetermineIsMonoRuntime(string dotnetRoot)
{
string sharedFrameworkRoot = Path.Combine(dotnetRoot, "shared", "Microsoft.NETCore.App");
if (!Directory.Exists(sharedFrameworkRoot))
{
return false;
}
string? version = Directory.GetDirectories(sharedFrameworkRoot).FirstOrDefault();
if (version is null)
{
return false;
}
string sharedFramework = Path.Combine(sharedFrameworkRoot, version);
// Check the presence of one of the mono header files.
return File.Exists(Path.Combine(sharedFramework, "mono-gc.h"));
}
private static string GetProjectDirectory(string projectName) => Path.Combine(ProjectsDirectory, projectName);
}

View file

@ -5,6 +5,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Enumeration;
using System.Linq;
using System.Text.RegularExpressions;
using Xunit.Abstractions;
@ -27,15 +28,15 @@ public class SdkContentTests : SmokeTests
{
const string msftFileListingFileName = "msftSdkFiles.txt";
const string sbFileListingFileName = "sbSdkFiles.txt";
WriteTarballFileList(Config.MsftSdkTarballPath, msftFileListingFileName, isPortable: true);
WriteTarballFileList(Config.SdkTarballPath, sbFileListingFileName, isPortable: false);
WriteTarballFileList(Config.MsftSdkTarballPath, msftFileListingFileName, isPortable: true, "msft");
WriteTarballFileList(Config.SdkTarballPath, sbFileListingFileName, isPortable: false, "sb");
string diff = BaselineHelper.DiffFiles(msftFileListingFileName, sbFileListingFileName, OutputHelper);
diff = RemoveDiffMarkers(diff);
BaselineHelper.CompareContents("MsftToSbSdk.diff", diff, OutputHelper, Config.WarnOnSdkContentDiffs);
}
private void WriteTarballFileList(string? tarballPath, string outputFileName, bool isPortable)
private void WriteTarballFileList(string? tarballPath, string outputFileName, bool isPortable, string sdkType)
{
if (!File.Exists(tarballPath))
{
@ -46,10 +47,32 @@ public class SdkContentTests : SmokeTests
fileListing = BaselineHelper.RemoveRids(fileListing, isPortable);
fileListing = BaselineHelper.RemoveVersions(fileListing);
IEnumerable<string> files = fileListing.Split(Environment.NewLine).OrderBy(path => path);
files = RemoveExclusions(
files,
GetExclusionFilters(
Path.Combine(BaselineHelper.GetAssetsDirectory(), "SdkDiffExclusions.txt"),
sdkType));
File.WriteAllLines(outputFileName, files);
}
private static IEnumerable<string> RemoveExclusions(IEnumerable<string> files, IEnumerable<string> exclusions) =>
files.Where(item => !exclusions.Any(p => FileSystemName.MatchesSimpleExpression(p, item)));
private static IEnumerable<string> GetExclusionFilters(string exclusionsFilePath, string sdkType)
{
int prefixSkip = sdkType.Length + 1;
return File.ReadAllLines(exclusionsFilePath)
.Where(line => line.StartsWith(sdkType + ",")) // process only specific sdk exclusions
.Select(line =>
{
// Ignore comments
var index = line.IndexOf('#');
return index >= 0 ? line[prefixSkip..index].TrimEnd() : line[prefixSkip..];
})
.ToList();
}
private static string RemoveDiffMarkers(string source)
{
Regex indexRegex = new("^index .*", RegexOptions.Multiline);

View file

@ -63,6 +63,6 @@ public class SourceBuiltArtifactsTests : SmokeTests
private void ExtractFileFromTarball(string tarballPath, string filePath, string outputDir)
{
ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"xzf {tarballPath} -C {outputDir} {filePath}", OutputHelper);
ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"--wildcards -xzf {tarballPath} -C {outputDir} {filePath}", OutputHelper);
}
}

View file

@ -0,0 +1,42 @@
# This list is processed using FileSystemName.MatchesSimpleExpression
#
# Format
# {msft|sb},<path> [# comment]
# msft = Microsoft built SDK
# sb = source-built SDK
#
# Examples
# 'folder/*' matches 'folder/' and 'folder/abc'
# 'folder/?*' matches 'folder/abc' but not 'folder/'
#
# We do not want to filter-out folder entries, therefore, we should use: '?*' and not just '*'
msft,./sdk/x.y.z/TestHostNetFramework/?* # Intentional - MSFT build includes test-host that targets netcoreapp3.1
msft,./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/?* # Intentional - source-build includes SDK Publishing package that target latest .NET TFM
msft,./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/?* # Intentional - explicitly excluded from source-build
sb,./sdk/x.y.z/TestHost/?* # Intentional - source-build includes test-host that targets latest .NET TFM
# vstest localization is disabled in Linux builds - https://github.com/microsoft/vstest/issues/4305
msft,./sdk/x.y.z/*?/Microsoft.CodeCoverage.IO.resources.dll
msft,./sdk/x.y.z/*?/Microsoft.TestPlatform.*?.resources.dll
msft,./sdk/x.y.z/*?/Microsoft.VisualStudio.TestPlatform.*?.resources.dll
msft,./sdk/x.y.z/*?/Test.Utility.resources.dll
msft,./sdk/x.y.z/*?/vstest.console.resources.dll
msft,./sdk/x.y.z/Extensions/*?/Microsoft.TestPlatform.*?.resources.dll
msft,./sdk/x.y.z/Extensions/*?/Microsoft.VisualStudio.TestPlatform.*?.resources.dll
# nuget localization is not available for Linux builds - https://github.com/NuGet/Home/issues/12440
msft,./sdk/x.y.z/*?/NuGet.*?.resources.dll
msft,./sdk/x.y.z/*?/Microsoft.Build.NuGetSdkResolver.resources.dll
# ILMerge is not supported in Linux builds - excluding the whole NuGet.Build.Tasks.Pack directory, to avoid a noisy diff
msft,./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/*?
sb,./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/*?
# missing workload manifests - https://github.com/dotnet/source-build/issues/3242
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.android/*
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.ios/*
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.maccatalyst/*
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.macos/*
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.maui/*
msft,./sdk-manifests/x.y.z/microsoft.net.sdk.tvos/*

View file

@ -0,0 +1,68 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Matt Thalman <mthalman@microsoft.com>
Date: Thu, 6 Apr 2023 09:16:13 -0500
Subject: [PATCH] Use net8.0 TFM when building with source-build
Backport: https://github.com/dotnet/command-line-api/pull/2150
---
Directory.Build.props | 6 +++---
.../System.CommandLine.Benchmarks.csproj | 4 ++--
src/System.CommandLine/System.CommandLine.csproj | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 4c1f04a2..0444426a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -11,11 +11,11 @@
<LangVersion>10.0</LangVersion>
</PropertyGroup>
- <PropertyGroup Condition="'$(DisableArcade)' == '1'">
- <TargetFrameworkForNETSDK>net7.0</TargetFrameworkForNETSDK>
+ <PropertyGroup Condition="'$(DotNetBuildFromSource)' == 'true'">
+ <TargetFrameworkForNETSDK>$(NetCurrent)</TargetFrameworkForNETSDK>
</PropertyGroup>
- <PropertyGroup Condition="'$(DisableArcade)' != '1'">
+ <PropertyGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
<TargetFrameworkForNETSDK>net7.0</TargetFrameworkForNETSDK>
</PropertyGroup>
diff --git a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
index b63e109c..3ef1afa1 100644
--- a/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
+++ b/src/System.CommandLine.Benchmarks/System.CommandLine.Benchmarks.csproj
@@ -9,8 +9,8 @@
<UseSharedCompilation>false</UseSharedCompilation>
<!-- Supported target frameworks -->
- <TargetFrameworks Condition="'$(TargetFrameworks)' == '' AND '$(OS)' == 'Windows_NT'">net7.0</TargetFrameworks>
- <TargetFrameworks Condition="'$(TargetFrameworks)' == ''">net7.0</TargetFrameworks>
+ <TargetFrameworks Condition="'$(TargetFrameworks)' == '' AND '$(OS)' == 'Windows_NT'">$(TargetFrameworkForNETSDK)</TargetFrameworks>
+ <TargetFrameworks Condition="'$(TargetFrameworks)' == ''">$(TargetFrameworkForNETSDK)</TargetFrameworks>
<!-- This repo does not produce any libraries, therefore generating docs is disabled -->
<GenerateDocumentationFile>False</GenerateDocumentationFile>
diff --git a/src/System.CommandLine/System.CommandLine.csproj b/src/System.CommandLine/System.CommandLine.csproj
index 05d28476..37115d70 100644
--- a/src/System.CommandLine/System.CommandLine.csproj
+++ b/src/System.CommandLine/System.CommandLine.csproj
@@ -3,7 +3,7 @@
<PropertyGroup>
<IsPackable>true</IsPackable>
<PackageId>System.CommandLine</PackageId>
- <TargetFrameworks>net7.0;netstandard2.0</TargetFrameworks>
+ <TargetFrameworks>$(TargetFrameworkForNETSDK);netstandard2.0</TargetFrameworks>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>10</LangVersion>
@@ -18,7 +18,7 @@
<EnableSingleFileAnalyzer>true</EnableSingleFileAnalyzer>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetFramework)' == 'net7.0'">
+ <PropertyGroup Condition="'$(TargetFramework)' == '$(TargetFrameworkForNETSDK)'">
<IsTrimmable>true</IsTrimmable>
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
</PropertyGroup>

View file

@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Mon, 20 Mar 2023 13:42:30 +0000
Subject: [PATCH] Revert "Trim away netframework targets in source-build
(#312)"
This reverts commit 400fd9a71c568f3c7aa025c6224e082aa819a4c0.
Backport: https://github.com/dotnet/source-build/issues/3336
---
eng/SourceBuild.props | 1 -
1 file changed, 1 deletion(-)
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
index c963035..c4009f3 100644
--- a/eng/SourceBuild.props
+++ b/eng/SourceBuild.props
@@ -3,7 +3,6 @@
<PropertyGroup>
<GitHubRepositoryName>emsdk</GitHubRepositoryName>
<SourceBuildManagedOnly>true</SourceBuildManagedOnly>
- <SourceBuildTrimNetFrameworkTargets>true</SourceBuildTrimNetFrameworkTargets>
</PropertyGroup>
</Project>

View file

@ -1,38 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: davidwengier
Date: Mon, 30 Jan 2023 15:40:22 +0000
Subject: [PATCH] Add some projects to Razor.Slim.slnf
Backport: https://github.com/dotnet/razor/pull/8188
---
Razor.Slim.slnf | 3 +++
.../Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj | 2 ++
2 files changed, 5 insertions(+)
diff --git a/Razor.Slim.slnf b/Razor.Slim.slnf
index 6e76d40f1..8328075c4 100644
--- a/Razor.Slim.slnf
+++ b/Razor.Slim.slnf
@@ -6,6 +6,9 @@
"src\\Compiler\\Microsoft.AspNetCore.Mvc.Razor.Extensions\\src\\Microsoft.AspNetCore.Mvc.Razor.Extensions.csproj",
"src\\Compiler\\Microsoft.AspNetCore.Razor.Language\\src\\Microsoft.AspNetCore.Razor.Language.csproj",
"src\\Compiler\\Microsoft.CodeAnalysis.Razor\\src\\Microsoft.CodeAnalysis.Razor.csproj",
+ "src\\Compiler\\Microsoft.NET.Sdk.Razor.SourceGenerators.Transport\\Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj",
+ "src\\Compiler\\tools\\Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal\\Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj",
+ "src\\Compiler\\tools\\Microsoft.CodeAnalysis.Razor.Tooling.Internal\\Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj",
"src\\Shared\\Microsoft.AspNetCore.Razor.LanguageSupport\\Microsoft.AspNetCore.Razor.LanguageSupport.csproj",
"src\\Razor\\src\\Microsoft.AspNetCore.Razor.Common\\Microsoft.AspNetCore.Razor.Common.csproj",
"src\\Razor\\src\\Microsoft.CodeAnalysis.Razor.Workspaces\\Microsoft.CodeAnalysis.Razor.Workspaces.csproj",
diff --git a/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj b/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
index 278e35a42..745645fc9 100644
--- a/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
+++ b/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
@@ -8,6 +8,8 @@
<NoPackageAnalysis>true</NoPackageAnalysis>
<GenerateDependencyFile>false</GenerateDependencyFile>
<IsPackable>true</IsPackable>
+ <!-- Need to build this project in source build -->
+ <ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
<ItemGroup>

View file

@ -0,0 +1,51 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Matt Thalman <mthalman@microsoft.com>
Date: Mon, 27 Feb 2023 14:02:25 -0600
Subject: [PATCH] Enable packable projects for razor
Backport: https://github.com/dotnet/razor/issues/8332
---
.../Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj | 2 +-
...soft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj | 2 +-
.../Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj b/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
index 547da8632..606af7bf4 100644
--- a/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
+++ b/src/Compiler/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport/Microsoft.NET.Sdk.Razor.SourceGenerators.Transport.csproj
@@ -7,7 +7,7 @@
<SuppressDependenciesWhenPacking>false</SuppressDependenciesWhenPacking>
<NoPackageAnalysis>true</NoPackageAnalysis>
<GenerateDependencyFile>false</GenerateDependencyFile>
- <IsPackable Condition="'$(OS)' == 'Windows_NT'">true</IsPackable>
+ <IsPackable>true</IsPackable>
<!-- Need to build this project in source build -->
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
diff --git a/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj b/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj
index 00e1cedec..cc1f32523 100644
--- a/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj
+++ b/src/Compiler/tools/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal/Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal.csproj
@@ -5,7 +5,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<IsShipping>false</IsShipping>
<IncludeBuildOutput>false</IncludeBuildOutput>
- <IsPackable Condition="'$(OS)' == 'Windows_NT'">true</IsPackable>
+ <IsPackable>true</IsPackable>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
diff --git a/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj b/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj
index 7216edbe7..c1fbd3af4 100644
--- a/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj
+++ b/src/Compiler/tools/Microsoft.CodeAnalysis.Razor.Tooling.Internal/Microsoft.CodeAnalysis.Razor.Tooling.Internal.csproj
@@ -5,7 +5,7 @@
<TargetFramework>netstandard2.0</TargetFramework>
<IsShipping>false</IsShipping>
<IncludeBuildOutput>false</IncludeBuildOutput>
- <IsPackable Condition="'$(OS)' == 'Windows_NT'">true</IsPackable>
+ <IsPackable>true</IsPackable>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>

View file

@ -0,0 +1,38 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Thu, 6 Apr 2023 19:53:04 +0000
Subject: [PATCH] Only pack the shipping/non-shipping nupkgs for roslyn
Avoid packing release, pre-release stable nupkgs, and symbol nupkg.
Backport: https://github.com/dotnet/roslyn/pull/67679
---
eng/SourceBuild.props | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
index d5d41e7167e..a8b55f352ad 100644
--- a/eng/SourceBuild.props
+++ b/eng/SourceBuild.props
@@ -4,8 +4,21 @@
<GitHubRepositoryName>roslyn</GitHubRepositoryName>
<SourceBuildManagedOnly>true</SourceBuildManagedOnly>
<SourceBuildTrimNetFrameworkTargets>true</SourceBuildTrimNetFrameworkTargets>
+ <!-- Roslyn produces stable release branded and stable pre-release branded artifacts in addition to the normal non-stable artifacts.
+ Only the non-stable artifacts should flow downstream in source build -->
+ <EnableDefaultSourceBuildIntermediateItems>false</EnableDefaultSourceBuildIntermediateItems>
</PropertyGroup>
+ <Target Name="GetCustomIntermediateNupkgContents" BeforeTargets="GetCategorizedIntermediateNupkgContents">
+ <ItemGroup>
+ <IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\**\*.nupkg" />
+ <IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)NonShipping\**\*.nupkg" />
+ <!-- Don't pack any symbol packages: not needed for downstream source-build CI.
+ Roslyn's symbol packages come in .Symbols.<version>.nupkg instead of the standard format. -->
+ <IntermediateNupkgArtifactFile Remove="$(CurrentRepoSourceBuildArtifactsPackagesDir)**\*.Symbols.*.nupkg" />
+ </ItemGroup>
+ </Target>
+
<!--
The build script passes in the full path of the sln to build. This must be overridden in order to build
the cloned source in the inner build.

View file

@ -1,24 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nikola Milosavljevic <nikolam@microsoft.com>
Date: Wed, 25 Jan 2023 20:21:17 +0000
Subject: [PATCH] Allow source-build to set UsingToolMicrosoftNetCompilers
property
backport: https://github.com/dotnet/runtime/pull/81180
---
eng/Versions.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index a57587c74a8..15f65bc269b 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -22,7 +22,7 @@
<UsingToolIbcOptimization>false</UsingToolIbcOptimization>
<UsingToolXliff>false</UsingToolXliff>
<LastReleasedStableAssemblyVersion>$(AssemblyVersion)</LastReleasedStableAssemblyVersion>
- <UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
+ <UsingToolMicrosoftNetCompilers Condition="'$(DotNetBuildFromSource)' != 'true'">true</UsingToolMicrosoftNetCompilers>
</PropertyGroup>
<ItemGroup>
<WorkloadSdkBandVersions Include="$(SdkBandVersion)" SupportsMachineArch="true" />

View file

@ -0,0 +1,22 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Matt Thalman <mthalman@microsoft.com>
Date: Mon, 20 Mar 2023 15:35:53 -0500
Subject: [PATCH] Revert switch to self-hosted NativeAOT compiler
Backport: https://github.com/dotnet/runtime/issues/83695
---
src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj b/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
index db48433db73..982bbc78427 100644
--- a/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
+++ b/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
@@ -12,6 +12,7 @@
<PublishDir>$(RuntimeBinDir)ilc-published/</PublishDir>
<NativeAotSupported Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'linux' and '$(TargetOS)' != 'osx'">false</NativeAotSupported>
<NativeAotSupported Condition="'$(TargetArchitecture)' != 'x64'">false</NativeAotSupported>
+ <NativeAotSupported>false</NativeAotSupported>
<PublishAot Condition="'$(NativeAotSupported)' == 'true'">true</PublishAot>
<PublishReadyToRun Condition="'$(NativeAotSupported)' != 'true'">true</PublishReadyToRun>
<PublishSingleFile Condition="'$(NativeAotSupported)' != 'true'">true</PublishSingleFile>

View file

@ -0,0 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Wed, 1 Mar 2023 01:12:26 +0000
Subject: [PATCH] Update BroswerRefresh TFM
Backport: https://github.com/dotnet/sdk/issues/30272
---
.../Microsoft.AspNetCore.Watch.BrowserRefresh.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/BuiltInTools/BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj b/src/BuiltInTools/BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj
index fc35c0ec3d..6e429eb963 100644
--- a/src/BuiltInTools/BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj
+++ b/src/BuiltInTools/BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Intentionally pinned. This feature is supported in projects targeting 6.0 or newer.-->
- <TargetFramework>net6.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
<IsPackable>false</IsPackable>

View file

@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Michael Simons <msimons@microsoft.com>
Date: Tue, 11 Apr 2023 17:03:48 +0000
Subject: [PATCH] Exclude dotnet-sourcelink from source build
This addresses prebuilts.
Backport: https://github.com/dotnet/sourcelink/pull/933
---
src/dotnet-sourcelink/dotnet-sourcelink.csproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/dotnet-sourcelink/dotnet-sourcelink.csproj b/src/dotnet-sourcelink/dotnet-sourcelink.csproj
index f2a6e7a..5c675ef 100644
--- a/src/dotnet-sourcelink/dotnet-sourcelink.csproj
+++ b/src/dotnet-sourcelink/dotnet-sourcelink.csproj
@@ -2,6 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>$(NetCurrent)</TargetFrameworks>
+ <ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<!-- NuGet -->
<IsPackable>true</IsPackable>

View file

@ -139,11 +139,10 @@ ln -s $HOME/.dotnet/dotnet /usr/bin/dotnet
You can also utilize [GitHub Codespaces](https://github.com/features/codespaces) where you can find preset containers in this repository.
### Exporting a source archive
### Building outside of git
In case you'd like to export a more lightweight archive of sources that can be built outside of this git repository, a simple copy of the working tree won't do.
The build is using some git metadata (information from the `.git` directory) that are needed to be kept with the sources.
To export a `tar.gz` archive of the sources, you need to use the `eng/pack-sources.sh` script from within a clone of the VMR checked out at the revision that you're interested in.
.NET uses git metadata so that it can link assemblies to their original source code when debugging (think "Step into.." functionality) and for that it needs information about the original place the code comes from.
When you're building source code only, taken outside of context of a git repository (e.g. you download it from the release page), you will need to specify the source repository to the `prep.sh` script via the `--source-repository` and `--source-version` arguments. This can be your fork of the repository and should match the origin where your SDK was built from.
## List of components

View file

@ -29,8 +29,7 @@ src/aspnetcore/src/*.otf
src/aspnetcore/src/*.ttf
src/aspnetcore/src/*.woff
src/aspnetcore/src/*.woff2
src/aspnetcore/src/Components/Web.JS/dist/Release/blazor.server.js # JavaScript file with a null byte
src/aspnetcore/src/Components/Web.JS/dist/Release/blazor.webview.js # JavaScript file with a null byte
src/aspnetcore/src/Components/Web.JS/dist/Release/blazor.*.js # JavaScript files with a null bytes
src/aspnetcore/src/ProjectTemplates/Web.ProjectTemplates/**/app.db
src/aspnetcore/src/submodules/spa-templates/**/app.db

View file

@ -5,8 +5,12 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using System;
#if !NETFRAMEWORK
using System.Formats.Tar;
#endif
using System.IO;
using System.IO.Compression;
using System.Linq;
namespace Microsoft.DotNet.Build.Tasks
{
@ -33,7 +37,7 @@ namespace Microsoft.DotNet.Build.Tasks
public bool CleanDestination { get; set; }
/// <summary>
/// A list of directories, semicolon deliminated, relative to the root of the archive to include. If empty all directories will be copied.
/// A list of directories, relative to the root of the archive to include. If empty all directories will be copied.
/// </summary>
public ITaskItem[] DirectoriesToCopy { get; set; }
@ -71,22 +75,26 @@ namespace Microsoft.DotNet.Build.Tasks
public override bool Execute()
{
bool retVal = true;
bool isZipArchive = Path.GetExtension(SourceArchive).Equals(".zip", StringComparison.OrdinalIgnoreCase);
bool isTarballArchive = SourceArchive.EndsWith(".tar.gz", StringComparison.OrdinalIgnoreCase);
// Inherits from ToolTask in order to shell out to tar.
// Inherits from ToolTask in order to shell out to tar for complete extraction
// If the file is a .zip, then don't call the base Execute method, just run as a normal task
if (Path.GetExtension(SourceArchive).Equals(".zip", StringComparison.OrdinalIgnoreCase))
// If the file is a .tar.gz, and DirectoriesToCopy isn't empty, also run a normal task.
if (isZipArchive || isTarballArchive)
{
if (ValidateParameters())
{
if (DirectoriesToCopy != null && DirectoriesToCopy.Length != 0)
{
var zip = new ZipArchive(File.OpenRead(SourceArchive));
string loc = DestinationDirectory;
foreach (var entry in zip.Entries)
// Partial archive extraction
if (isZipArchive)
{
foreach (var directory in DirectoriesToCopy)
var zip = new ZipArchive(File.OpenRead(SourceArchive));
string loc = DestinationDirectory;
foreach (var entry in zip.Entries)
{
if (entry.FullName.StartsWith(directory.ItemSpec))
if (ShouldExtractItem(entry.FullName))
{
if (!Directory.Exists(Path.Combine(DestinationDirectory, Path.GetDirectoryName(entry.FullName))))
{
@ -98,16 +106,57 @@ namespace Microsoft.DotNet.Build.Tasks
}
}
}
else
{
#if NETFRAMEWORK
// Run the base tool, which uses external 'tar' command
retVal = base.Execute();
#else
// Decompress GZip content
using FileStream compressedFileStream = File.Open(SourceArchive, FileMode.Open);
using var decompressor = new GZipStream(compressedFileStream, CompressionMode.Decompress);
using var decompressedStream = new MemoryStream();
decompressor.CopyTo(decompressedStream);
decompressedStream.Seek(0, SeekOrigin.Begin);
// Extract Tar content
using TarReader tr = new TarReader(decompressedStream);
while (tr.GetNextEntry() is TarEntry tarEntry)
{
if (tarEntry.EntryType != TarEntryType.Directory)
{
string entryName = tarEntry.Name;
entryName = entryName.StartsWith("./") ? entryName[2..] : entryName;
if (ShouldExtractItem(entryName))
{
Log.LogMessage(entryName);
string destinationPath = Path.Combine(DestinationDirectory, entryName);
Directory.CreateDirectory(Path.GetDirectoryName(destinationPath));
tarEntry.ExtractToFile(destinationPath, overwrite: true);
}
}
}
#endif
}
}
else
{
{
// Complete archive extraction
if (isZipArchive)
{
#if NETFRAMEWORK
// .NET Framework doesn't have overload to overwrite files
ZipFile.ExtractToDirectory(SourceArchive, DestinationDirectory);
// .NET Framework doesn't have overload to overwrite files
ZipFile.ExtractToDirectory(SourceArchive, DestinationDirectory);
#else
ZipFile.ExtractToDirectory(SourceArchive, DestinationDirectory, overwriteFiles: true);
ZipFile.ExtractToDirectory(SourceArchive, DestinationDirectory, overwriteFiles: true);
#endif
}
else
{
// Run the base tool, which uses external 'tar' command
retVal = base.Execute();
}
}
}
else
@ -129,6 +178,17 @@ namespace Microsoft.DotNet.Build.Tasks
return retVal;
}
private bool ShouldExtractItem(string path)
{
if (DirectoriesToCopy != null)
{
return DirectoriesToCopy.Any(p => path.StartsWith(p.ItemSpec));
}
return false;
}
protected override string ToolName
{
get { return "tar"; }

View file

@ -53,7 +53,7 @@ namespace Microsoft.DotNet.Cli.Build
foreach (var file in files)
{
sb.Append(@" file source=""!(bindpath.sources)\Redist\Common\NetCoreSDK\MSBuildExtensions\");
sb.Append(@" file source=""$(PkgVS_Redist_Common_Net_Core_SDK_MSBuildExtensions)\");
sb.Append(Path.Combine(relativeSourcePath, Path.GetFileName(file)));
sb.AppendLine("\"");
}

View file

@ -5,6 +5,7 @@
<CopyBuildOutputToPublishDirectory>false</CopyBuildOutputToPublishDirectory>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
<ResolveAssemblyReferencesSilent>true</ResolveAssemblyReferencesSilent>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>none</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
<ItemGroup>

View file

@ -66,14 +66,6 @@
</Target>
<PropertyGroup>
<VersionFeature21>30</VersionFeature21>
<VersionFeature31>32</VersionFeature31>
<VersionFeature50>17</VersionFeature50>
<VersionFeature60>13</VersionFeature60>
<VersionFeature70>2</VersionFeature70>
</PropertyGroup>
<Target Name="GenerateBundledVersionsProps" DependsOnTargets="SetupBundledComponents">
<PropertyGroup>
<BundledVersionsPropsFileName>Microsoft.NETCoreSdk.BundledVersions.props</BundledVersionsPropsFileName>
@ -359,6 +351,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<NetCoreRoot Condition="'%24(NetCoreRoot)' == ''">%24([MSBuild]::NormalizePath('%24(MSBuildThisFileDirectory)..\..\'))</NetCoreRoot>
<NetCoreTargetingPackRoot Condition="'%24(NetCoreTargetingPackRoot)' == ''">%24([MSBuild]::EnsureTrailingSlash('%24(NetCoreRoot)'))packs</NetCoreTargetingPackRoot>
<MicrosoftNetFrameworkCompilersToolsetPackageVersion>$(MicrosoftNetCompilersToolsetPackageVersion)</MicrosoftNetFrameworkCompilersToolsetPackageVersion>
<NETCoreAppMaximumVersion>$(_NETCoreAppTargetFrameworkVersion)</NETCoreAppMaximumVersion>
<BundledNETCoreAppTargetFrameworkVersion>$(_NETCoreAppTargetFrameworkVersion)</BundledNETCoreAppTargetFrameworkVersion>
<BundledNETCoreAppPackageVersion>$(_NETCoreAppPackageVersion)</BundledNETCoreAppPackageVersion>
@ -412,6 +405,10 @@ Copyright (c) .NET Foundation. All rights reserved.
<KnownILLinkPack Include="Microsoft.NET.ILLink.Tasks"
TargetFramework="net8.0"
ILLinkPackVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
<KnownWebAssemblySdkPack Include="Microsoft.NET.Sdk.WebAssembly.Pack"
TargetFramework="net8.0"
WebAssemblySdkPackVersion="$(MicrosoftNETCoreAppRuntimePackageVersion)" />
<KnownRuntimePack Include="Microsoft.NETCore.App"
TargetFramework="net8.0"

View file

@ -1,5 +1,5 @@
name: dotnet-sdk
version: 6.0.100-preview.2.21155.3
version: 6.0.408
summary: Cross-Platform .NET Core SDK
description: |
.NET Core SDK. https://dot.net/core.
@ -16,21 +16,26 @@ base: core18
parts:
dotnet-sdk:
plugin: dump
source: https://download.visualstudio.microsoft.com/download/pr/25c7e38e-0a6a-4d66-ac4e-b550a44b8a98/49128be84b903799259e7bebe8e9d969/dotnet-sdk-6.0.100-preview.2.21155.3-linux-x64.tar.gz
source-checksum: sha512/90d9b6070f7732dcf75f5a09a4f10f9b23c835a3bb144e0c3f1fa451cadd3d49c9781973b180f70a4d2798358a7c00f3c0b9b3bf35326fe4c94e470e84ac8c35
source: https://download.visualstudio.microsoft.com/download/pr/dd7d2255-c9c1-4c6f-b8ad-6e853d6bb574/c8e1b5f47bf17b317a84487491915178/dotnet-sdk-6.0.408-linux-x64.tar.gz
source-checksum: sha512/d5eed37ce6c07546aa217d6e786f3b67be2b6d97c23d5888d9ee5d5398e8a9bfc06202b14e3529245f7ec78f4036778caf69bdbe099de805fe1f566277e8440e
stage-packages:
- libicu60
- libssl1.0.0
- libcurl3
- libgssapi-krb5-2
- libstdc++6
- zlib1g
- libgcc1
- libtinfo5
- liblttng-ust0
- liburcu6
- libicu60
- libc6
- libgcc1
- libstdc++6
- libssl1.0.0
- libcurl3
- libgssapi-krb5-2
- zlib1g
- lldb
- libunwind8
- libtinfo5
- liblttng-ust0
- liburcu6
runtime-wrapper:
plugin: dump
source: .

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