diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 94f634bc5..b23f9971f 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -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" ] diff --git a/.devcontainer/vmr-source-build/README.md b/.devcontainer/vmr-source-build/README.md index b3a5b337a..84e425bc2 100644 --- a/.devcontainer/vmr-source-build/README.md +++ b/.devcontainer/vmr-source-build/README.md @@ -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 : \ + --remote : +``` + +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. diff --git a/.devcontainer/vmr-source-build/init.sh b/.devcontainer/vmr-source-build/init.sh index d08c2751c..86ebf4065 100755 --- a/.devcontainer/vmr-source-build/init.sh +++ b/.devcontainer/vmr-source-build/init.sh @@ -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) diff --git a/.devcontainer/vmr-source-build/synchronize-vmr.sh b/.devcontainer/vmr-source-build/synchronize-vmr.sh new file mode 100755 index 000000000..274ca22ab --- /dev/null +++ b/.devcontainer/vmr-source-build/synchronize-vmr.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +(cd /workspaces/installer \ + && ./eng/vmr-sync.sh --vmr /workspaces/dotnet --tmp /workspaces/tmp $*) diff --git a/NuGet.config b/NuGet.config index 77050d5f1..0e9b1bf09 100644 --- a/NuGet.config +++ b/NuGet.config @@ -20,8 +20,6 @@ - - diff --git a/README.md b/README.md index 2d620dde0..7890f5897 100644 --- a/README.md +++ b/README.md @@ -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
(8.0.x Runtime) | 8.0.1xx-preview1
(8.0-preview1 Runtime) | Release/7.0.3xx
(7.0.x Runtime) | +| Platform | main
(8.0.x Runtime) | 8.0.1xx-preview3
(8.0-preview3 Runtime) | Release/7.0.3xx
(7.0.x Runtime) | | :--------- | :----------: | :----------: | :----------: | -| **Windows x64** | [![][win-x64-badge-main]][win-x64-version-main]
[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]
[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]
[Installer][win-x64-installer-8.0.1XX-preview1] - [Checksum][win-x64-installer-checksum-8.0.1XX-preview1]
[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]
[Installer][win-x64-installer-7.0.3XX] - [Checksum][win-x64-installer-checksum-7.0.3XX]
[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]
[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]
[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]
[Installer][win-x86-installer-8.0.1XX-preview1] - [Checksum][win-x86-installer-checksum-8.0.1XX-preview1]
[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]
[Installer][win-x86-installer-7.0.3XX] - [Checksum][win-x86-installer-checksum-7.0.3XX]
[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]
[Installer][win-x64-installer-main] - [Checksum][win-x64-installer-checksum-main]
[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]
[Installer][win-x64-installer-8.0.1XX-preview3] - [Checksum][win-x64-installer-checksum-8.0.1XX-preview3]
[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]
[Installer][win-x64-installer-7.0.3XX] - [Checksum][win-x64-installer-checksum-7.0.3XX]
[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]
[Installer][win-x86-installer-main] - [Checksum][win-x86-installer-checksum-main]
[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]
[Installer][win-x86-installer-8.0.1XX-preview3] - [Checksum][win-x86-installer-checksum-8.0.1XX-preview3]
[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]
[Installer][win-x86-installer-7.0.3XX] - [Checksum][win-x86-installer-checksum-7.0.3XX]
[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]
[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]
[zip][win-arm64-zip-main] | [![][win-arm64-badge-8.0.1XX-preview1]][win-arm64-version-8.0.1XX-preview1]
[Installer][win-arm64-installer-8.0.1XX-preview1] - [Checksum][win-arm64-installer-checksum-8.0.1XX-preview1]
[zip][win-arm64-zip-8.0.1XX-preview1] | [![][win-arm64-badge-7.0.3XX]][win-arm64-version-7.0.3XX]
[Installer][win-arm64-installer-7.0.3XX] - [Checksum][win-arm64-installer-checksum-7.0.3XX]
[zip][win-arm64-zip-7.0.3XX] | -| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]
[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]
[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]
[Installer][osx-x64-installer-8.0.1XX-preview1] - [Checksum][osx-x64-installer-checksum-8.0.1XX-preview1]
[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]
[Installer][osx-x64-installer-7.0.3XX] - [Checksum][osx-x64-installer-checksum-7.0.3XX]
[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]
[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]
[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]
[Installer][osx-arm64-installer-8.0.1XX-preview1] - [Checksum][osx-arm64-installer-checksum-8.0.1XX-preview1]
[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]
[Installer][osx-arm64-installer-7.0.3XX] - [Checksum][osx-arm64-installer-checksum-7.0.3XX]
[tar.gz][osx-arm64-targz-7.0.3XX] - [Checksum][osx-arm64-targz-checksum-7.0.3XX] | -| **Linux x64** | [![][linux-badge-main]][linux-version-main]
[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]
[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]
_see installer note below_1
[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-8.0.1XX-preview1]][linux-version-8.0.1XX-preview1]
[DEB Installer][linux-DEB-installer-8.0.1XX-preview1] - [Checksum][linux-DEB-installer-checksum-8.0.1XX-preview1]
[RPM Installer][linux-RPM-installer-8.0.1XX-preview1] - [Checksum][linux-RPM-installer-checksum-8.0.1XX-preview1]
_see installer note below_1
[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]
[DEB Installer][linux-DEB-installer-7.0.3XX] - [Checksum][linux-DEB-installer-checksum-7.0.3XX]
[RPM Installer][linux-RPM-installer-7.0.3XX] - [Checksum][linux-RPM-installer-checksum-7.0.3XX]
_see installer note below_1
[tar.gz][linux-targz-7.0.3XX] - [Checksum][linux-targz-checksum-7.0.3XX] | -| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[Installer][win-arm64-installer-main] - [Checksum][win-arm64-installer-checksum-main]
[zip][win-arm64-zip-main] | [![][win-arm64-badge-8.0.1XX-preview3]][win-arm64-version-8.0.1XX-preview3]
[Installer][win-arm64-installer-8.0.1XX-preview3] - [Checksum][win-arm64-installer-checksum-8.0.1XX-preview3]
[zip][win-arm64-zip-8.0.1XX-preview3] | [![][win-arm64-badge-7.0.3XX]][win-arm64-version-7.0.3XX]
[Installer][win-arm64-installer-7.0.3XX] - [Checksum][win-arm64-installer-checksum-7.0.3XX]
[zip][win-arm64-zip-7.0.3XX] | +| **macOS x64** | [![][osx-x64-badge-main]][osx-x64-version-main]
[Installer][osx-x64-installer-main] - [Checksum][osx-x64-installer-checksum-main]
[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]
[Installer][osx-x64-installer-8.0.1XX-preview3] - [Checksum][osx-x64-installer-checksum-8.0.1XX-preview3]
[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]
[Installer][osx-x64-installer-7.0.3XX] - [Checksum][osx-x64-installer-checksum-7.0.3XX]
[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]
[Installer][osx-arm64-installer-main] - [Checksum][osx-arm64-installer-checksum-main]
[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]
[Installer][osx-arm64-installer-8.0.1XX-preview3] - [Checksum][osx-arm64-installer-checksum-8.0.1XX-preview3]
[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]
[Installer][osx-arm64-installer-7.0.3XX] - [Checksum][osx-arm64-installer-checksum-7.0.3XX]
[tar.gz][osx-arm64-targz-7.0.3XX] - [Checksum][osx-arm64-targz-checksum-7.0.3XX] | +| **Linux x64** | [![][linux-badge-main]][linux-version-main]
[DEB Installer][linux-DEB-installer-main] - [Checksum][linux-DEB-installer-checksum-main]
[RPM Installer][linux-RPM-installer-main] - [Checksum][linux-RPM-installer-checksum-main]
_see installer note below_1
[tar.gz][linux-targz-main] - [Checksum][linux-targz-checksum-main] | [![][linux-badge-8.0.1XX-preview3]][linux-version-8.0.1XX-preview3]
[DEB Installer][linux-DEB-installer-8.0.1XX-preview3] - [Checksum][linux-DEB-installer-checksum-8.0.1XX-preview3]
[RPM Installer][linux-RPM-installer-8.0.1XX-preview3] - [Checksum][linux-RPM-installer-checksum-8.0.1XX-preview3]
_see installer note below_1
[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]
[DEB Installer][linux-DEB-installer-7.0.3XX] - [Checksum][linux-DEB-installer-checksum-7.0.3XX]
[RPM Installer][linux-RPM-installer-7.0.3XX] - [Checksum][linux-RPM-installer-checksum-7.0.3XX]
_see installer note below_1
[tar.gz][linux-targz-7.0.3XX] - [Checksum][linux-targz-checksum-7.0.3XX] | +| **Linux arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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]
[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 diff --git a/eng/Publishing.props b/eng/Publishing.props index 3d0751dd8..f564a94e3 100644 --- a/eng/Publishing.props +++ b/eng/Publishing.props @@ -78,12 +78,12 @@ - - - - - - + + + + + + installer true + true diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c6bff0c50..1f4290422 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,46 +1,46 @@ - + https://github.com/dotnet/windowsdesktop - 35e681744a6fa5a046983ae9de04f24f0e77e112 + e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5 - + https://github.com/dotnet/windowsdesktop - 35e681744a6fa5a046983ae9de04f24f0e77e112 + e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5 - + https://github.com/dotnet/windowsdesktop - 35e681744a6fa5a046983ae9de04f24f0e77e112 + e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5 - + https://github.com/dotnet/windowsdesktop - 35e681744a6fa5a046983ae9de04f24f0e77e112 + e7f7d8614a816eebf1a5447a3b5e1ca77b38f6d5 - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae @@ -48,191 +48,189 @@ https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d - + a419b2204d7eda5637142d03d980ee87a48054fe + - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a419b2204d7eda5637142d03d980ee87a48054fe https://github.com/dotnet/test-templates 0385265f4d0b6413d64aea0223172366a9b9858c - + https://github.com/dotnet/test-templates - bb3695688177f5f80eeb3c0498168612e31549d5 + 45a41b353d078e4d1e5918246fddbacb452eb210 - + https://github.com/dotnet/test-templates - bb3695688177f5f80eeb3c0498168612e31549d5 + 45a41b353d078e4d1e5918246fddbacb452eb210 - + https://github.com/dotnet/test-templates - bb3695688177f5f80eeb3c0498168612e31549d5 + 45a41b353d078e4d1e5918246fddbacb452eb210 - + https://github.com/dotnet/test-templates - bb3695688177f5f80eeb3c0498168612e31549d5 + 45a41b353d078e4d1e5918246fddbacb452eb210 - + https://github.com/dotnet/sdk - 516144c596a27c1834b69cbd3bc26f6ab25e7c66 + f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d - + https://github.com/dotnet/sdk - 516144c596a27c1834b69cbd3bc26f6ab25e7c66 + f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d - + https://github.com/dotnet/sdk - 516144c596a27c1834b69cbd3bc26f6ab25e7c66 + f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d - + https://github.com/dotnet/sdk - 516144c596a27c1834b69cbd3bc26f6ab25e7c66 + f6119d17d5f76f6efbe6e0e074205e0d0fa0d59d - + https://github.com/dotnet/winforms - 29484ddfbbb4c3fa931679a54dece607f94eff7a + d5c99d71d02787c42753807e2271d42a01d5b2ca - + https://github.com/dotnet/wpf - 22d2efb6a031c4dc9ecd51adc20806b7b35057eb + 599cce2fff315dd2c6d712436e890837cdc3ff3e - + https://github.com/dotnet/fsharp - 6e280448367a288c6d28d9c0a446302c4fb90e3f + 5b37dd5fea143baefbef2bd83836188af0815a30 - + https://github.com/dotnet/fsharp - 6e280448367a288c6d28d9c0a446302c4fb90e3f + 5b37dd5fea143baefbef2bd83836188af0815a30 - + https://github.com/microsoft/vstest - ef449ea49d874b6415c0244d775f5e3a2f4e941f + 2d656fe2133f89248825419fb8ffac5505486906 - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 053e17a0daf4be907db34d64fc51bc133c284fae - + https://github.com/dotnet/roslyn - 8da03f9cd0471db81cea9a5d7f7f92d3a746c6de + 542fea0c2a93aacb3e8c52c2ce43e975d29832f3 - + https://github.com/dotnet/msbuild - fc3ab4c5e2a486abb8fc66aede7ec8e3eb91fe08 - + 171676d8179a0032a2890c3d0ad6f9e245ca1f5c + - + https://github.com/nuget/nuget.client - 419ab86c016778ee3aeab40ea6fee879c09c7365 + 0fa557836fa35aee7d60776ef0c88176dbcd22ac https://github.com/Microsoft/ApplicationInsights-dotnet 53b80940842204f78708a538628288ff5d741a1d - + https://github.com/dotnet/emsdk - 3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470 + a464820353b7956538b07c9b53103d793b5e15b6 - - https://github.com/dotnet/emsdk - 3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470 - - - https://github.com/dotnet/emsdk - 3ae16c4a4f58bdeb6621b9a9eec832fb3b56d470 - - + https://github.com/dotnet/deployment-tools - c3ad00ae84489071080a606f6a8e43c9a91a5cc2 - + b60c95e1ce736630d17e16626c59e3dd85ebae2b - + + + https://github.com/dotnet/deployment-tools + b60c95e1ce736630d17e16626c59e3dd85ebae2b + + + https://github.com/dotnet/source-build-externals - 46f5e8e5419df6689022dccf5ed5a7fd153cb601 + 33edde07d61cf7606d76ada765335fb81f1cbb71 - + https://github.com/dotnet/symreader - 7b9791daa3a3477eb22ec805946c9fff8b42d8ca + 0c29b7109c054bdc578e917515ae7e8635b9cb9d - + https://github.com/dotnet/arcade - c453dfef2f41533de5cb03b2115aab9d0dfc74c6 + 17d9eee32f20a6af0ebb620254a22f601d159578 - + https://github.com/dotnet/arcade - c453dfef2f41533de5cb03b2115aab9d0dfc74c6 + 17d9eee32f20a6af0ebb620254a22f601d159578 - + https://github.com/dotnet/arcade - c453dfef2f41533de5cb03b2115aab9d0dfc74c6 + 17d9eee32f20a6af0ebb620254a22f601d159578 - + https://github.com/dotnet/arcade-services - c6f3ec3b751020f757695bcd351b1cbb179e21bd + b2a77aac8c64f46101abc98fdb07a6131fae3625 - + https://github.com/dotnet/arcade-services - c6f3ec3b751020f757695bcd351b1cbb179e21bd + b2a77aac8c64f46101abc98fdb07a6131fae3625 https://github.com/dotnet/runtime af841c8b33cecc92d74222298f1e45bf7bf3d90a - + https://github.com/dotnet/source-build-reference-packages - d8427722f537c3fbdc753dce52af1f104a8048d6 - + 9092071034fa818fef8b8fd6ae9ac32c826ef040 + - + https://github.com/dotnet/sourcelink - 4ad5e57a1489a065674bd4da72b788f073dab638 + 759f344923a0859f3fae83431d0ba1cc62108118 - + https://github.com/dotnet/xliff-tasks - ff7db52c8a66e892216be667271e726a02661cad + 519d565b45c46ac452fe5a77ab63295138992e07 diff --git a/eng/Versions.props b/eng/Versions.props index 71d486bcd..08a27856c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -11,13 +11,20 @@ 00 $(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature) preview - 2 + 4 $(VersionMajor).$(VersionMinor) $(MajorMinorVersion).$(VersionSDKMinor) false release + + 30 + 32 + 17 + 16 + 5 + @@ -26,19 +33,19 @@ - 8.0.0-beta.23103.1 + 8.0.0-beta.23211.8 - 1.1.0-beta.23107.1 + 1.1.0-beta.23128.1 - 8.0.0-preview.2.23080.8 + 8.0.0-preview.4.23177.3 - 8.0.0-preview.2.23105.1 + 8.0.0-preview.4.23178.1 @@ -47,10 +54,10 @@ 1.0.2-beta4.22406.1 1.1.0-rc.22558.1 - 1.1.0-rc.22558.1 - 1.1.0-rc.22558.1 - 1.1.0-rc.22558.1 - 1.1.0-rc.22558.1 + 1.1.0-rc.23213.1 + 1.1.0-rc.23213.1 + 1.1.0-rc.23213.1 + 1.1.0-rc.23213.1 @@ -58,46 +65,50 @@ - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 + 8.0.0-preview.4.23207.6 0.2.0 - 8.0.100-preview.2.23107.8 - 8.0.100-preview.2.23107.8 - 8.0.100-preview.2.23107.8 + 8.0.100-preview.4.23210.3 + 8.0.100-preview.4.23210.3 + 8.0.100-preview.4.23210.3 $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) $(MicrosoftNETSdkPackageVersion) + + + 4.6.0-2.23177.13 + - 8.0.0-preview.2.23107.1 + 8.0.0-preview.4.23210.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 + 8.0.0-preview.4.23210.1 + 8.0.0-preview.4.23210.1 + 8.0.0-preview.4.23210.1 + 8.0.0-preview.4.23210.1 + 8.0.0-preview.4.23210.1 + 8.0.0-preview.4.23210.1 2.1.0 - 8.0.0-preview.2.23106.1 - 8.0.0-preview.2.23106.1 - 8.0.0-preview.2.23106.1 - 8.0.0-preview.2.23106.1 + 8.0.0-preview.4.23178.3 + 8.0.0-preview.4.23178.3 + 8.0.0-preview.4.23178.3 + 8.0.0-preview.4.23178.3 @@ -111,14 +122,34 @@ 5.8.0 + + + + $(MicrosoftNETSdkPackageVersion.Split('.')[2]) + $(MicrosoftNETSdkFeatureAndPatchVersion.Split('-')[0]) + $(MicrosoftNETSdkFeatureAndPatchVersion.Substring(1)) + + true + true + $([MSBuild]::Subtract($(VersionFeature60), 1)) + $([MSBuild]::Subtract($(VersionFeature70), 1)) + $([MSBuild]::Subtract($(AspNetCoreTemplateFeature60), 1)) + $([MSBuild]::Subtract($(AspNetCoreTemplateFeature70), 1)) + 5.0.403 6.0.302 7.0.100 5.0.17 - 6.0.11 - 7.0.0 + 6.0.14 + 7.0.3 5.0.17-servicing.22215.4 5.0.17-servicing.22218.2 6.0.7-servicing.22322.3 @@ -147,14 +178,14 @@ $(NUnit3DotNetNewTemplatePackageVersion) $(MicrosoftDotNetCommonItemTemplates70PackageVersion) $(MicrosoftDotNetCommonItemTemplates70PackageVersion) - 7.0.2 + 7.0.$(AspNetCoreTemplateFeature70) $(MicrosoftWinFormsProjectTemplates60PackageVersion) $(MicrosoftWPFProjectTemplates60PackageVersion) $(NUnit3DotNetNewTemplatePackageVersion) $(MicrosoftDotNetCommonItemTemplates60PackageVersion) $(MicrosoftDotNetCommonItemTemplates60PackageVersion) - 6.0.13 + 6.0.$(AspNetCoreTemplateFeature60) $(MicrosoftWinFormsProjectTemplates50PackageVersion) $(MicrosoftWPFProjectTemplates50PackageVersion) @@ -176,7 +207,7 @@ 1.6.5 2.0.0-preview8.19373.1 $(MicrosoftDotNetCommonItemTemplates30PackageVersion) - 3.0.1 + 3.0.3 1.5.3 1.0.2-beta3 @@ -187,23 +218,21 @@ 2.2.0-beta.19072.10 2.0.0 - 17.6.0-preview-20230202-02 + 17.7.0-preview.23205.10 8.0.0-alpha.1.22557.12 - 8.0.100-preview.1 - 8.0.0-preview.1.7626 - 34.0.0-preview.1.148 - 16.2.227-net8-p1 - 16.2.227-net8-p1 - 13.1.227-net8-p1 - 16.1.1015-net8-p1 + 8.0.100-preview.3 + 8.0.0-preview.3.8149 + 34.0.0-preview.3.224 + 16.2.462-net8-p3 + 16.2.462-net8-p3 + 13.1.462-net8-p3 + 16.1.1250-net8-p3 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 - $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100preview2PackageVersion) + 8.0.0-preview.4.23170.1 + $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportPackageVersion) 8.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-[A-z]*[\.]*\d*`)) diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 1ebf454f3..1deadcc67 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -6,13 +6,15 @@ usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" 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 diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index ccfb9951a..d813dde6d 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -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() diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index bcb579e37..524aaa57f 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -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 } } ) diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1 index fbc67effc..27ccdb9ec 100644 --- a/eng/common/init-tools-native.ps1 +++ b/eng/common/init-tools-native.ps1 @@ -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 diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index f0af425d9..b214a31db 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -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 diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml index 71b66aeb8..b98202aa0 100644 --- a/eng/common/templates/job/source-index-stage1.yml +++ b/eng/common/templates/job/source-index-stage1.yml @@ -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: [] diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 7caacc6de..8ad03be3e 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -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' } } diff --git a/eng/pipelines/source-build-sdk-diff-tests.yml b/eng/pipelines/source-build-sdk-diff-tests.yml new file mode 100644 index 000000000..ab1a4bed2 --- /dev/null +++ b/eng/pipelines/source-build-sdk-diff-tests.yml @@ -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 }} diff --git a/eng/pipelines/templates/jobs/sdk-diff-tests.yml b/eng/pipelines/templates/jobs/sdk-diff-tests.yml new file mode 100644 index 000000000..fd9e6b144 --- /dev/null +++ b/eng/pipelines/templates/jobs/sdk-diff-tests.yml @@ -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) diff --git a/eng/pipelines/templates/jobs/vmr-build.yml b/eng/pipelines/templates/jobs/vmr-build.yml index 8681d2faf..77b477c25 100644 --- a/eng/pipelines/templates/jobs/vmr-build.yml +++ b/eng/pipelines/templates/jobs/vmr-build.yml @@ -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 "" "$packageVersionsPath" || :` + urlPattern="(.*)" + + 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" diff --git a/eng/pipelines/templates/jobs/vmr-synchronization.yml b/eng/pipelines/templates/jobs/vmr-synchronization.yml index 0992b9d08..7849b23e0 100644 --- a/eng/pipelines/templates/jobs/vmr-synchronization.yml +++ b/eng/pipelines/templates/jobs/vmr-synchronization.yml @@ -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') }}: diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index 515ab8dac..a24c03295 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -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 diff --git a/eng/pipelines/templates/steps/vmr-pull-updates.yml b/eng/pipelines/templates/steps/vmr-pull-updates.yml index 7756080bc..5aaf290ae 100644 --- a/eng/pipelines/templates/steps/vmr-pull-updates.yml +++ b/eng/pipelines/templates/steps/vmr-pull-updates.yml @@ -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 diff --git a/eng/pipelines/templates/variables/pipelines.yml b/eng/pipelines/templates/variables/pipelines.yml new file mode 100644 index 000000000..2db47a1be --- /dev/null +++ b/eng/pipelines/templates/variables/pipelines.yml @@ -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 \ No newline at end of file diff --git a/eng/pipelines/vmr-build-internal.yml b/eng/pipelines/vmr-build-internal.yml new file mode 100644 index 000000000..80e854d14 --- /dev/null +++ b/eng/pipelines/vmr-build-internal.yml @@ -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 diff --git a/eng/pipelines/vmr-build.yml b/eng/pipelines/vmr-build.yml index a04202faf..a675aed38 100644 --- a/eng/pipelines/vmr-build.yml +++ b/eng/pipelines/vmr-build.yml @@ -50,3 +50,4 @@ stages: - template: templates/jobs/vmr-synchronization.yml parameters: vmrBranch: ${{ variables.VmrBranch }} + noPush: true diff --git a/eng/vmr-sync.sh b/eng/vmr-sync.sh index e5656fc0e..1bcfd09d4 100755 --- a/eng/vmr-sync.sh +++ b/eng/vmr-sync.sh @@ -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." diff --git a/global.json b/global.json index 7a377f7ca..97875b19a 100644 --- a/global.json +++ b/global.json @@ -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" } } diff --git a/src/SourceBuild/content/.devcontainer/README.md b/src/SourceBuild/content/.devcontainer/README.md new file mode 100644 index 000000000..5b548e497 --- /dev/null +++ b/src/SourceBuild/content/.devcontainer/README.md @@ -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 : \ + --remote : +``` + +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. diff --git a/src/SourceBuild/content/.devcontainer/devcontainer.json b/src/SourceBuild/content/.devcontainer/devcontainer.json index c5bef51ea..6061a0eff 100644 --- a/src/SourceBuild/content/.devcontainer/devcontainer.json +++ b/src/SourceBuild/content/.devcontainer/devcontainer.json @@ -11,6 +11,12 @@ "extensions": [ "ms-dotnettools.csharp" ] + }, + "codespaces": { + "openFiles": [ + ".devcontainer/README.md" + ] } - } + }, + "onCreateCommand": ".devcontainer/init.sh" } \ No newline at end of file diff --git a/src/SourceBuild/content/.devcontainer/init.sh b/src/SourceBuild/content/.devcontainer/init.sh new file mode 100755 index 000000000..9fa9e81f7 --- /dev/null +++ b/src/SourceBuild/content/.devcontainer/init.sh @@ -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" diff --git a/src/SourceBuild/content/.devcontainer/prebuilt-sdk/build.sh b/src/SourceBuild/content/.devcontainer/prebuilt-sdk/build.sh deleted file mode 100755 index 528cb695a..000000000 --- a/src/SourceBuild/content/.devcontainer/prebuilt-sdk/build.sh +++ /dev/null @@ -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 diff --git a/src/SourceBuild/content/.devcontainer/prebuilt-sdk/devcontainer.json b/src/SourceBuild/content/.devcontainer/prebuilt-sdk/devcontainer.json index 6e8a61e06..eaff85ffd 100644 --- a/src/SourceBuild/content/.devcontainer/prebuilt-sdk/devcontainer.json +++ b/src/SourceBuild/content/.devcontainer/prebuilt-sdk/devcontainer.json @@ -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" } \ No newline at end of file diff --git a/src/SourceBuild/content/.devcontainer/prebuilt-sdk/init.sh b/src/SourceBuild/content/.devcontainer/prebuilt-sdk/init.sh new file mode 100644 index 000000000..6ba00c46a --- /dev/null +++ b/src/SourceBuild/content/.devcontainer/prebuilt-sdk/init.sh @@ -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 diff --git a/src/SourceBuild/content/.devcontainer/synchronize-vmr.sh b/src/SourceBuild/content/.devcontainer/synchronize-vmr.sh new file mode 100755 index 000000000..6d676b1c9 --- /dev/null +++ b/src/SourceBuild/content/.devcontainer/synchronize-vmr.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +(cd /workspaces/dotnet/src/installer \ + && ./eng/vmr-sync.sh --vmr /workspaces/dotnet --tmp /workspaces/tmp --no-vmr-prepare $*) diff --git a/src/SourceBuild/content/Directory.Build.props b/src/SourceBuild/content/Directory.Build.props index c770efa5f..cd4080e23 100644 --- a/src/SourceBuild/content/Directory.Build.props +++ b/src/SourceBuild/content/Directory.Build.props @@ -173,12 +173,7 @@ - - known-good - known-good-tests + dotnet + diff --git a/src/SourceBuild/content/build.proj b/src/SourceBuild/content/build.proj index fc07a63b9..2504bca53 100644 --- a/src/SourceBuild/content/build.proj +++ b/src/SourceBuild/content/build.proj @@ -13,13 +13,6 @@ - - - - - - - diff --git a/src/SourceBuild/content/build.sh b/src/SourceBuild/content/build.sh index e61ce1b25..f797bab62 100755 --- a/src/SourceBuild/content/build.sh +++ b/src/SourceBuild/content/build.sh @@ -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="(.*)" 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="(.*)" 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 diff --git a/src/SourceBuild/content/eng/Versions.props b/src/SourceBuild/content/eng/Versions.props index 091df71f6..e5e80ae70 100644 --- a/src/SourceBuild/content/eng/Versions.props +++ b/src/SourceBuild/content/eng/Versions.props @@ -12,19 +12,14 @@ - 0.1.0-8.0.100-5.centos.8-x64 - 0.1.0-8.0.100-3.centos.8-x64 + https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.100-preview.3.23178.7.centos.8-x64.tar.gz + https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Prebuilts.0.1.0-8.0.100-19.centos.8-x64.tar.gz + https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.100-preview.3.23210.1-centos.8-x64.tar.gz diff --git a/src/SourceBuild/content/eng/bootstrap/OverrideBootstrapVersions.props b/src/SourceBuild/content/eng/bootstrap/OverrideBootstrapVersions.props index d0a05029f..2692610eb 100644 --- a/src/SourceBuild/content/eng/bootstrap/OverrideBootstrapVersions.props +++ b/src/SourceBuild/content/eng/bootstrap/OverrideBootstrapVersions.props @@ -2,7 +2,7 @@ - 7.0.0-rtm.22518.5 + 7.0.4-servicing.23107.6 $(NonshippingRuntimeVersionFor700) $(NonshippingRuntimeVersionFor700) diff --git a/src/SourceBuild/content/eng/bootstrap/buildBootstrapPreviouslySB.csproj b/src/SourceBuild/content/eng/bootstrap/buildBootstrapPreviouslySB.csproj index bcfc97c70..92b3d120e 100644 --- a/src/SourceBuild/content/eng/bootstrap/buildBootstrapPreviouslySB.csproj +++ b/src/SourceBuild/content/eng/bootstrap/buildBootstrapPreviouslySB.csproj @@ -12,44 +12,95 @@ $(ArchiveDir)Private.SourceBuilt.Artifacts.Bootstrap.tar.gz + + + false + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + %(LinuxRid.Identity) + + + + + %(LinuxRid.Identity) + + + + + + + %(RuntimePackWithLinuxRid.Identity).%(RuntimePackWithLinuxRid.LinuxRid) + + + + + %(PortablePackageWithLinuxRid.Identity) + + + + + runtime.%(PortablePackageWithLinuxRid.LinuxRid).%(PortablePackageWithLinuxRid.Identity) + + + runtime.%(PortablePackageWithLinuxRid.LinuxRid).runtime.native.%(PortablePackageWithLinuxRid.Identity) + + + + + + + + + + @@ -78,7 +129,7 @@ Properties="SourcePath=$(RestorePackagesPath);DestinationPath=$(UnpackedTarPath);PackageName=%(PackageDownload.Identity);PackageVersion=%(PackageDownload.Version)" /> - + @@ -94,10 +145,12 @@ diff --git a/src/SourceBuild/content/eng/pack-sources.sh b/src/SourceBuild/content/eng/pack-sources.sh deleted file mode 100755 index ecb2c8920..000000000 --- a/src/SourceBuild/content/eng/pack-sources.sh +++ /dev/null @@ -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" diff --git a/src/SourceBuild/content/eng/pipelines/ci.yml b/src/SourceBuild/content/eng/pipelines/ci.yml index ed3dad1a0..55b6a212d 100644 --- a/src/SourceBuild/content/eng/pipelines/ci.yml +++ b/src/SourceBuild/content/eng/pipelines/ci.yml @@ -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 diff --git a/src/SourceBuild/content/eng/tools/generate-graphviz/generate-graphviz.proj b/src/SourceBuild/content/eng/tools/generate-graphviz/generate-graphviz.proj index 98e292173..b49ac62e6 100644 --- a/src/SourceBuild/content/eng/tools/generate-graphviz/generate-graphviz.proj +++ b/src/SourceBuild/content/eng/tools/generate-graphviz/generate-graphviz.proj @@ -5,9 +5,7 @@ + Exclude="$(ProjectDir)repo-projects\dotnet.proj" /> Source Link repository URL, required when building from tarball" + echo " --source-version 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 "" "$packageVersionsPath" || :` - versionPattern="(.*)" + archiveVersionLine=$(grep -m 1 "" "$packageVersionsPath" || :) + versionPattern="(.*)" 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 diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.props b/src/SourceBuild/content/repo-projects/Directory.Build.props index 252aef141..4e1de0d90 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.props +++ b/src/SourceBuild/content/repo-projects/Directory.Build.props @@ -1,7 +1,7 @@ - $(MSBuildProjectName) + $(MSBuildProjectName) @@ -29,6 +29,12 @@ $(IntermediatePath)PackageVersions.$(RepositoryName).Snapshot.props $(IntermediatePath)PackageVersions.$(RepositoryName).props AllPackages + + $(ProjectDirectory)eng/common/tools.sh + $(ProjectDirectory)eng/common/build.sh + $(ProjectDirectory)global.json + $(ProjectDirectory)NuGet.config + $(ProjectDirectory)NuGet.Config @@ -167,4 +173,9 @@ + + + + + diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.targets b/src/SourceBuild/content/repo-projects/Directory.Build.targets index 6bc3d017d..e1a5734ad 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.targets +++ b/src/SourceBuild/content/repo-projects/Directory.Build.targets @@ -17,45 +17,6 @@ - - - true - $(ProjectDirectory)/eng/common/tools.sh - $(ProjectDirectory)/eng/common/build.sh - - - - $(RepoApiImplemented) - $(RepoApiImplemented) - $(RepoApiImplemented) - - - - $(ProjectDirectory)NuGet.config - $(ProjectDirectory)NuGet.Config - $(ProjectDirectory)src\NuGet.config - $(ProjectDirectory)src\NuGet.Config - - - - - $(RepoApiArgs) /p:DotNetPackageVersionPropsPath=$(PackageVersionPropsPath) - - - - $(RepoApiArgs) /p:DotNetBuildOffline=true - - - - $(RepoApiArgs) /p:DotNetOutputBlobFeedDir=$(SourceBuiltBlobFeedDir) - - @@ -97,7 +58,6 @@ NewText="$(NewText)" /> - <_CurrentSourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg" Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" /> - <_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" /> + + + <_PreviouslyBuiltSourceBuiltPackages Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" + Exclude="$(PrebuiltSourceBuiltPackagesPath)System.Drawing.Common*.nupkg" /> <_CurrentAdditionalAssetDirs Include="$(SourceBuiltToolsetDir)" Condition="Exists('$(SourceBuiltToolsetDir)')" /> @@ -272,11 +238,11 @@ Inputs="$(MSBuildProjectFullPath)" Outputs="$(RepoCompletedSemaphorePath)Build.complete"> - + - + @@ -293,8 +259,8 @@ - $(BuildCommand) /v:$(LogVerbosity) $(RepoApiArgs) $(RedirectRepoOutputToLog) - $(BuildCommand) $(RepoApiArgs) $(RedirectRepoOutputToLog) + $(BuildCommand) /v:$(LogVerbosity) $(RedirectRepoOutputToLog) + $(BuildCommand) $(RedirectRepoOutputToLog) + + + diff --git a/src/SourceBuild/content/repo-projects/arcade.proj b/src/SourceBuild/content/repo-projects/arcade.proj index ae90ac3c7..c3c7ea078 100644 --- a/src/SourceBuild/content/repo-projects/arcade.proj +++ b/src/SourceBuild/content/repo-projects/arcade.proj @@ -6,21 +6,12 @@ $(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - - $(ProjectDirectory)NuGet.config - - $(ProjectDirectory)global.json - - true - false - true true - diff --git a/src/SourceBuild/content/repo-projects/aspnetcore.proj b/src/SourceBuild/content/repo-projects/aspnetcore.proj index 2ede39318..17aef7931 100644 --- a/src/SourceBuild/content/repo-projects/aspnetcore.proj +++ b/src/SourceBuild/content/repo-projects/aspnetcore.proj @@ -24,22 +24,9 @@ true - false - true - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - - - CS0618;CA1825;CS8600;CS8604 + + CA1512 @@ -63,9 +50,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/cecil.proj b/src/SourceBuild/content/repo-projects/cecil.proj new file mode 100644 index 000000000..56e27ce57 --- /dev/null +++ b/src/SourceBuild/content/repo-projects/cecil.proj @@ -0,0 +1,14 @@ + + + + + $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) + DependenciesOnly + + + + + + + + diff --git a/src/SourceBuild/content/repo-projects/command-line-api.proj b/src/SourceBuild/content/repo-projects/command-line-api.proj index 2a1fb7d09..7c799ae2a 100644 --- a/src/SourceBuild/content/repo-projects/command-line-api.proj +++ b/src/SourceBuild/content/repo-projects/command-line-api.proj @@ -8,19 +8,13 @@ $(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config true - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/deployment-tools.proj b/src/SourceBuild/content/repo-projects/deployment-tools.proj index 7d1bf5785..f1092f16d 100644 --- a/src/SourceBuild/content/repo-projects/deployment-tools.proj +++ b/src/SourceBuild/content/repo-projects/deployment-tools.proj @@ -3,19 +3,12 @@ $(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs) - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false + DependenciesOnly - - - - \ No newline at end of file diff --git a/src/SourceBuild/content/repo-projects/diagnostics.proj b/src/SourceBuild/content/repo-projects/diagnostics.proj index a46c4d1e7..28145aad0 100644 --- a/src/SourceBuild/content/repo-projects/diagnostics.proj +++ b/src/SourceBuild/content/repo-projects/diagnostics.proj @@ -4,15 +4,8 @@ $(StandardSourceBuildArgs) $(ProjectDirectory)eng\common\build$(ShellExtension) $(BuildCommandArgs) - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/dotnet.proj b/src/SourceBuild/content/repo-projects/dotnet.proj new file mode 100644 index 000000000..0a9a4ecec --- /dev/null +++ b/src/SourceBuild/content/repo-projects/dotnet.proj @@ -0,0 +1,52 @@ + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/SourceBuild/content/repo-projects/emsdk.proj b/src/SourceBuild/content/repo-projects/emsdk.proj index 26716b761..517720efc 100644 --- a/src/SourceBuild/content/repo-projects/emsdk.proj +++ b/src/SourceBuild/content/repo-projects/emsdk.proj @@ -18,14 +18,8 @@ $(BuildCommandArgs) /p:ForceBuildManifestOnly=true $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/format.proj b/src/SourceBuild/content/repo-projects/format.proj index ccec352c7..8e057ccc6 100644 --- a/src/SourceBuild/content/repo-projects/format.proj +++ b/src/SourceBuild/content/repo-projects/format.proj @@ -4,10 +4,6 @@ $(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false - CS9057 @@ -18,9 +14,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/fsharp.proj b/src/SourceBuild/content/repo-projects/fsharp.proj index b1a23d341..25eeb3d9e 100644 --- a/src/SourceBuild/content/repo-projects/fsharp.proj +++ b/src/SourceBuild/content/repo-projects/fsharp.proj @@ -12,9 +12,6 @@ $(BuildCommandArgs) --sourcebuild $(StandardSourceBuildCommand) $(BuildCommandArgs) - false - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config true @@ -25,10 +22,6 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/installer.proj b/src/SourceBuild/content/repo-projects/installer.proj index 6713b700b..b368b83ec 100644 --- a/src/SourceBuild/content/repo-projects/installer.proj +++ b/src/SourceBuild/content/repo-projects/installer.proj @@ -43,20 +43,10 @@ $(StandardSourceBuildCommand) $(BuildCommandArgs) - false - true - true - - $(ProjectDirectory)NuGet.config - CS9057 - - - - diff --git a/src/SourceBuild/content/repo-projects/known-good-tests.proj b/src/SourceBuild/content/repo-projects/known-good-tests.proj deleted file mode 100644 index e8d75dd4b..000000000 --- a/src/SourceBuild/content/repo-projects/known-good-tests.proj +++ /dev/null @@ -1,37 +0,0 @@ - - - - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SourceBuild/content/repo-projects/known-good.proj b/src/SourceBuild/content/repo-projects/known-good.proj deleted file mode 100644 index f01c73302..000000000 --- a/src/SourceBuild/content/repo-projects/known-good.proj +++ /dev/null @@ -1,79 +0,0 @@ - - - - - false - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/SourceBuild/content/repo-projects/msbuild.proj b/src/SourceBuild/content/repo-projects/msbuild.proj index 58f840009..9dc993f2b 100644 --- a/src/SourceBuild/content/repo-projects/msbuild.proj +++ b/src/SourceBuild/content/repo-projects/msbuild.proj @@ -13,14 +13,6 @@ $(BuildCommandArgs) $(OutputVersionArgs) $(BuildCommandArgs) /p:DotNetCoreSdkDir=$(DotNetCliToolDir) $(StandardSourceBuildCommand) $(BuildCommandArgs) - - - $(ProjectDirectory)NuGet.config - - true - false - - $(ProjectDirectory)global.json @@ -43,7 +35,6 @@ --> - $(KeysDir)NuGet.Client.snk - false - true true CS9057 @@ -12,6 +10,7 @@ + @@ -24,5 +23,4 @@ - diff --git a/src/SourceBuild/content/repo-projects/package-source-build.proj b/src/SourceBuild/content/repo-projects/package-source-build.proj index ec607bfe0..ac30ad7a2 100644 --- a/src/SourceBuild/content/repo-projects/package-source-build.proj +++ b/src/SourceBuild/content/repo-projects/package-source-build.proj @@ -2,7 +2,6 @@ - false $(SubmoduleDirectory)$(RepositoryName)/ true $(CurrentSourceBuiltPackageVersionPropsPath) diff --git a/src/SourceBuild/content/repo-projects/razor.proj b/src/SourceBuild/content/repo-projects/razor.proj index a56aa1ea4..89cdd2b8d 100644 --- a/src/SourceBuild/content/repo-projects/razor.proj +++ b/src/SourceBuild/content/repo-projects/razor.proj @@ -4,10 +4,6 @@ $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false - NU1507 @@ -17,9 +13,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/roslyn-analyzers.proj b/src/SourceBuild/content/repo-projects/roslyn-analyzers.proj index 3c980eb65..c9869f517 100644 --- a/src/SourceBuild/content/repo-projects/roslyn-analyzers.proj +++ b/src/SourceBuild/content/repo-projects/roslyn-analyzers.proj @@ -6,10 +6,7 @@ $(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - false - false true - $(ProjectDirectory)global.json DependenciesOnly @@ -22,9 +19,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/roslyn.proj b/src/SourceBuild/content/repo-projects/roslyn.proj index f4e3b8095..078b23836 100644 --- a/src/SourceBuild/content/repo-projects/roslyn.proj +++ b/src/SourceBuild/content/repo-projects/roslyn.proj @@ -16,9 +16,7 @@ $(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs) - false true - $(ProjectDirectory)global.json @@ -30,7 +28,6 @@ - diff --git a/src/SourceBuild/content/repo-projects/runtime.proj b/src/SourceBuild/content/repo-projects/runtime.proj index e42eef565..7638bc189 100644 --- a/src/SourceBuild/content/repo-projects/runtime.proj +++ b/src/SourceBuild/content/repo-projects/runtime.proj @@ -27,17 +27,8 @@ $(StandardSourceBuildCommand) $(BuildCommandArgs) - - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false - true - - - @@ -58,6 +49,7 @@ + diff --git a/src/SourceBuild/content/repo-projects/sdk.proj b/src/SourceBuild/content/repo-projects/sdk.proj index 5872f71fd..050dabf28 100644 --- a/src/SourceBuild/content/repo-projects/sdk.proj +++ b/src/SourceBuild/content/repo-projects/sdk.proj @@ -14,19 +14,8 @@ $(BuildCommandArgs) -v $(LogVerbosity) $(StandardSourceBuildCommand) $(BuildCommandArgs) - - - $(ProjectDirectory)NuGet.config - $(ProjectDirectory)global.json - - true - false - - - - diff --git a/src/SourceBuild/content/repo-projects/source-build-externals.proj b/src/SourceBuild/content/repo-projects/source-build-externals.proj index 07f094829..e4d376bd0 100644 --- a/src/SourceBuild/content/repo-projects/source-build-externals.proj +++ b/src/SourceBuild/content/repo-projects/source-build-externals.proj @@ -3,14 +3,8 @@ $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) - - $(ProjectDirectory)NuGet.config - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/source-build-reference-packages.proj b/src/SourceBuild/content/repo-projects/source-build-reference-packages.proj index c1321e716..8a96a14c8 100644 --- a/src/SourceBuild/content/repo-projects/source-build-reference-packages.proj +++ b/src/SourceBuild/content/repo-projects/source-build-reference-packages.proj @@ -10,17 +10,11 @@ $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ProjectDirectory)NuGet.config - $(ProjectDirectory)global.json - false - true - - - - + DependenciesOnly + $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config true - false true - - - - diff --git a/src/SourceBuild/content/repo-projects/symreader.proj b/src/SourceBuild/content/repo-projects/symreader.proj index 57ab7cd52..e4d376bd0 100644 --- a/src/SourceBuild/content/repo-projects/symreader.proj +++ b/src/SourceBuild/content/repo-projects/symreader.proj @@ -3,15 +3,8 @@ $(StandardSourceBuildCommand) $(StandardSourceBuildArgs) - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/templating.proj b/src/SourceBuild/content/repo-projects/templating.proj index ed0971d42..2f54e0da3 100644 --- a/src/SourceBuild/content/repo-projects/templating.proj +++ b/src/SourceBuild/content/repo-projects/templating.proj @@ -7,10 +7,6 @@ $(BuildCommandArgs) $(FlagParameterPrefix)v $(LogVerbosity) $(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config - false @@ -18,9 +14,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/test-templates.proj b/src/SourceBuild/content/repo-projects/test-templates.proj index cbe50b8c6..61b87a209 100644 --- a/src/SourceBuild/content/repo-projects/test-templates.proj +++ b/src/SourceBuild/content/repo-projects/test-templates.proj @@ -6,10 +6,7 @@ $(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config true - false @@ -17,9 +14,5 @@ - - - - diff --git a/src/SourceBuild/content/repo-projects/vstest.proj b/src/SourceBuild/content/repo-projects/vstest.proj index 67eac4ddd..c0ce08237 100644 --- a/src/SourceBuild/content/repo-projects/vstest.proj +++ b/src/SourceBuild/content/repo-projects/vstest.proj @@ -6,9 +6,7 @@ $(BuildCommandArgs) /p:SemanticVersioningV1=true $(ProjectDirectory)\eng\common\build$(ShellExtension) $(BuildCommandArgs) - false true - $(ProjectDirectory)global.json diff --git a/src/SourceBuild/content/repo-projects/xdt.proj b/src/SourceBuild/content/repo-projects/xdt.proj index 31f889ad1..32c97b194 100644 --- a/src/SourceBuild/content/repo-projects/xdt.proj +++ b/src/SourceBuild/content/repo-projects/xdt.proj @@ -6,19 +6,13 @@ $(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg) $(StandardSourceBuildCommand) $(BuildCommandArgs) - $(ProjectDirectory)global.json - $(ProjectDirectory)NuGet.config true - false + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/repo-projects/xliff-tasks.proj b/src/SourceBuild/content/repo-projects/xliff-tasks.proj index a5881adb4..780ddf54b 100644 --- a/src/SourceBuild/content/repo-projects/xliff-tasks.proj +++ b/src/SourceBuild/content/repo-projects/xliff-tasks.proj @@ -5,18 +5,11 @@ $(StandardSourceBuildArgs) $(StandardSourceBuildCommand) $(BuildCommandArgs) - false - true true true - - $(ProjectDirectory)NuGet.config + DependenciesOnly - - - - diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs index 921ab1f97..80ff2e29e 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/DotNetHelper.cs @@ -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); } diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SdkContentTests.cs b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SdkContentTests.cs index ef462619a..4d02ed3ae 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SdkContentTests.cs +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SdkContentTests.cs @@ -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 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 RemoveExclusions(IEnumerable files, IEnumerable exclusions) => + files.Where(item => !exclusions.Any(p => FileSystemName.MatchesSimpleExpression(p, item))); + + private static IEnumerable 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); diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SourceBuiltArtifactsTests.cs b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SourceBuiltArtifactsTests.cs index 9d2833ada..1650f3ef8 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SourceBuiltArtifactsTests.cs +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/SourceBuiltArtifactsTests.cs @@ -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); } } diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/SdkDiffExclusions.txt b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/SdkDiffExclusions.txt new file mode 100644 index 000000000..f8707c50b --- /dev/null +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/SdkDiffExclusions.txt @@ -0,0 +1,42 @@ +# This list is processed using FileSystemName.MatchesSimpleExpression +# +# Format +# {msft|sb}, [# 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/* diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff index 3276c1cb4..efc564a92 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/MsftToSbSdk.diff @@ -45,111 +45,13 @@ index ------------ ./packs/Microsoft.NETCore.App.Ref/x.y.z/ ./packs/Microsoft.NETCore.App.Ref/x.y.z/analyzers/ @@ ------------ @@ - ./sdk/x.y.z/AppHostTemplate/apphost - ./sdk/x.y.z/cs/ - ./sdk/x.y.z/cs/dotnet.resources.dll --./sdk/x.y.z/cs/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/cs/Microsoft.Build.resources.dll - ./sdk/x.y.z/cs/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/cs/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/cs/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/cs/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/cs/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/cs/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/cs/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/cs/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/cs/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/cs/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/cs/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/cs/MSBuild.resources.dll --./sdk/x.y.z/cs/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/cs/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/cs/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/cs/NuGet.Commands.resources.dll --./sdk/x.y.z/cs/NuGet.Common.resources.dll --./sdk/x.y.z/cs/NuGet.Configuration.resources.dll --./sdk/x.y.z/cs/NuGet.Credentials.resources.dll --./sdk/x.y.z/cs/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/cs/NuGet.Frameworks.resources.dll --./sdk/x.y.z/cs/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/cs/NuGet.Localization.resources.dll --./sdk/x.y.z/cs/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/cs/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/cs/NuGet.Packaging.resources.dll --./sdk/x.y.z/cs/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/cs/NuGet.Protocol.resources.dll --./sdk/x.y.z/cs/NuGet.Resolver.resources.dll --./sdk/x.y.z/cs/NuGet.Versioning.resources.dll --./sdk/x.y.z/cs/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/cs/System.CommandLine.resources.dll --./sdk/x.y.z/cs/Test.Utility.resources.dll --./sdk/x.y.z/cs/vstest.console.resources.dll - ./sdk/x.y.z/Current/ - ./sdk/x.y.z/Current/Microsoft.Common.CrossTargeting.targets/ - ./sdk/x.y.z/Current/Microsoft.Common.CrossTargeting.targets/ImportAfter/ -@@ ------------ @@ - ./sdk/x.y.z/datacollector.deps.json - ./sdk/x.y.z/datacollector.dll - ./sdk/x.y.z/datacollector.dll.config --./sdk/x.y.z/datacollector.exe - ./sdk/x.y.z/datacollector.runtimeconfig.json - ./sdk/x.y.z/de/ - ./sdk/x.y.z/de/dotnet.resources.dll --./sdk/x.y.z/de/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/de/Microsoft.Build.resources.dll - ./sdk/x.y.z/de/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/de/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/de/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/de/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/de/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/de/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/de/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/de/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/de/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/de/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/de/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/de/MSBuild.resources.dll --./sdk/x.y.z/de/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/de/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/de/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/de/NuGet.Commands.resources.dll --./sdk/x.y.z/de/NuGet.Common.resources.dll --./sdk/x.y.z/de/NuGet.Configuration.resources.dll --./sdk/x.y.z/de/NuGet.Credentials.resources.dll --./sdk/x.y.z/de/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/de/NuGet.Frameworks.resources.dll --./sdk/x.y.z/de/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/de/NuGet.Localization.resources.dll --./sdk/x.y.z/de/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/de/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/de/NuGet.Packaging.resources.dll --./sdk/x.y.z/de/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/de/NuGet.Protocol.resources.dll --./sdk/x.y.z/de/NuGet.Resolver.resources.dll --./sdk/x.y.z/de/NuGet.Versioning.resources.dll --./sdk/x.y.z/de/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/de/System.CommandLine.resources.dll --./sdk/x.y.z/de/Test.Utility.resources.dll --./sdk/x.y.z/de/vstest.console.resources.dll - ./sdk/x.y.z/dotnet-watch.deps.json - ./sdk/x.y.z/dotnet-watch.runtimeconfig.json - ./sdk/x.y.z/dotnet.deps.json + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.current/localize/WorkloadManifest.zh-Hant.json + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.current/WorkloadManifest.json + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.current/WorkloadManifest.targets ++./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.current/WorkloadManifest.Wasi.targets + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.net6/ + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.net6/localize/ + ./sdk-manifests/x.y.z/microsoft.net.workload.mono.toolchain.net6/localize/WorkloadManifest.cs.json @@ ------------ @@ ./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.CSharp.Features.dll ./sdk/x.y.z/DotnetTools/dotnet-format/Microsoft.CodeAnalysis.CSharp.Workspaces.dll @@ -167,25 +69,21 @@ index ------------ ./sdk/x.y.z/DotnetTools/dotnet-format/pl/dotnet-format.resources.dll ./sdk/x.y.z/DotnetTools/dotnet-format/pl/Microsoft.CodeAnalysis.CSharp.Features.resources.dll @@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-format/ru/Microsoft.CodeAnalysis.Workspaces.MSBuild.resources.dll ./sdk/x.y.z/DotnetTools/dotnet-format/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll ./sdk/x.y.z/DotnetTools/dotnet-format/ru/System.CommandLine.resources.dll - ./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/ +-./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/ -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/unix/ -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/unix/lib/ -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/unix/lib/netx.y/ -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/unix/lib/netx.y/System.Drawing.Common.dll -+./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/browser/ -+./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/browser/lib/ -+./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/browser/lib/netx.y/ -+./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/browser/lib/netx.y/System.Text.Encodings.Web.dll - ./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/ - ./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/ - ./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/ +-./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/ +-./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/ +-./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/ -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/System.Drawing.Common.dll -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll -./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/System.Windows.Extensions.dll -+./sdk/x.y.z/DotnetTools/dotnet-format/runtimes/win/lib/netx.y/System.Text.Encoding.CodePages.dll +./sdk/x.y.z/DotnetTools/dotnet-format/System.Collections.Immutable.dll ./sdk/x.y.z/DotnetTools/dotnet-format/System.CommandLine.dll ./sdk/x.y.z/DotnetTools/dotnet-format/System.CommandLine.Rendering.dll @@ -196,6 +94,7 @@ index ------------ ./sdk/x.y.z/DotnetTools/dotnet-format/System.Composition.TypedParts.dll -./sdk/x.y.z/DotnetTools/dotnet-format/System.Configuration.ConfigurationManager.dll -./sdk/x.y.z/DotnetTools/dotnet-format/System.Drawing.Common.dll ++./sdk/x.y.z/DotnetTools/dotnet-format/System.Diagnostics.DiagnosticSource.dll ./sdk/x.y.z/DotnetTools/dotnet-format/System.IO.Pipelines.dll -./sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Cryptography.ProtectedData.dll -./sdk/x.y.z/DotnetTools/dotnet-format/System.Security.Permissions.dll @@ -204,13 +103,14 @@ index ------------ +./sdk/x.y.z/DotnetTools/dotnet-format/System.Text.Encoding.CodePages.dll +./sdk/x.y.z/DotnetTools/dotnet-format/System.Text.Encodings.Web.dll +./sdk/x.y.z/DotnetTools/dotnet-format/System.Text.Json.dll ++./sdk/x.y.z/DotnetTools/dotnet-format/System.Threading.Channels.dll ./sdk/x.y.z/DotnetTools/dotnet-format/tr/ ./sdk/x.y.z/DotnetTools/dotnet-format/tr/dotnet-format.resources.dll ./sdk/x.y.z/DotnetTools/dotnet-format/tr/Microsoft.CodeAnalysis.CSharp.Features.resources.dll @@ ------------ @@ + ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.AnalyzerUtilities.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.CSharp.Features.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.CSharp.Workspaces.dll - ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.dll -./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Elfie.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Features.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/Microsoft.CodeAnalysis.Scripting.dll @@ -248,70 +148,16 @@ index ------------ -./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Cryptography.ProtectedData.dll -./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Security.Permissions.dll -./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.Windows.Extensions.dll ++./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/System.IO.Pipelines.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/tr/ ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/tr/dotnet-watch.resources.dll ./sdk/x.y.z/DotnetTools/dotnet-watch/x.y.z/tools/netx.y/any/tr/Microsoft.CodeAnalysis.CSharp.Features.resources.dll @@ ------------ @@ - ./sdk/x.y.z/DotNetWatch.targets - ./sdk/x.y.z/es/ - ./sdk/x.y.z/es/dotnet.resources.dll --./sdk/x.y.z/es/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/es/Microsoft.Build.resources.dll - ./sdk/x.y.z/es/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/es/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/es/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/es/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/es/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/es/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/es/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/es/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/es/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/es/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/es/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll ./sdk/x.y.z/es/MSBuild.resources.dll --./sdk/x.y.z/es/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/es/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/es/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/es/NuGet.Commands.resources.dll --./sdk/x.y.z/es/NuGet.Common.resources.dll --./sdk/x.y.z/es/NuGet.Configuration.resources.dll --./sdk/x.y.z/es/NuGet.Credentials.resources.dll --./sdk/x.y.z/es/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/es/NuGet.Frameworks.resources.dll --./sdk/x.y.z/es/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/es/NuGet.Localization.resources.dll --./sdk/x.y.z/es/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/es/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/es/NuGet.Packaging.resources.dll --./sdk/x.y.z/es/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/es/NuGet.Protocol.resources.dll --./sdk/x.y.z/es/NuGet.Resolver.resources.dll --./sdk/x.y.z/es/NuGet.Versioning.resources.dll --./sdk/x.y.z/es/NuGet.VisualStudio.Contracts.resources.dll ./sdk/x.y.z/es/System.CommandLine.resources.dll --./sdk/x.y.z/es/Test.Utility.resources.dll --./sdk/x.y.z/es/vstest.console.resources.dll ./sdk/x.y.z/Extensions/ -./sdk/x.y.z/Extensions/cs/ --./sdk/x.y.z/Extensions/cs/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/cs/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/cs/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/cs/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/cs/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/de/ --./sdk/x.y.z/Extensions/de/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/de/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/de/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/de/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/de/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/dump/ -./sdk/x.y.z/Extensions/dump/DumpMinitool.arm64.exe -./sdk/x.y.z/Extensions/dump/DumpMinitool.arm64.exe.config @@ -320,35 +166,10 @@ index ------------ -./sdk/x.y.z/Extensions/dump/DumpMinitool.x86.exe -./sdk/x.y.z/Extensions/dump/DumpMinitool.x86.exe.config -./sdk/x.y.z/Extensions/es/ --./sdk/x.y.z/Extensions/es/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/es/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/es/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/es/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/es/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/fr/ --./sdk/x.y.z/Extensions/fr/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/fr/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/fr/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/fr/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/fr/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/it/ --./sdk/x.y.z/Extensions/it/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/it/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/it/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/it/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/it/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/ja/ --./sdk/x.y.z/Extensions/ja/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/ja/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/ja/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/ja/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/ja/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/ko/ --./sdk/x.y.z/Extensions/ko/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/ko/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/ko/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/ko/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/ko/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/Microsoft.Diagnostics.NETCore.Client.dll ./sdk/x.y.z/Extensions/Microsoft.TestPlatform.Extensions.BlameDataCollector.dll ./sdk/x.y.z/Extensions/Microsoft.TestPlatform.Extensions.EventLogCollector.dll @@ -356,90 +177,14 @@ index ------------ ./sdk/x.y.z/Extensions/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.dll ./sdk/x.y.z/Extensions/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.dll -./sdk/x.y.z/Extensions/pl/ --./sdk/x.y.z/Extensions/pl/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/pl/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/pl/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/pl/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/pl/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/pt-BR/ --./sdk/x.y.z/Extensions/pt-BR/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/pt-BR/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/pt-BR/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/pt-BR/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/pt-BR/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/ru/ --./sdk/x.y.z/Extensions/ru/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/ru/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/ru/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/ru/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/ru/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/tr/ --./sdk/x.y.z/Extensions/tr/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/tr/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/tr/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/tr/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/tr/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/zh-Hans/ --./sdk/x.y.z/Extensions/zh-Hans/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/zh-Hans/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/zh-Hans/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/zh-Hans/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/zh-Hans/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll -./sdk/x.y.z/Extensions/zh-Hant/ --./sdk/x.y.z/Extensions/zh-Hant/Microsoft.TestPlatform.Extensions.BlameDataCollector.resources.dll --./sdk/x.y.z/Extensions/zh-Hant/Microsoft.TestPlatform.Extensions.EventLogCollector.resources.dll --./sdk/x.y.z/Extensions/zh-Hant/Microsoft.TestPlatform.TestHostRuntimeProvider.resources.dll --./sdk/x.y.z/Extensions/zh-Hant/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.resources.dll --./sdk/x.y.z/Extensions/zh-Hant/Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger.resources.dll ./sdk/x.y.z/fr/ ./sdk/x.y.z/fr/dotnet.resources.dll --./sdk/x.y.z/fr/Microsoft.Build.NuGetSdkResolver.resources.dll ./sdk/x.y.z/fr/Microsoft.Build.resources.dll - ./sdk/x.y.z/fr/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/fr/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/fr/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/fr/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/fr/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/fr/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/fr/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/fr/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/fr/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/fr/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/fr/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/fr/MSBuild.resources.dll --./sdk/x.y.z/fr/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/fr/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/fr/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/fr/NuGet.Commands.resources.dll --./sdk/x.y.z/fr/NuGet.Common.resources.dll --./sdk/x.y.z/fr/NuGet.Configuration.resources.dll --./sdk/x.y.z/fr/NuGet.Credentials.resources.dll --./sdk/x.y.z/fr/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/fr/NuGet.Frameworks.resources.dll --./sdk/x.y.z/fr/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/fr/NuGet.Localization.resources.dll --./sdk/x.y.z/fr/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/fr/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/fr/NuGet.Packaging.resources.dll --./sdk/x.y.z/fr/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/fr/NuGet.Protocol.resources.dll --./sdk/x.y.z/fr/NuGet.Resolver.resources.dll --./sdk/x.y.z/fr/NuGet.Versioning.resources.dll --./sdk/x.y.z/fr/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/fr/System.CommandLine.resources.dll --./sdk/x.y.z/fr/Test.Utility.resources.dll --./sdk/x.y.z/fr/vstest.console.resources.dll - ./sdk/x.y.z/FSharp/ - ./sdk/x.y.z/FSharp/cs/ - ./sdk/x.y.z/FSharp/cs/FSharp.Build.resources.dll @@ ------------ @@ ./sdk/x.y.z/FSharp/ru/FSharp.Core.resources.dll ./sdk/x.y.z/FSharp/ru/FSharp.DependencyManager.Nuget.resources.dll @@ -452,11 +197,11 @@ index ------------ ./sdk/x.y.z/FSharp/runtimes/win/lib/ ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/ ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll +-./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Drawing.Common.dll +./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll +./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll - ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Drawing.Common.dll ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll - ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll +-./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Security.Cryptography.ProtectedData.dll ./sdk/x.y.z/FSharp/runtimes/win/lib/netx.y/System.Windows.Extensions.dll ./sdk/x.y.z/FSharp/System.CodeDom.dll ./sdk/x.y.z/FSharp/System.Configuration.ConfigurationManager.dll @@ -465,149 +210,12 @@ index ------------ ./sdk/x.y.z/FSharp/System.Resources.Extensions.dll ./sdk/x.y.z/FSharp/System.Security.Cryptography.Pkcs.dll @@ ------------ @@ - ./sdk/x.y.z/IncludedWorkloadManifests.txt - ./sdk/x.y.z/it/ - ./sdk/x.y.z/it/dotnet.resources.dll --./sdk/x.y.z/it/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/it/Microsoft.Build.resources.dll - ./sdk/x.y.z/it/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/it/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/it/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/it/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/it/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/it/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/it/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/it/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/it/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/it/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/it/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/it/MSBuild.resources.dll --./sdk/x.y.z/it/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/it/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/it/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/it/NuGet.Commands.resources.dll --./sdk/x.y.z/it/NuGet.Common.resources.dll --./sdk/x.y.z/it/NuGet.Configuration.resources.dll --./sdk/x.y.z/it/NuGet.Credentials.resources.dll --./sdk/x.y.z/it/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/it/NuGet.Frameworks.resources.dll --./sdk/x.y.z/it/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/it/NuGet.Localization.resources.dll --./sdk/x.y.z/it/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/it/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/it/NuGet.Packaging.resources.dll --./sdk/x.y.z/it/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/it/NuGet.Protocol.resources.dll --./sdk/x.y.z/it/NuGet.Resolver.resources.dll --./sdk/x.y.z/it/NuGet.Versioning.resources.dll --./sdk/x.y.z/it/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/it/System.CommandLine.resources.dll --./sdk/x.y.z/it/Test.Utility.resources.dll --./sdk/x.y.z/it/vstest.console.resources.dll - ./sdk/x.y.z/ja/ - ./sdk/x.y.z/ja/dotnet.resources.dll --./sdk/x.y.z/ja/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/ja/Microsoft.Build.resources.dll - ./sdk/x.y.z/ja/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/ja/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/ja/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/ja/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/ja/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/ja/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/ja/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/ja/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/ja/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/ja/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/ja/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/ja/MSBuild.resources.dll --./sdk/x.y.z/ja/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/ja/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/ja/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/ja/NuGet.Commands.resources.dll --./sdk/x.y.z/ja/NuGet.Common.resources.dll --./sdk/x.y.z/ja/NuGet.Configuration.resources.dll --./sdk/x.y.z/ja/NuGet.Credentials.resources.dll --./sdk/x.y.z/ja/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/ja/NuGet.Frameworks.resources.dll --./sdk/x.y.z/ja/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/ja/NuGet.Localization.resources.dll --./sdk/x.y.z/ja/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/ja/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/ja/NuGet.Packaging.resources.dll --./sdk/x.y.z/ja/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/ja/NuGet.Protocol.resources.dll --./sdk/x.y.z/ja/NuGet.Resolver.resources.dll --./sdk/x.y.z/ja/NuGet.Versioning.resources.dll --./sdk/x.y.z/ja/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/ja/System.CommandLine.resources.dll --./sdk/x.y.z/ja/Test.Utility.resources.dll --./sdk/x.y.z/ja/vstest.console.resources.dll - ./sdk/x.y.z/ko/ - ./sdk/x.y.z/ko/dotnet.resources.dll --./sdk/x.y.z/ko/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/ko/Microsoft.Build.resources.dll - ./sdk/x.y.z/ko/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/ko/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/ko/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/ko/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/ko/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/ko/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/ko/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/ko/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/ko/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/ko/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/ko/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/ko/MSBuild.resources.dll --./sdk/x.y.z/ko/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/ko/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/ko/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/ko/NuGet.Commands.resources.dll --./sdk/x.y.z/ko/NuGet.Common.resources.dll --./sdk/x.y.z/ko/NuGet.Configuration.resources.dll --./sdk/x.y.z/ko/NuGet.Credentials.resources.dll --./sdk/x.y.z/ko/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/ko/NuGet.Frameworks.resources.dll --./sdk/x.y.z/ko/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/ko/NuGet.Localization.resources.dll --./sdk/x.y.z/ko/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/ko/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/ko/NuGet.Packaging.resources.dll --./sdk/x.y.z/ko/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/ko/NuGet.Protocol.resources.dll --./sdk/x.y.z/ko/NuGet.Resolver.resources.dll --./sdk/x.y.z/ko/NuGet.Versioning.resources.dll --./sdk/x.y.z/ko/NuGet.VisualStudio.Contracts.resources.dll ./sdk/x.y.z/ko/System.CommandLine.resources.dll --./sdk/x.y.z/ko/Test.Utility.resources.dll --./sdk/x.y.z/ko/vstest.console.resources.dll ./sdk/x.y.z/Microsoft.ApplicationInsights.dll ./sdk/x.y.z/Microsoft.AspNetCore.DeveloperCertificates.XPlat.dll ++./sdk/x.y.z/Microsoft.Bcl.AsyncInterfaces.dll ./sdk/x.y.z/Microsoft.Build.dll -@@ ------------ @@ + ./sdk/x.y.z/Microsoft.Build.Framework.dll ./sdk/x.y.z/Microsoft.Build.NuGetSdkResolver.dll ./sdk/x.y.z/Microsoft.Build.Tasks.Core.dll ./sdk/x.y.z/Microsoft.Build.Utilities.Core.dll @@ -622,10 +230,10 @@ index ------------ +./sdk/x.y.z/Microsoft.TestPlatform.TestHostRuntimeProvider.dll ./sdk/x.y.z/Microsoft.TestPlatform.Utilities.dll ./sdk/x.y.z/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.dll --./sdk/x.y.z/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.xml ./sdk/x.y.z/Microsoft.VisualBasic.CrossTargeting.targets ./sdk/x.y.z/Microsoft.VisualBasic.CurrentVersion.targets ./sdk/x.y.z/Microsoft.VisualBasic.targets +-./sdk/x.y.z/Microsoft.VisualStudio.Setup.Configuration.Interop.dll ./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.Client.dll ./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.Common.dll +./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.Extensions.Html.TestLogger.dll @@ -633,247 +241,56 @@ index ------------ ./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.ObjectModel.deps.json ./sdk/x.y.z/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll ./sdk/x.y.z/Microsoft.VisualStudioVersion.v11.Common.props -@@ ------------ @@ - ./sdk/x.y.z/package.deps.json - ./sdk/x.y.z/pl/ - ./sdk/x.y.z/pl/dotnet.resources.dll --./sdk/x.y.z/pl/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/pl/Microsoft.Build.resources.dll - ./sdk/x.y.z/pl/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/pl/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/pl/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/pl/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/pl/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/pl/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/pl/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/pl/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/pl/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/pl/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/pl/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/pl/MSBuild.resources.dll --./sdk/x.y.z/pl/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/pl/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/pl/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/pl/NuGet.Commands.resources.dll --./sdk/x.y.z/pl/NuGet.Common.resources.dll --./sdk/x.y.z/pl/NuGet.Configuration.resources.dll --./sdk/x.y.z/pl/NuGet.Credentials.resources.dll --./sdk/x.y.z/pl/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/pl/NuGet.Frameworks.resources.dll --./sdk/x.y.z/pl/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/pl/NuGet.Localization.resources.dll --./sdk/x.y.z/pl/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/pl/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/pl/NuGet.Packaging.resources.dll --./sdk/x.y.z/pl/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/pl/NuGet.Protocol.resources.dll --./sdk/x.y.z/pl/NuGet.Resolver.resources.dll --./sdk/x.y.z/pl/NuGet.Versioning.resources.dll --./sdk/x.y.z/pl/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/pl/System.CommandLine.resources.dll --./sdk/x.y.z/pl/Test.Utility.resources.dll --./sdk/x.y.z/pl/vstest.console.resources.dll - ./sdk/x.y.z/pt-BR/ - ./sdk/x.y.z/pt-BR/dotnet.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.Build.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/pt-BR/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/pt-BR/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/pt-BR/MSBuild.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/pt-BR/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Commands.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Common.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Configuration.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Credentials.resources.dll --./sdk/x.y.z/pt-BR/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Frameworks.resources.dll --./sdk/x.y.z/pt-BR/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Localization.resources.dll --./sdk/x.y.z/pt-BR/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Packaging.resources.dll --./sdk/x.y.z/pt-BR/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Protocol.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Resolver.resources.dll --./sdk/x.y.z/pt-BR/NuGet.Versioning.resources.dll --./sdk/x.y.z/pt-BR/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/pt-BR/System.CommandLine.resources.dll --./sdk/x.y.z/pt-BR/Test.Utility.resources.dll --./sdk/x.y.z/pt-BR/vstest.console.resources.dll - ./sdk/x.y.z/ref/ - ./sdk/x.y.z/ref/Microsoft.Build.Framework.dll - ./sdk/x.y.z/ref/Microsoft.Build.Utilities.Core.dll @@ ------------ @@ ./sdk/x.y.z/Roslyn/bincore/ru/Microsoft.CodeAnalysis.CSharp.resources.dll ./sdk/x.y.z/Roslyn/bincore/ru/Microsoft.CodeAnalysis.resources.dll ./sdk/x.y.z/Roslyn/bincore/ru/Microsoft.CodeAnalysis.VisualBasic.resources.dll -+./sdk/x.y.z/Roslyn/bincore/runtimes/ -+./sdk/x.y.z/Roslyn/bincore/runtimes/win/ -+./sdk/x.y.z/Roslyn/bincore/runtimes/win/lib/ -+./sdk/x.y.z/Roslyn/bincore/runtimes/win/lib/netx.y/ -+./sdk/x.y.z/Roslyn/bincore/runtimes/win/lib/netx.y/System.Text.Encoding.CodePages.dll +./sdk/x.y.z/Roslyn/bincore/System.Collections.Immutable.dll -+./sdk/x.y.z/Roslyn/bincore/System.Reflection.Metadata.dll + ./sdk/x.y.z/Roslyn/bincore/System.Reflection.Metadata.dll +./sdk/x.y.z/Roslyn/bincore/System.Text.Encoding.CodePages.dll ./sdk/x.y.z/Roslyn/bincore/tr/ ./sdk/x.y.z/Roslyn/bincore/tr/Microsoft.CodeAnalysis.CSharp.resources.dll ./sdk/x.y.z/Roslyn/bincore/tr/Microsoft.CodeAnalysis.resources.dll @@ ------------ @@ - ./sdk/x.y.z/Roslyn/zh-Hant/Microsoft.Build.Tasks.CodeAnalysis.resources.dll - ./sdk/x.y.z/ru/ - ./sdk/x.y.z/ru/dotnet.resources.dll --./sdk/x.y.z/ru/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/ru/Microsoft.Build.resources.dll - ./sdk/x.y.z/ru/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/ru/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/ru/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/ru/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/ru/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/ru/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/ru/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/ru/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/ru/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/ru/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/ru/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/ru/MSBuild.resources.dll --./sdk/x.y.z/ru/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/ru/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/ru/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/ru/NuGet.Commands.resources.dll --./sdk/x.y.z/ru/NuGet.Common.resources.dll --./sdk/x.y.z/ru/NuGet.Configuration.resources.dll --./sdk/x.y.z/ru/NuGet.Credentials.resources.dll --./sdk/x.y.z/ru/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/ru/NuGet.Frameworks.resources.dll --./sdk/x.y.z/ru/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/ru/NuGet.Localization.resources.dll --./sdk/x.y.z/ru/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/ru/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/ru/NuGet.Packaging.resources.dll --./sdk/x.y.z/ru/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/ru/NuGet.Protocol.resources.dll --./sdk/x.y.z/ru/NuGet.Resolver.resources.dll --./sdk/x.y.z/ru/NuGet.Versioning.resources.dll --./sdk/x.y.z/ru/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/ru/System.CommandLine.resources.dll --./sdk/x.y.z/ru/Test.Utility.resources.dll --./sdk/x.y.z/ru/vstest.console.resources.dll - ./sdk/x.y.z/RuntimeIdentifierGraph.json - ./sdk/x.y.z/runtimes/ - ./sdk/x.y.z/runtimes/any/ -@@ ------------ @@ - ./sdk/x.y.z/runtimes/any/native/NuGet.props - ./sdk/x.y.z/runtimes/any/native/NuGet.RestoreEx.targets - ./sdk/x.y.z/runtimes/any/native/NuGet.targets --./sdk/x.y.z/runtimes/unix/ --./sdk/x.y.z/runtimes/unix/lib/ --./sdk/x.y.z/runtimes/unix/lib/netx.y/ --./sdk/x.y.z/runtimes/unix/lib/netx.y/System.Drawing.Common.dll -+./sdk/x.y.z/runtimes/browser/ -+./sdk/x.y.z/runtimes/browser/lib/ -+./sdk/x.y.z/runtimes/browser/lib/netx.y/ -+./sdk/x.y.z/runtimes/browser/lib/netx.y/System.Text.Encodings.Web.dll - ./sdk/x.y.z/runtimes/win/ - ./sdk/x.y.z/runtimes/win/lib/ - ./sdk/x.y.z/runtimes/win/lib/netx.y/ --./sdk/x.y.z/runtimes/win/lib/netx.y/ ./sdk/x.y.z/runtimes/win/lib/netx.y/Microsoft.Win32.SystemEvents.dll ./sdk/x.y.z/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.dll ./sdk/x.y.z/runtimes/win/lib/netx.y/System.Diagnostics.EventLog.Messages.dll +-./sdk/x.y.z/runtimes/win/lib/netx.y/System.Drawing.Common.dll + ./sdk/x.y.z/runtimes/win/lib/netx.y/System.Security.Cryptography.Pkcs.dll + ./sdk/x.y.z/runtimes/win/lib/netx.y/System.ServiceProcess.ServiceController.dll + ./sdk/x.y.z/runtimes/win/lib/netx.y/System.Windows.Extensions.dll @@ ------------ @@ - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Buffers.dll - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Collections.Immutable.dll - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Memory.dll --./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Numerics.Vectors.dll - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Reflection.Metadata.dll - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/net472/System.Runtime.CompilerServices.Unsafe.dll - ./sdk/x.y.z/Sdks/Microsoft.NET.ILLink.Tasks/tools/netx.y/ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/net472/ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/net472/Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll +-./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/net472/Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll.config + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tasks.dll + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.BlazorWebAssembly/tools/netx.y/Microsoft.NET.Sdk.BlazorWebAssembly.Tool.deps.json @@ ------------ @@ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/targets/TransformTargets/Transforms/EnvironmentNoLocation.transform ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/targets/TransformTargets/Transforms/EnvironmentWithLocation.transform ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/ -./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/cs/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/cs/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/de/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/de/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/es/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/es/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/fr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/fr/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/it/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/it/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ja/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ja/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ko/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ko/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.Bcl.AsyncInterfaces.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.NET.Sdk.Publish.Tasks.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.NET.Sdk.Publish.Tasks.dll.config --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.Web.Delegation.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.Web.Deployment.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.Web.Deployment.Tracing.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/Microsoft.Web.XmlTransform.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/pl/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/pl/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/pt-BR/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/pt-BR/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ru/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/ru/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Buffers.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Memory.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Numerics.Vectors.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Runtime.CompilerServices.Unsafe.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Security.Cryptography.ProtectedData.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Text.Encodings.Web.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Text.Json.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.Threading.Tasks.Extensions.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/System.ValueTuple.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/tr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/tr/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/zh-Hans/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/zh-Hans/Microsoft.NET.Sdk.Publish.Tasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/zh-Hant/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/net472/zh-Hant/Microsoft.NET.Sdk.Publish.Tasks.resources.dll ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/netx.y/ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/netx.y/cs/ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Publish/tools/netx.y/cs/Microsoft.NET.Sdk.Publish.Tasks.resources.dll @@ ------------ @@ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.Language.dll +-./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.LanguageSupport.dll +-./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.LanguageSupport.xml ++./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.Utilities.Shared.dll ++./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.AspNetCore.Razor.Utilities.Shared.xml + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.CodeAnalysis.Razor.dll + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.NET.Sdk.Razor.SourceGenerators.deps.json + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/source-generators/Microsoft.NET.Sdk.Razor.SourceGenerators.dll +@@ ------------ @@ + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/Microsoft.Bcl.AsyncInterfaces.dll + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/Microsoft.Extensions.FileSystemGlobbing.dll + ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/Microsoft.NET.Sdk.Razor.Tasks.dll +-./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/Microsoft.NET.Sdk.Razor.Tasks.dll.config ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/System.Buffers.dll ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/System.Collections.Immutable.dll ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Razor/tasks/net472/System.Memory.dll @@ -886,86 +303,6 @@ index ------------ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Web/tools/netx.y/ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Web/tools/netx.y/Microsoft.NET.Sdk.Web.Tasks.dll -./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/Icon.png --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/LICENSE.TXT --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/Sdk/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/Sdk/Sdk.props --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/Sdk/Sdk.targets --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.props --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.targets --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.props --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.WindowsForms.targets --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.NET.Sdk.WindowsDesktop.WPF.props --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/Microsoft.WinFX.targets --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/targets/System.Windows.Forms.Analyzers.props --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/THIRD-PARTY-NOTICES.TXT --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/cs/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/cs/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/de/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/de/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/es/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/es/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/fr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/fr/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/it/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/it/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ja/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ja/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ko/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ko/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/pl/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/pl/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/PresentationBuildTasks.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/pt-BR/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/pt-BR/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ru/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/ru/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Collections.Immutable.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Memory.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Numerics.Vectors.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Reflection.Metadata.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Reflection.MetadataLoadContext.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/System.Runtime.CompilerServices.Unsafe.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/tr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/tr/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/zh-Hans/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/zh-Hans/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/zh-Hant/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/net472/zh-Hant/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/cs/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/cs/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/de/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/de/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/es/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/es/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/fr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/fr/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/it/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/it/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ja/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ja/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ko/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ko/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/pl/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/pl/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/PresentationBuildTasks.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/pt-BR/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/pt-BR/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ru/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/ru/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/System.Reflection.MetadataLoadContext.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/tr/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/tr/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/zh-Hans/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/zh-Hans/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/zh-Hant/ --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/tools/netx.y/zh-Hant/PresentationBuildTasks.resources.dll --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/useSharedDesignerContext.txt --./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.WindowsDesktop/version.txt ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Worker/ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Worker/Sdk/ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk.Worker/Sdk/Sdk.props @@ -978,100 +315,7 @@ index ------------ ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk/tools/net472/System.Runtime.CompilerServices.Unsafe.dll ./sdk/x.y.z/Sdks/Microsoft.NET.Sdk/tools/net472/System.Text.Encodings.Web.dll @@ ------------ @@ - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/buildCrossTargeting/ - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/buildCrossTargeting/NuGet.Build.Tasks.Pack.targets - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/cs/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/cs/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/de/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/de/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/es/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/es/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/fr/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/fr/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/it/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/it/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ja/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ja/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ko/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ko/NuGet.Build.Tasks.Pack.resources.dll - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Build.Tasks.Pack.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/pl/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/pl/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/pt-BR/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/pt-BR/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ru/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/ru/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/tr/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/tr/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/zh-Hans/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/zh-Hans/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/zh-Hant/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/zh-Hant/NuGet.Build.Tasks.Pack.resources.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Commands.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Common.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Configuration.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Credentials.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.DependencyResolver.Core.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Frameworks.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.LibraryModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Packaging.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.ProjectModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Protocol.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/CoreCLR/NuGet.Versioning.dll - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/cs/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/cs/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/de/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/de/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/es/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/es/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/fr/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/fr/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/it/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/it/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ja/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ja/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ko/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ko/NuGet.Build.Tasks.Pack.resources.dll - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Build.Tasks.Pack.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/pl/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/pl/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/pt-BR/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/pt-BR/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ru/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/ru/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/tr/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/tr/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/zh-Hans/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/zh-Hans/NuGet.Build.Tasks.Pack.resources.dll --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/zh-Hant/ --./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/zh-Hant/NuGet.Build.Tasks.Pack.resources.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Commands.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Common.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Configuration.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Credentials.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.DependencyResolver.Core.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Frameworks.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.LibraryModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Packaging.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.ProjectModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Protocol.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/Desktop/NuGet.Versioning.dll - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/icon.png -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Build.Tasks.Pack.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Commands.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Common.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Configuration.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Credentials.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.DependencyResolver.Core.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Frameworks.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.LibraryModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Packaging.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.ProjectModel.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Protocol.dll -+./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/NuGet.Versioning.dll - ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/README.md + ./sdk/x.y.z/Sdks/NuGet.Build.Tasks.Pack/ ./sdk/x.y.z/System.CodeDom.dll ./sdk/x.y.z/System.CommandLine.dll -./sdk/x.y.z/System.ComponentModel.Composition.dll @@ -1097,245 +341,6 @@ index ------------ ./sdk/x.y.z/testhost.deps.json ./sdk/x.y.z/testhost.dll -./sdk/x.y.z/TestHostNetFramework/ --./sdk/x.y.z/TestHostNetFramework/cs/ --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/datacollector.arm64.exe --./sdk/x.y.z/TestHostNetFramework/datacollector.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/datacollector.exe --./sdk/x.y.z/TestHostNetFramework/datacollector.exe.config --./sdk/x.y.z/TestHostNetFramework/de/ --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/ --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/ --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/ --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/ --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/ --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.TestPlatform.CommunicationUtilities.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.TestPlatform.CoreUtilities.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.TestPlatform.CrossPlatEngine.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.TestPlatform.PlatformAbstractions.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.TestPlatform.Utilities.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.VisualStudio.TestPlatform.Common.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll --./sdk/x.y.z/TestHostNetFramework/Microsoft.Win32.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/netstandard.dll --./sdk/x.y.z/TestHostNetFramework/Newtonsoft.Json.dll --./sdk/x.y.z/TestHostNetFramework/NuGet.Frameworks.dll --./sdk/x.y.z/TestHostNetFramework/pl/ --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/ --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/ --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/System.AppContext.dll --./sdk/x.y.z/TestHostNetFramework/System.Collections.Concurrent.dll --./sdk/x.y.z/TestHostNetFramework/System.Collections.dll --./sdk/x.y.z/TestHostNetFramework/System.Collections.Immutable.dll --./sdk/x.y.z/TestHostNetFramework/System.Collections.NonGeneric.dll --./sdk/x.y.z/TestHostNetFramework/System.Collections.Specialized.dll --./sdk/x.y.z/TestHostNetFramework/System.ComponentModel.dll --./sdk/x.y.z/TestHostNetFramework/System.ComponentModel.EventBasedAsync.dll --./sdk/x.y.z/TestHostNetFramework/System.ComponentModel.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.ComponentModel.TypeConverter.dll --./sdk/x.y.z/TestHostNetFramework/System.Console.dll --./sdk/x.y.z/TestHostNetFramework/System.Data.Common.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.Contracts.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.Debug.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.FileVersionInfo.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.Process.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.StackTrace.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.TextWriterTraceListener.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.Tools.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.TraceSource.dll --./sdk/x.y.z/TestHostNetFramework/System.Diagnostics.Tracing.dll --./sdk/x.y.z/TestHostNetFramework/System.Drawing.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.Dynamic.Runtime.dll --./sdk/x.y.z/TestHostNetFramework/System.Globalization.Calendars.dll --./sdk/x.y.z/TestHostNetFramework/System.Globalization.dll --./sdk/x.y.z/TestHostNetFramework/System.Globalization.Extensions.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.Compression.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.Compression.ZipFile.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.FileSystem.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.FileSystem.DriveInfo.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.FileSystem.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.FileSystem.Watcher.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.IsolatedStorage.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.MemoryMappedFiles.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.Pipes.dll --./sdk/x.y.z/TestHostNetFramework/System.IO.UnmanagedMemoryStream.dll --./sdk/x.y.z/TestHostNetFramework/System.Linq.dll --./sdk/x.y.z/TestHostNetFramework/System.Linq.Expressions.dll --./sdk/x.y.z/TestHostNetFramework/System.Linq.Parallel.dll --./sdk/x.y.z/TestHostNetFramework/System.Linq.Queryable.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Http.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.NameResolution.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.NetworkInformation.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Ping.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Requests.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Security.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.Sockets.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.WebHeaderCollection.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.WebSockets.Client.dll --./sdk/x.y.z/TestHostNetFramework/System.Net.WebSockets.dll --./sdk/x.y.z/TestHostNetFramework/System.ObjectModel.dll --./sdk/x.y.z/TestHostNetFramework/System.Private.Uri.dll --./sdk/x.y.z/TestHostNetFramework/System.Reflection.dll --./sdk/x.y.z/TestHostNetFramework/System.Reflection.Extensions.dll --./sdk/x.y.z/TestHostNetFramework/System.Reflection.Metadata.dll --./sdk/x.y.z/TestHostNetFramework/System.Reflection.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.Resources.Reader.dll --./sdk/x.y.z/TestHostNetFramework/System.Resources.ResourceManager.dll --./sdk/x.y.z/TestHostNetFramework/System.Resources.Writer.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.CompilerServices.VisualC.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Extensions.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Handles.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.InteropServices.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.InteropServices.RuntimeInformation.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Numerics.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Serialization.Formatters.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Serialization.Json.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Serialization.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.Runtime.Serialization.Xml.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Claims.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Cryptography.Algorithms.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Cryptography.Csp.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Cryptography.Encoding.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Cryptography.Primitives.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Cryptography.X509Certificates.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.Principal.dll --./sdk/x.y.z/TestHostNetFramework/System.Security.SecureString.dll --./sdk/x.y.z/TestHostNetFramework/System.Text.Encoding.dll --./sdk/x.y.z/TestHostNetFramework/System.Text.Encoding.Extensions.dll --./sdk/x.y.z/TestHostNetFramework/System.Text.RegularExpressions.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.Overlapped.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.Tasks.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.Tasks.Parallel.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.Thread.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.ThreadPool.dll --./sdk/x.y.z/TestHostNetFramework/System.Threading.Timer.dll --./sdk/x.y.z/TestHostNetFramework/System.ValueTuple.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.ReaderWriter.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.XDocument.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.XmlDocument.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.XmlSerializer.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.XPath.dll --./sdk/x.y.z/TestHostNetFramework/System.Xml.XPath.XDocument.dll --./sdk/x.y.z/TestHostNetFramework/testhost.arm64.exe --./sdk/x.y.z/TestHostNetFramework/testhost.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.exe --./sdk/x.y.z/TestHostNetFramework/testhost.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net47.arm64.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net47.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net47.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net47.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net47.x86.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net47.x86.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net471.arm64.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net471.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net471.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net471.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net471.x86.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net471.x86.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net472.arm64.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net472.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net472.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net472.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net472.x86.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net472.x86.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net48.arm64.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net48.arm64.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net48.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net48.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.net48.x86.exe --./sdk/x.y.z/TestHostNetFramework/testhost.net48.x86.exe.config --./sdk/x.y.z/TestHostNetFramework/testhost.x86.exe --./sdk/x.y.z/TestHostNetFramework/testhost.x86.exe.config --./sdk/x.y.z/TestHostNetFramework/tr/ --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/x64/ --./sdk/x.y.z/TestHostNetFramework/x64/msdia140.dll --./sdk/x.y.z/TestHostNetFramework/x64/msdia140.dll.manifest --./sdk/x.y.z/TestHostNetFramework/x86/ --./sdk/x.y.z/TestHostNetFramework/x86/msdia140.dll --./sdk/x.y.z/TestHostNetFramework/x86/msdia140.dll.manifest --./sdk/x.y.z/TestHostNetFramework/zh-Hans/ --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/ --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/TestHostNetFramework/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +./sdk/x.y.z/testhost.dll.config +./sdk/x.y.z/testhost.runtimeconfig.json +./sdk/x.y.z/testhost.x86 @@ -1344,171 +349,6 @@ index ------------ +./sdk/x.y.z/testhost.x86.dll.config +./sdk/x.y.z/testhost.x86.runtimeconfig.json +./sdk/x.y.z/TestHost/ -+./sdk/x.y.z/TestHost/Microsoft.TestPlatform.CommunicationUtilities.dll -+./sdk/x.y.z/TestHost/Microsoft.TestPlatform.CoreUtilities.dll -+./sdk/x.y.z/TestHost/Microsoft.TestPlatform.CrossPlatEngine.dll -+./sdk/x.y.z/TestHost/Microsoft.TestPlatform.PlatformAbstractions.dll -+./sdk/x.y.z/TestHost/Microsoft.TestPlatform.Utilities.dll -+./sdk/x.y.z/TestHost/Microsoft.VisualStudio.TestPlatform.Common.dll -+./sdk/x.y.z/TestHost/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll -+./sdk/x.y.z/TestHost/Newtonsoft.Json.dll -+./sdk/x.y.z/TestHost/NuGet.Frameworks.dll -+./sdk/x.y.z/TestHost/testhost.deps.json -+./sdk/x.y.z/TestHost/testhost.dll -+./sdk/x.y.z/TestHost/testhost.dll.config -+./sdk/x.y.z/TestHost/testhost.runtimeconfig.json -+./sdk/x.y.z/TestHost/testhost.x86 -+./sdk/x.y.z/TestHost/testhost.x86.deps.json -+./sdk/x.y.z/TestHost/testhost.x86.dll -+./sdk/x.y.z/TestHost/testhost.x86.dll.config -+./sdk/x.y.z/TestHost/testhost.x86.runtimeconfig.json ./sdk/x.y.z/tr/ ./sdk/x.y.z/tr/dotnet.resources.dll --./sdk/x.y.z/tr/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/tr/Microsoft.Build.resources.dll - ./sdk/x.y.z/tr/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/tr/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/tr/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/tr/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/tr/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/tr/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/tr/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/tr/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/tr/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/tr/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/tr/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/tr/MSBuild.resources.dll --./sdk/x.y.z/tr/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/tr/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/tr/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/tr/NuGet.Commands.resources.dll --./sdk/x.y.z/tr/NuGet.Common.resources.dll --./sdk/x.y.z/tr/NuGet.Configuration.resources.dll --./sdk/x.y.z/tr/NuGet.Credentials.resources.dll --./sdk/x.y.z/tr/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/tr/NuGet.Frameworks.resources.dll --./sdk/x.y.z/tr/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/tr/NuGet.Localization.resources.dll --./sdk/x.y.z/tr/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/tr/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/tr/NuGet.Packaging.resources.dll --./sdk/x.y.z/tr/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/tr/NuGet.Protocol.resources.dll --./sdk/x.y.z/tr/NuGet.Resolver.resources.dll --./sdk/x.y.z/tr/NuGet.Versioning.resources.dll --./sdk/x.y.z/tr/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/tr/System.CommandLine.resources.dll --./sdk/x.y.z/tr/Test.Utility.resources.dll --./sdk/x.y.z/tr/vstest.console.resources.dll - ./sdk/x.y.z/trustedroots/ - ./sdk/x.y.z/trustedroots/codesignctl.pem - ./sdk/x.y.z/trustedroots/timestampctl.pem -+./sdk/x.y.z/vstest.console - ./sdk/x.y.z/vstest.console.deps.json - ./sdk/x.y.z/vstest.console.dll - ./sdk/x.y.z/vstest.console.dll.config --./sdk/x.y.z/vstest.console.exe - ./sdk/x.y.z/vstest.console.runtimeconfig.json - ./sdk/x.y.z/zh-Hans/ - ./sdk/x.y.z/zh-Hans/dotnet.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.Build.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/zh-Hans/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/zh-Hans/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/zh-Hans/MSBuild.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Commands.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Common.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Configuration.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Credentials.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Frameworks.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Localization.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Packaging.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Protocol.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Resolver.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.Versioning.resources.dll --./sdk/x.y.z/zh-Hans/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/zh-Hans/System.CommandLine.resources.dll --./sdk/x.y.z/zh-Hans/Test.Utility.resources.dll --./sdk/x.y.z/zh-Hans/vstest.console.resources.dll - ./sdk/x.y.z/zh-Hant/ - ./sdk/x.y.z/zh-Hant/dotnet.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.Build.NuGetSdkResolver.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.Build.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.Build.Tasks.Core.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.Build.Utilities.Core.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.CodeCoverage.IO.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.Deployment.DotNet.Releases.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.DotNet.Cli.Sln.Internal.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.DotNet.Cli.Utils.resources.dll -@@ ------------ @@ - ./sdk/x.y.z/zh-Hant/Microsoft.TemplateEngine.Edge.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.TemplateEngine.Orchestrator.RunnableProjects.resources.dll - ./sdk/x.y.z/zh-Hant/Microsoft.TemplateSearch.Common.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.Build.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.Utilities.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.TestPlatform.VsTestConsole.TranslationLayer.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.VisualStudio.TestPlatform.Client.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll --./sdk/x.y.z/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll - ./sdk/x.y.z/zh-Hant/MSBuild.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Build.Tasks.Console.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Build.Tasks.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.CommandLine.XPlat.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Commands.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Common.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Configuration.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Credentials.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.DependencyResolver.Core.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Frameworks.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.LibraryModel.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Localization.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.PackageManagement.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Packaging.Core.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Packaging.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.ProjectModel.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Protocol.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Resolver.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.Versioning.resources.dll --./sdk/x.y.z/zh-Hant/NuGet.VisualStudio.Contracts.resources.dll - ./sdk/x.y.z/zh-Hant/System.CommandLine.resources.dll --./sdk/x.y.z/zh-Hant/Test.Utility.resources.dll --./sdk/x.y.z/zh-Hant/vstest.console.resources.dll - ./shared/ - ./shared/Microsoft.AspNetCore.App/ - ./shared/Microsoft.AspNetCore.App/x.y.z/ \ No newline at end of file + ./sdk/x.y.z/tr/Microsoft.Build.resources.dll \ No newline at end of file diff --git a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/PoisonUsage.txt b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/PoisonUsage.txt index 2866b7f1e..0cd3b4111 100644 --- a/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/PoisonUsage.txt +++ b/src/SourceBuild/content/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/baselines/PoisonUsage.txt @@ -1,1184 +1,14 @@ - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - AssemblyAttribute AssemblyAttribute - + AssemblyAttribute - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - - AssemblyAttribute - - + AssemblyAttribute \ No newline at end of file diff --git a/src/SourceBuild/patches/command-line-api/0002-Use-net8.0-TFM-when-building-with-source-build.patch b/src/SourceBuild/patches/command-line-api/0002-Use-net8.0-TFM-when-building-with-source-build.patch new file mode 100644 index 000000000..78fa7b0cc --- /dev/null +++ b/src/SourceBuild/patches/command-line-api/0002-Use-net8.0-TFM-when-building-with-source-build.patch @@ -0,0 +1,68 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Matt Thalman +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 @@ + 10.0 + + +- +- net7.0 ++ ++ $(NetCurrent) + + +- ++ + net7.0 + + +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 @@ + false + + +- net7.0 +- net7.0 ++ $(TargetFrameworkForNETSDK) ++ $(TargetFrameworkForNETSDK) + + + False +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 @@ + + true + System.CommandLine +- net7.0;netstandard2.0 ++ $(TargetFrameworkForNETSDK);netstandard2.0 + enable + true + 10 +@@ -18,7 +18,7 @@ + true + + +- ++ + true + true + diff --git a/src/SourceBuild/patches/emsdk/0001-Revert-Trim-away-netframework-targets-in-source-buil.patch b/src/SourceBuild/patches/emsdk/0001-Revert-Trim-away-netframework-targets-in-source-buil.patch new file mode 100644 index 000000000..fb7b31dca --- /dev/null +++ b/src/SourceBuild/patches/emsdk/0001-Revert-Trim-away-netframework-targets-in-source-buil.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Michael Simons +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 @@ + + emsdk + true +- true + + + diff --git a/src/SourceBuild/patches/razor/0001-Add-some-projects-to-Razor.Slim.slnf.patch b/src/SourceBuild/patches/razor/0001-Add-some-projects-to-Razor.Slim.slnf.patch deleted file mode 100644 index edebfd184..000000000 --- a/src/SourceBuild/patches/razor/0001-Add-some-projects-to-Razor.Slim.slnf.patch +++ /dev/null @@ -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 @@ - true - false - true -+ -+ false - - - diff --git a/src/SourceBuild/patches/razor/0001-Enable-packable-projects-for-razor.patch b/src/SourceBuild/patches/razor/0001-Enable-packable-projects-for-razor.patch new file mode 100644 index 000000000..c732c96ba --- /dev/null +++ b/src/SourceBuild/patches/razor/0001-Enable-packable-projects-for-razor.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Matt Thalman +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 @@ + false + true + false +- true ++ true + + false + +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 @@ + netstandard2.0 + false + false +- true ++ true + false + + +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 @@ + netstandard2.0 + false + false +- true ++ true + false + + diff --git a/src/SourceBuild/patches/roslyn/0001-Only-pack-the-shipping-non-shipping-nupkgs-for-rosly.patch b/src/SourceBuild/patches/roslyn/0001-Only-pack-the-shipping-non-shipping-nupkgs-for-rosly.patch new file mode 100644 index 000000000..8f36e6f09 --- /dev/null +++ b/src/SourceBuild/patches/roslyn/0001-Only-pack-the-shipping-non-shipping-nupkgs-for-rosly.patch @@ -0,0 +1,38 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nikola Milosavljevic +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 @@ + roslyn + true + true ++ ++ false + + ++ ++ ++ ++ ++ ++ ++ ++ ++ + +- net6.0 ++ net8.0 + MicrosoftAspNetCore + + false diff --git a/src/SourceBuild/patches/sourcelink/0002-Exclude-dotnet-sourcelink-from-source-build.patch b/src/SourceBuild/patches/sourcelink/0002-Exclude-dotnet-sourcelink-from-source-build.patch new file mode 100644 index 000000000..2c72fc0fb --- /dev/null +++ b/src/SourceBuild/patches/sourcelink/0002-Exclude-dotnet-sourcelink-from-source-build.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Michael Simons +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 @@ + + Exe + $(NetCurrent) ++ true + + + true diff --git a/src/VirtualMonoRepo/README.template.md b/src/VirtualMonoRepo/README.template.md index f6d91d55f..5c8bdd06e 100644 --- a/src/VirtualMonoRepo/README.template.md +++ b/src/VirtualMonoRepo/README.template.md @@ -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 diff --git a/src/VirtualMonoRepo/allowed-binaries.txt b/src/VirtualMonoRepo/allowed-binaries.txt index 0300eff23..e9217aaed 100644 --- a/src/VirtualMonoRepo/allowed-binaries.txt +++ b/src/VirtualMonoRepo/allowed-binaries.txt @@ -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 diff --git a/src/core-sdk-tasks/ExtractArchiveToDirectory.cs b/src/core-sdk-tasks/ExtractArchiveToDirectory.cs index d0b9fb15f..e61f21e53 100644 --- a/src/core-sdk-tasks/ExtractArchiveToDirectory.cs +++ b/src/core-sdk-tasks/ExtractArchiveToDirectory.cs @@ -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; } /// - /// 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. /// 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"; } diff --git a/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs b/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs index 03e407b2e..7ce25b785 100644 --- a/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs +++ b/src/core-sdk-tasks/GenerateMSBuildExtensionsSWR.cs @@ -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("\""); } diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index f1b2b8927..bbdb2a15f 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -5,6 +5,7 @@ false false true + none diff --git a/src/redist/targets/GenerateBundledVersions.targets b/src/redist/targets/GenerateBundledVersions.targets index f6c808f35..2c52af8fb 100644 --- a/src/redist/targets/GenerateBundledVersions.targets +++ b/src/redist/targets/GenerateBundledVersions.targets @@ -66,14 +66,6 @@ - - 30 - 32 - 17 - 13 - 2 - - Microsoft.NETCoreSdk.BundledVersions.props @@ -359,6 +351,7 @@ Copyright (c) .NET Foundation. All rights reserved. %24([MSBuild]::NormalizePath('%24(MSBuildThisFileDirectory)..\..\')) %24([MSBuild]::EnsureTrailingSlash('%24(NetCoreRoot)'))packs + $(MicrosoftNetCompilersToolsetPackageVersion) $(_NETCoreAppTargetFrameworkVersion) $(_NETCoreAppTargetFrameworkVersion) $(_NETCoreAppPackageVersion) @@ -412,6 +405,10 @@ Copyright (c) .NET Foundation. All rights reserved. + + () + { + { "", ".cs" }, + { "C#", ".cs" }, + { "VB", ".vb" } + }; + + DirectoryInfo directory = InstantiateProjectTemplate("classlib", language, withNoRestore: false); + string projectDirectory = directory.FullName; + string expectedItemName = $"TestItem_{templateName}"; + string newArgs = $"{templateName} --name {expectedItemName} --debug:ephemeral-hive"; + if (!string.IsNullOrWhiteSpace(language)) + { + newArgs += $" --language {language}"; + } + + new NewCommandShim() + .WithWorkingDirectory(projectDirectory) + .Execute(newArgs) + .Should().Pass(); + + //check if the template created files + Assert.True(directory.Exists); + Assert.True(directory.EnumerateFileSystemInfos().Any()); + Assert.True(directory.GetFile($"{expectedItemName}.{languageExtensionMap[language]}") != null); + } + [WindowsOnlyTheory] [InlineData("wpf")] [InlineData("winforms")] @@ -396,20 +438,9 @@ namespace EndToEnd.Tests private static void TestTemplateCreateAndBuild(string templateName, bool build = true, bool selfContained = false, string language = "", string framework = "", bool deleteTestDirectory = false) { - DirectoryInfo directory = TestAssets.CreateTestDirectory(identifier: string.IsNullOrWhiteSpace(language) ? templateName : $"{templateName}[{language}]"); + DirectoryInfo directory = InstantiateProjectTemplate(templateName, language); string projectDirectory = directory.FullName; - string newArgs = $"{templateName} --no-restore"; - if (!string.IsNullOrWhiteSpace(language)) - { - newArgs += $" --language {language}"; - } - - new NewCommandShim() - .WithWorkingDirectory(projectDirectory) - .Execute(newArgs) - .Should().Pass(); - if (!string.IsNullOrWhiteSpace(framework)) { //check if MSBuild TargetFramework property for *proj is set to expected framework @@ -454,5 +485,27 @@ namespace EndToEnd.Tests directory.Delete(true); } } + + private static DirectoryInfo InstantiateProjectTemplate(string templateName, string language = "", bool withNoRestore = true) + { + DirectoryInfo directory = TestAssets.CreateTestDirectory( + identifier: string.IsNullOrWhiteSpace(language) + ? templateName + : $"{templateName}[{language}]"); + string projectDirectory = directory.FullName; + + string newArgs = $"{templateName} --debug:ephemeral-hive {(withNoRestore ? "--no-restore" : "")}"; + if (!string.IsNullOrWhiteSpace(language)) + { + newArgs += $" --language {language}"; + } + + new NewCommandShim() + .WithWorkingDirectory(projectDirectory) + .Execute(newArgs) + .Should().Pass(); + + return directory; + } } } diff --git a/test/SdkTests/SdkTests.csproj b/test/SdkTests/SdkTests.csproj index 769da7f5f..ed098d33d 100644 --- a/test/SdkTests/SdkTests.csproj +++ b/test/SdkTests/SdkTests.csproj @@ -226,6 +226,11 @@ $(TestArgs) -testConfigFile "$(MSBuildThisFileDirectory)TestsToSkipPortableLinux.xml" + + + $(TestArgs) -testConfigFile "$(MSBuildThisFileDirectory)TestsToSkipOSX.xml" + + diff --git a/test/SdkTests/TestsToSkipOSX.xml b/test/SdkTests/TestsToSkipOSX.xml new file mode 100644 index 000000000..09330bb1f --- /dev/null +++ b/test/SdkTests/TestsToSkipOSX.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + diff --git a/test/SdkTests/TestsToSkipPortableLinux.xml b/test/SdkTests/TestsToSkipPortableLinux.xml index f9fe2c166..734362867 100644 --- a/test/SdkTests/TestsToSkipPortableLinux.xml +++ b/test/SdkTests/TestsToSkipPortableLinux.xml @@ -7,5 +7,13 @@ + + + +