diff --git a/Directory.Build.props b/Directory.Build.props
index d212ce253ae..643c0267e79 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -174,7 +174,6 @@
$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previously-source-built'))
$([MSBuild]::EnsureTrailingSlash('$(CustomPreviouslySourceBuiltPackagesPath)'))
- $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'prebuilt-report'))
$([MSBuild]::NormalizeDirectory('$(SrcDir)', 'source-build-reference-packages', 'src'))
$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference'))
SourceBuildReferencePackages
diff --git a/docs/builds-table.md b/docs/builds-table.md
index be5c9922788..63e5033061f 100644
--- a/docs/builds-table.md
+++ b/docs/builds-table.md
@@ -2,19 +2,19 @@
--------------------------------------------------------------------------------------
-| Platform | main
(10.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] |
-| **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] |
-| **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] - [Checksum][win-arm64-zip-checksum-main] |
-| **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] |
-| **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] |
-| **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 arm** | [![][linux-arm-badge-main]][linux-arm-version-main]
[tar.gz][linux-arm-targz-main] - [Checksum][linux-arm-targz-checksum-main] |
-| **Linux arm64** | [![][linux-arm64-badge-main]][linux-arm64-version-main]
[tar.gz][linux-arm64-targz-main] - [Checksum][linux-arm64-targz-checksum-main] |
-| **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-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-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] |
+| Platform | main
(10.0.x Runtime) | 10.0.1xx-preview4
(10.0-preview4 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-10.0.1XX-preview4]][win-x64-version-10.0.1XX-preview4]
[Installer][win-x64-installer-10.0.1XX-preview4] - [Checksum][win-x64-installer-checksum-10.0.1XX-preview4]
[zip][win-x64-zip-10.0.1XX-preview4] - [Checksum][win-x64-zip-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][win-x86-version-10.0.1XX-preview4]
[Installer][win-x86-installer-10.0.1XX-preview4] - [Checksum][win-x86-installer-checksum-10.0.1XX-preview4]
[zip][win-x86-zip-10.0.1XX-preview4] - [Checksum][win-x86-zip-checksum-10.0.1XX-preview4] |
+| **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] - [Checksum][win-arm64-zip-checksum-main] | [![][win-arm64-badge-10.0.1XX-preview4]][win-arm64-version-10.0.1XX-preview4]
[Installer][win-arm64-installer-10.0.1XX-preview4] - [Checksum][win-arm64-installer-checksum-10.0.1XX-preview4]
[zip][win-arm64-zip-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][osx-x64-version-10.0.1XX-preview4]
[Installer][osx-x64-installer-10.0.1XX-preview4] - [Checksum][osx-x64-installer-checksum-10.0.1XX-preview4]
[tar.gz][osx-x64-targz-10.0.1XX-preview4] - [Checksum][osx-x64-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][osx-arm64-version-10.0.1XX-preview4]
[Installer][osx-arm64-installer-10.0.1XX-preview4] - [Checksum][osx-arm64-installer-checksum-10.0.1XX-preview4]
[tar.gz][osx-arm64-targz-10.0.1XX-preview4] - [Checksum][osx-arm64-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-version-10.0.1XX-preview4]
[DEB Installer][linux-DEB-installer-10.0.1XX-preview4] - [Checksum][linux-DEB-installer-checksum-10.0.1XX-preview4]
[RPM Installer][linux-RPM-installer-10.0.1XX-preview4] - [Checksum][linux-RPM-installer-checksum-10.0.1XX-preview4]
_see installer note below_1
[tar.gz][linux-targz-10.0.1XX-preview4] - [Checksum][linux-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-arm-version-10.0.1XX-preview4]
[tar.gz][linux-arm-targz-10.0.1XX-preview4] - [Checksum][linux-arm-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-arm64-version-10.0.1XX-preview4]
[tar.gz][linux-arm64-targz-10.0.1XX-preview4] - [Checksum][linux-arm64-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-musl-x64-version-10.0.1XX-preview4]
[tar.gz][linux-musl-x64-targz-10.0.1XX-preview4] - [Checksum][linux-musl-x64-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-musl-arm-version-10.0.1XX-preview4]
[tar.gz][linux-musl-arm-targz-10.0.1XX-preview4] - [Checksum][linux-musl-arm-targz-checksum-10.0.1XX-preview4] |
+| **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-10.0.1XX-preview4]][linux-musl-arm64-version-10.0.1XX-preview4]
[tar.gz][linux-musl-arm64-targz-10.0.1XX-preview4] - [Checksum][linux-musl-arm64-targz-checksum-10.0.1XX-preview4] |
Reference notes:
> **1**: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing the SDK from the .deb file (via dpkg or similar), then you'll need to install the corresponding dependencies first:
@@ -28,6 +28,13 @@ Reference notes:
[win-x64-zip-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-x64.zip
[win-x64-zip-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-x64.zip.sha512
+[win-x64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/win_x64_Release_version_badge.svg?no-cache
+[win-x64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-win-x64.txt
+[win-x64-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x64.exe
+[win-x64-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x64.exe.sha512
+[win-x64-zip-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x64.zip
+[win-x64-zip-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x64.zip.sha512
+
[win-x86-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/win_x86_Release_version_badge.svg?no-cache
[win-x86-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-win-x86.txt
[win-x86-installer-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-x86.exe
@@ -35,6 +42,13 @@ Reference notes:
[win-x86-zip-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-x86.zip
[win-x86-zip-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-x86.zip.sha512
+[win-x86-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/win_x86_Release_version_badge.svg?no-cache
+[win-x86-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-win-x86.txt
+[win-x86-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x86.exe
+[win-x86-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x86.exe.sha512
+[win-x86-zip-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x86.zip
+[win-x86-zip-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-x86.zip.sha512
+
[osx-x64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/osx_x64_Release_version_badge.svg?no-cache
[osx-x64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-osx-x64.txt
[osx-x64-installer-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-x64.pkg
@@ -42,6 +56,13 @@ Reference notes:
[osx-x64-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-x64.tar.gz
[osx-x64-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha512
+[osx-x64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/osx_x64_Release_version_badge.svg?no-cache
+[osx-x64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-osx-x64.txt
+[osx-x64-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-x64.pkg
+[osx-x64-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-x64.pkg.sha512
+[osx-x64-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-x64.tar.gz
+[osx-x64-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-x64.pkg.tar.gz.sha512
+
[osx-arm64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/osx_arm64_Release_version_badge.svg?no-cache
[osx-arm64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-osx-arm64.txt
[osx-arm64-installer-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-arm64.pkg
@@ -49,6 +70,13 @@ Reference notes:
[osx-arm64-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-arm64.tar.gz
[osx-arm64-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha512
+[osx-arm64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/osx_arm64_Release_version_badge.svg?no-cache
+[osx-arm64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-osx-arm64.txt
+[osx-arm64-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-arm64.pkg
+[osx-arm64-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-arm64.pkg.sha512
+[osx-arm64-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-arm64.tar.gz
+[osx-arm64-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-osx-arm64.pkg.tar.gz.sha512
+
[linux-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_x64_Release_version_badge.svg?no-cache
[linux-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-x64.txt
[linux-DEB-installer-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-x64.deb
@@ -58,39 +86,75 @@ Reference notes:
[linux-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-x64.tar.gz
[linux-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-x64.tar.gz.sha512
+[linux-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_x64_Release_version_badge.svg?no-cache
+[linux-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-x64.txt
+[linux-DEB-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-x64.deb
+[linux-DEB-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-x64.deb.sha512
+[linux-RPM-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-x64.rpm
+[linux-RPM-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-x64.rpm.sha512
+[linux-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-x64.tar.gz
+[linux-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-x64.tar.gz.sha512
+
[linux-arm-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_arm_Release_version_badge.svg?no-cache
[linux-arm-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-arm.txt
[linux-arm-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-arm.tar.gz
[linux-arm-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-arm.tar.gz.sha512
+[linux-arm-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_arm_Release_version_badge.svg?no-cache
+[linux-arm-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-arm.txt
+[linux-arm-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-arm.tar.gz
+[linux-arm-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-arm.tar.gz.sha512
+
[linux-arm64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_arm64_Release_version_badge.svg?no-cache
[linux-arm64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-arm64.txt
[linux-arm64-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-arm64.tar.gz
[linux-arm64-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-arm64.tar.gz.sha512
-[rhel-6-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/rhel.6_x64_Release_version_badge.svg?no-cache
-[rhel-6-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-rhel.6-x64.txt
-[rhel-6-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-rhel.6-x64.tar.gz
-[rhel-6-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-rhel.6-x64.tar.gz.sha512
+[linux-arm64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_arm64_Release_version_badge.svg?no-cache
+[linux-arm64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-arm64.txt
+[linux-arm64-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-arm64.tar.gz
+[linux-arm64-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-arm64.tar.gz.sha512
[linux-musl-x64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_musl_x64_Release_version_badge.svg?no-cache
[linux-musl-x64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-musl-x64.txt
[linux-musl-x64-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-x64.tar.gz
[linux-musl-x64-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha512
+[linux-musl-x64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_musl_x64_Release_version_badge.svg?no-cache
+[linux-musl-x64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-musl-x64.txt
+[linux-musl-x64-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-x64.tar.gz
+[linux-musl-x64-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-x64.tar.gz.sha512
+
[linux-musl-arm-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_musl_arm_Release_version_badge.svg?no-cache
[linux-musl-arm-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-musl-arm.txt
[linux-musl-arm-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-arm.tar.gz
[linux-musl-arm-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha512
+[linux-musl-arm-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_musl_arm_Release_version_badge.svg?no-cache
+[linux-musl-arm-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-musl-arm.txt
+[linux-musl-arm-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-arm.tar.gz
+[linux-musl-arm-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-arm.tar.gz.sha512
+
[linux-musl-arm64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
[linux-musl-arm64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-linux-musl-arm64.txt
[linux-musl-arm64-targz-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-arm64.tar.gz
[linux-musl-arm64-targz-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha512
+[linux-musl-arm64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/linux_musl_arm64_Release_version_badge.svg?no-cache
+[linux-musl-arm64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-linux-musl-arm64.txt
+[linux-musl-arm64-targz-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-arm64.tar.gz
+[linux-musl-arm64-targz-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-linux-musl-arm64.tar.gz.sha512
+
[win-arm64-badge-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/win_arm64_Release_version_badge.svg?no-cache
[win-arm64-version-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/productCommit-win-arm64.txt
[win-arm64-installer-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-arm64.exe
[win-arm64-installer-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-arm64.exe.sha512
[win-arm64-zip-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-arm64.zip
-[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-arm64.zip.sha512
\ No newline at end of file
+[win-arm64-zip-checksum-main]: https://aka.ms/dotnet/10.0.1xx-ub/daily/dotnet-sdk-win-arm64.zip.sha512
+
+[win-arm64-badge-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/win_arm64_Release_version_badge.svg?no-cache
+[win-arm64-version-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/productCommit-win-arm64.txt
+[win-arm64-installer-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-arm64.exe
+[win-arm64-installer-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-arm64.exe.sha512
+[win-arm64-zip-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-arm64.zip
+[win-arm64-zip-checksum-10.0.1XX-preview4]: https://aka.ms/dotnet/10.0.1xx-preview4/daily/dotnet-sdk-win-arm64.zip.sha512
\ No newline at end of file
diff --git a/eng/pipelines/templates/stages/source-build-and-validate.yml b/eng/pipelines/templates/stages/source-build-and-validate.yml
index 21a793575db..746da15d085 100644
--- a/eng/pipelines/templates/stages/source-build-and-validate.yml
+++ b/eng/pipelines/templates/stages/source-build-and-validate.yml
@@ -219,8 +219,8 @@ stages:
- template: ../steps/download-artifacts.yml
parameters:
artifactDescription: Source Build Poison Report
- downloadFilePatterns: BuildLogs/artifacts/prebuilt-report/poison-usage.xml
- copyDestination: $(Build.SourcesDirectory)/artifacts/prebuilt-report
+ downloadFilePatterns: BuildLogs/artifacts/log/Release/poison-usage.xml
+ copyDestination: $(Build.SourcesDirectory)/artifacts/log/Release
flattenDirs: true
${{ if eq(leg.distro, 'centos') }}:
artifactName: ${{ format(leg.buildNameFormat, variables.centOSStreamName) }}_${{ leg.targetArchitecture}}_Artifacts
diff --git a/prereqs/git-info/arcade.props b/prereqs/git-info/arcade.props
index 8d347dbd5dd..8e26afe0122 100644
--- a/prereqs/git-info/arcade.props
+++ b/prereqs/git-info/arcade.props
@@ -1,8 +1,8 @@
- f351706234bfbdf026577122a3f2bac65eb74a5b
- 20250430.3
- 10.0.0-beta.25230.3
+ cdf9c563205c673b7df205e24564aa48dbc341c3
+ 20250503.1
+ 10.0.0-beta.25253.1
\ No newline at end of file
diff --git a/prereqs/git-info/aspnetcore.props b/prereqs/git-info/aspnetcore.props
index d6ddf0b1696..205cb813083 100644
--- a/prereqs/git-info/aspnetcore.props
+++ b/prereqs/git-info/aspnetcore.props
@@ -1,8 +1,8 @@
- 21ba24a7015eee34b6879b4fd2f0b94b5ff8faa6
- 20250430.1
- 10.0.0-preview.5.25230.1
+ b9112907bd7526126a355a895cce9d1ffc8bdc85
+ 20250505.2
+ 10.0.0-preview.5.25255.2
\ No newline at end of file
diff --git a/prereqs/git-info/cecil.props b/prereqs/git-info/cecil.props
index fa78d329b2b..9c071741636 100644
--- a/prereqs/git-info/cecil.props
+++ b/prereqs/git-info/cecil.props
@@ -1,8 +1,8 @@
- 8f5ef5bf825aed91bb15039b02f7426f165b5eb8
- 20250501.1
- 0.11.5-alpha.25251.1
+ ace481b2c118341192e9ac0caceb17cede03ed47
+ 20250502.1
+ 0.11.5-alpha.25252.1
\ No newline at end of file
diff --git a/prereqs/git-info/command-line-api.props b/prereqs/git-info/command-line-api.props
index ec987f60079..4f7212682c7 100644
--- a/prereqs/git-info/command-line-api.props
+++ b/prereqs/git-info/command-line-api.props
@@ -1,8 +1,8 @@
- e5a8d8400751a0fe40f766f2130ef00c59ee9c56
- 20250501.4
- 0.1.625104
+ c07f759f70b5517a7fefb9ac5ac73603cff49f41
+ 20250502.1
+ 0.1.625201
\ No newline at end of file
diff --git a/prereqs/git-info/deployment-tools.props b/prereqs/git-info/deployment-tools.props
index 40dbd8c76c4..004b08d02a8 100644
--- a/prereqs/git-info/deployment-tools.props
+++ b/prereqs/git-info/deployment-tools.props
@@ -1,8 +1,8 @@
- 150d38efe20041a832482eb69e0d61b5d795e167
- 20250501.1
- 9.0.0-preview.1.25251.1
+ 6b4bb9fae2d5c2caa1c5da1b49a045239bbbae3a
+ 20250505.1
+ 9.0.0-preview.1.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/diagnostics.props b/prereqs/git-info/diagnostics.props
index 9705f2c14b0..f5af1c59a62 100644
--- a/prereqs/git-info/diagnostics.props
+++ b/prereqs/git-info/diagnostics.props
@@ -1,8 +1,8 @@
- c174aba9f07ab60c9dc4a68080988e5fd411afea
- 20250430.3
- 9.0.623003
+ 8a951ade8ae70e5fc47345958cf716cc8e9cffe5
+ 20250505.1
+ 9.0.625501
\ No newline at end of file
diff --git a/prereqs/git-info/efcore.props b/prereqs/git-info/efcore.props
index 289ac8ac001..b8ea62616d4 100644
--- a/prereqs/git-info/efcore.props
+++ b/prereqs/git-info/efcore.props
@@ -1,8 +1,8 @@
- 4ff9270f21135dba86d678b8515ed2ba2e15089d
- 20250501.4
- 10.0.0-preview.5.25251.4
+ 9b42f3657525ea451573d241c86d09f5b08fe6dd
+ 20250505.1
+ 10.0.0-preview.5.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/emsdk.props b/prereqs/git-info/emsdk.props
index dc5393765e9..be6bbf681bb 100644
--- a/prereqs/git-info/emsdk.props
+++ b/prereqs/git-info/emsdk.props
@@ -1,8 +1,8 @@
- 90489ef36c66f4d57ddcc077429699e313eb8d05
- 20250424.1
- 10.0.0-preview.5.25224.1
+ ec33d78d8515c08b528f10ffd9da3b0ed267a89c
+ 20250505.1
+ 10.0.0-preview.5.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/msbuild.props b/prereqs/git-info/msbuild.props
index 979d297f98c..5babe043907 100644
--- a/prereqs/git-info/msbuild.props
+++ b/prereqs/git-info/msbuild.props
@@ -1,8 +1,8 @@
- 4775228475c3d687559252223447d94194dd0f5f
- 20250430.2
- 17.15.0-preview-25230-02
+ 17a2cd4231cf3c198aa09d1000b4340e2f6bfd20
+ 20250505.5
+ 17.15.0-preview-25255-05
\ No newline at end of file
diff --git a/prereqs/git-info/nuget-client.props b/prereqs/git-info/nuget-client.props
index 322994843a9..064bf737143 100644
--- a/prereqs/git-info/nuget-client.props
+++ b/prereqs/git-info/nuget-client.props
@@ -1,8 +1,8 @@
- 86c695c5bdd02ca0aa735eed42508b57f695baa7
- 6.15.0.31
- 6.15.0-preview.1.31
+ 41fb88a624e61dce1fa05a5d0771b41ab7aff7a9
+ 6.15.0.37
+ 6.15.0-preview.1.37
\ No newline at end of file
diff --git a/prereqs/git-info/razor.props b/prereqs/git-info/razor.props
index 56eb9919142..ecdfaac62e0 100644
--- a/prereqs/git-info/razor.props
+++ b/prereqs/git-info/razor.props
@@ -1,8 +1,8 @@
- 2e057fe832fbda6847f68d5782508d6c469d794c
- 20250501.3
- 10.0.0-preview.25251.3
+ d87bf4a7f18d1bdfd14cc0964acdf9b5bada301c
+ 20250505.5
+ 10.0.0-preview.25255.5
\ No newline at end of file
diff --git a/prereqs/git-info/roslyn-analyzers.props b/prereqs/git-info/roslyn-analyzers.props
index 70ba222140a..f8799477d57 100644
--- a/prereqs/git-info/roslyn-analyzers.props
+++ b/prereqs/git-info/roslyn-analyzers.props
@@ -1,8 +1,8 @@
- a5c872bfda401e95a51628f961fb5abc2d182e73
- 20250425.1
- 10.0.0-preview.25225.1
+ ba7afc0f470c9b92b88c9468420942b2d1d57355
+ 20250429.1
+ 10.0.0-preview.25229.1
\ No newline at end of file
diff --git a/prereqs/git-info/roslyn.props b/prereqs/git-info/roslyn.props
index 9672f00df23..1cf150eb2f6 100644
--- a/prereqs/git-info/roslyn.props
+++ b/prereqs/git-info/roslyn.props
@@ -1,8 +1,8 @@
- ded867328249b5a9b9e6e29e3f07abc19111f5d1
- 20250430.6
- 5.0.0-1.25230.6
+ 9cce7288b4f277359e40488eacc1bd8be0f81f34
+ 20250505.5
+ 5.0.0-1.25255.5
\ No newline at end of file
diff --git a/prereqs/git-info/runtime.props b/prereqs/git-info/runtime.props
index 284dff843ae..bef7cbd2dfc 100644
--- a/prereqs/git-info/runtime.props
+++ b/prereqs/git-info/runtime.props
@@ -1,8 +1,8 @@
- 27604b57bd2e9c9aa46d005db7c4e387d461b5b6
- 20250501.7
- 10.0.0-preview.5.25251.7
+ 43955cb086eb88dbe78f1764c21dd3362a2427ee
+ 20250505.1
+ 10.0.0-preview.5.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/scenario-tests.props b/prereqs/git-info/scenario-tests.props
index 5fbc39e63c4..0d8908583ce 100644
--- a/prereqs/git-info/scenario-tests.props
+++ b/prereqs/git-info/scenario-tests.props
@@ -1,8 +1,8 @@
- da2163776e83f86ea1259ce9e12b9ea48db6ab60
- 20250429.1
+ 9eabbcd6e92c63e0539a649238e5a87d73f46065
+ 20250505.3
10.0.0-preview.25221.1
\ No newline at end of file
diff --git a/prereqs/git-info/sdk.props b/prereqs/git-info/sdk.props
index 7c58cc4ca62..a9de99976f2 100644
--- a/prereqs/git-info/sdk.props
+++ b/prereqs/git-info/sdk.props
@@ -1,8 +1,8 @@
- 7601b9cae2f49701609df537fe81ae73425109ed
- 20250501.4
- 10.0.100-preview.5.25251.4
+ 86317d70a92223dff361e28d2874188219c7560b
+ 20250505.3
+ 10.0.100-preview.5.25255.3
\ No newline at end of file
diff --git a/prereqs/git-info/source-build-externals.props b/prereqs/git-info/source-build-externals.props
index 54df22f9045..e804bb0c9ed 100644
--- a/prereqs/git-info/source-build-externals.props
+++ b/prereqs/git-info/source-build-externals.props
@@ -1,8 +1,8 @@
- 37a16c719922cb4203d0506484502fd62ac91aa7
- 20250428.1
+ 967f0738ad131b3cb0b76b112618923780aa6048
+ 20250505.4
10.0.622801
\ No newline at end of file
diff --git a/prereqs/git-info/source-build-reference-packages.props b/prereqs/git-info/source-build-reference-packages.props
index 01f85e6fe51..b6e9682a0bc 100644
--- a/prereqs/git-info/source-build-reference-packages.props
+++ b/prereqs/git-info/source-build-reference-packages.props
@@ -1,8 +1,8 @@
- d1ab3b44c05f314be6885d1933d7e48fffa0cfc2
- 20250501.1
+ e6e60523801abc7c581434b4cd7ba1f8ee34347c
+ 20250505.2
\ No newline at end of file
diff --git a/prereqs/git-info/sourcelink.props b/prereqs/git-info/sourcelink.props
index 667fe10d29e..bc305a69d0b 100644
--- a/prereqs/git-info/sourcelink.props
+++ b/prereqs/git-info/sourcelink.props
@@ -1,8 +1,8 @@
- 25716402f74dfeb1f4137601d013e158628d5196
- 20250501.2
- 10.0.0-beta.25251.2
+ d6ff9e72e3a48d39b19a1b2d7cbf63a0a79a6409
+ 20250502.2
+ 10.0.0-beta.25252.2
\ No newline at end of file
diff --git a/prereqs/git-info/templating.props b/prereqs/git-info/templating.props
index 7b443e349f8..c8d099d53a4 100644
--- a/prereqs/git-info/templating.props
+++ b/prereqs/git-info/templating.props
@@ -1,8 +1,8 @@
- 03eef3b9429ba0975982ca7427274e5986ef328e
- 20250501.2
- 10.0.100-preview.5.25251.2
+ e3f1cf05499c250de847205b51d31a5d1f7639c4
+ 20250505.1
+ 10.0.100-preview.5.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/windowsdesktop.props b/prereqs/git-info/windowsdesktop.props
index 0f6ce4308a4..162e9d1fa15 100644
--- a/prereqs/git-info/windowsdesktop.props
+++ b/prereqs/git-info/windowsdesktop.props
@@ -1,8 +1,8 @@
- 2ebb7d189eccf908c7121a5c1e5e71da0085c4dc
- 20250501.1
- 10.0.0-preview.5.25251.1
+ b88bee3ab8a7ba608d792d30c30dda3366044eec
+ 20250502.1
+ 10.0.0-preview.5.25252.1
\ No newline at end of file
diff --git a/prereqs/git-info/winforms.props b/prereqs/git-info/winforms.props
index af62b9f81d2..20a2ea8b921 100644
--- a/prereqs/git-info/winforms.props
+++ b/prereqs/git-info/winforms.props
@@ -1,8 +1,8 @@
- 43ffa433a31ca3a6af20cefadf2b13ba2a7e537d
- 20250501.4
- 10.0.0-preview.5.25251.4
+ fc5d461e63815788594bcfd7c35ace5c0958b7bc
+ 20250505.1
+ 10.0.0-preview.5.25255.1
\ No newline at end of file
diff --git a/prereqs/git-info/wpf.props b/prereqs/git-info/wpf.props
index aa66b7b377a..d68ced53057 100644
--- a/prereqs/git-info/wpf.props
+++ b/prereqs/git-info/wpf.props
@@ -1,8 +1,8 @@
- 53aa6f986b8c1f84cf58dbd6ea62b363f94a939d
- 20250429.1
- 10.0.0-preview.5.25229.1
+ e188e3587630e370a711fe9566a9011a7c5a181b
+ 20250505.1
+ 10.0.0-preview.5.25255.1
\ No newline at end of file
diff --git a/repo-projects/Directory.Build.props b/repo-projects/Directory.Build.props
index c17a695a8cc..3b45fd206db 100644
--- a/repo-projects/Directory.Build.props
+++ b/repo-projects/Directory.Build.props
@@ -49,7 +49,7 @@
$([MSBuild]::NormalizeDirectory('$(AssetManifestsIntermediateDir)', '$(RepositoryName)'))
$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts'))
- $([MSBuild]::NormalizeDirectory('$(RepoArtifactsDir)', 'sb', 'package-cache'))
+ $([MSBuild]::NormalizeDirectory('$(RepoArtifactsDir)', '.packages'))
$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))
@@ -112,10 +112,7 @@
$(CommonArgs) $(FlagParameterPrefix)configuration $(Configuration)
-
- $(CommonArgs) $(FlagParameterPrefix)verbosity $(LogVerbosity)
+ $(CommonArgs) $(FlagParameterPrefix)verbosity $(LogVerbosity)
$(CommonArgs) /p:TargetRid=$(TargetRid)
@@ -127,12 +124,20 @@
$(CommonArgs) /p:OfficialBuildId=$(OfficialBuildId)
$(CommonArgs) /p:OfficialBuilder=$(OfficialBuilder)
$(CommonArgs) /p:ForceDryRunSigning=$(ForceDryRunSigning)
+
+ $(CommonArgs) /p:UseArPowBuildInfra=false
$(CommonArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)
$(CommonArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)
$(CommonArgs) /p:GitHubRepositoryName=$(RepositoryName)
+ $(CommonArgs) /p:DotNetBuildRepo=true
+ $(CommonArgs) /p:DotNetBuildOrchestrator=true
+
+
+ https://github.com/dotnet/dotnet
+ $(CommonArgs) /p:RepositoryUrl=$(DotNetRepositoryUrl)
Vertical
@@ -140,21 +145,16 @@
Vertical
+
+ $(CommonArgs) /p:DotNetBuildSourceOnly=true
+ $(CommonArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PreviouslySourceBuiltPackagesPath)"
+ $(CommonArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"
+ $(CommonArgs) /p:PrebuiltUsageReportDir="$(ArtifactsLogRepoDir)"
+
+
$(BuildArgs) -bl
-
- $(BuildArgs) /p:DotNetBuildRepo=true
- $(BuildArgs) /p:DotNetBuildOrchestrator=true
-
- https://github.com/dotnet/dotnet
- $(BuildArgs) /p:RepositoryUrl=$(DotNetRepositoryUrl)
-
-
- $(BuildArgs) /p:DotNetBuildSourceOnly=true
- $(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PreviouslySourceBuiltPackagesPath)"
- $(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"
- $(BuildArgs) /p:SourceBuildPrebuiltReportDir="$(ArtifactsLogRepoDir)"
diff --git a/repo-projects/Directory.Build.targets b/repo-projects/Directory.Build.targets
index 39a1eb7e66e..666a1449faa 100644
--- a/repo-projects/Directory.Build.targets
+++ b/repo-projects/Directory.Build.targets
@@ -2,12 +2,6 @@
-
- $(CommonArgs) /p:UseInnerClone=true
- $(CommonArgs) /p:CopySrcInsteadOfClone=true
- $(CommonArgs) /p:CopyWipIntoInnerSourceBuildRepo=true
-
-
powershell -NoProfile "Get-PSDrive -PSProvider FileSystem -Name (Get-Item "$(RepoRoot.TrimEnd('\'))").PSDrive.Name"
df -h $(RepoRoot)
@@ -700,8 +694,7 @@
Condition="'@(_InnerPackageCacheFiles)' != ''" />
-
+
@@ -867,14 +860,10 @@
-
-
+ DependsOnTargets="RepoTest;CleanupRepo" />
diff --git a/repo-projects/aspnetcore.proj b/repo-projects/aspnetcore.proj
index 1088800e2fd..92aec5fbff7 100644
--- a/repo-projects/aspnetcore.proj
+++ b/repo-projects/aspnetcore.proj
@@ -36,10 +36,6 @@
true
-
- $(BuildArgs) $(FlagParameterPrefix)no-build-repo-tasks
-
-
diff --git a/repo-projects/fsharp.proj b/repo-projects/fsharp.proj
index 05824c08646..ed4792c458b 100644
--- a/repo-projects/fsharp.proj
+++ b/repo-projects/fsharp.proj
@@ -22,7 +22,7 @@
differently from the standard MSBuild arg set. Including both args is fine, but the
custom sourcebuild arg is the one that's required. This avoids running bootstrapping twice.
-->
- $(BuildArgs) $(FlagParameterPrefix)sourceBuild $(FlagParameterPrefix)tfm $(NetCurrent) /p:SourceBuildBootstrapTfm=$(NetCurrent)
+ $(BuildArgs) $(FlagParameterPrefix)sourceBuild $(FlagParameterPrefix)tfm $(NetCurrent)
diff --git a/repo-projects/roslyn.proj b/repo-projects/roslyn.proj
index effcc998bc3..7af336799ae 100644
--- a/repo-projects/roslyn.proj
+++ b/repo-projects/roslyn.proj
@@ -11,6 +11,8 @@
$(BuildActions) $(FlagParameterPrefix)sign
$(BuildArgs) /p:TreatWarningsAsErrors=false
+
+ $(BuildArgs) /p:RestoreEnablePackagePruning=false
diff --git a/repo-projects/runtime.proj b/repo-projects/runtime.proj
index 65057174f78..004054f62b4 100644
--- a/repo-projects/runtime.proj
+++ b/repo-projects/runtime.proj
@@ -1,6 +1,9 @@
+
+ true
+
$(ProjectDirectory)build$(ShellExtension)
@@ -12,37 +15,45 @@
true
$(BuildArgs) $(FlagParameterPrefix)os $(TargetOS)
- true
- true
+ $(BuildArgs) $(FlagParameterPrefix)usemonoruntime
-
- $(BuildArgs) /p:DotNetBuildAllRuntimePacks=true
+
+ true
+ $(BuildArgs) $(FlagParameterPrefix)cross
-
- $(BuildArgs) /p:WasmEnableThreads=true
- $(BuildArgs) /p:MonoEnableLLVM=$(MonoEnableLLVM)
- $(BuildArgs) /p:MonoAOTEnableLLVM=$(MonoAOTEnableLLVM)
- $(BuildArgs) /p:MonoBundleLLVMOptimizer=$(MonoBundleLLVMOptimizer)
- $(BuildArgs) $(FlagParameterPrefix)pgoinstrument
+
+ $(BuildArgs) --outputrid $(TargetRid)
- $(BuildArgs) /p:UseSystemLibs=$(UseSystemLibs)
+
+ $(BuildArgs) --bootstrap
+
+
+ $(BuildArgs) /p:DotNetBuildAllRuntimePacks=true
$(BuildArgs) /p:DotNetEsrpToolPath=$(DotNetEsrpToolPath)
-
- $(BuildArgs) /p:NetCoreAppToolCurrentVersion=10.0
-
-
- true
+
+ $(BuildArgs) /p:WasmEnableThreads=$(WasmEnableThreads)
+ $(BuildArgs) /p:MonoEnableLLVM=$(MonoEnableLLVM)
+ $(BuildArgs) /p:MonoAOTEnableLLVM=$(MonoAOTEnableLLVM)
+ $(BuildArgs) /p:MonoBundleLLVMOptimizer=$(MonoBundleLLVMOptimizer)
+ $(BuildArgs) $(FlagParameterPrefix)pgoinstrument
-
- false
+
+ +$(UseSystemLibs)
+ $(BuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_BROTLI=true
+ $(BuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=true
+
+
+ $(BuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_RAPIDJSON=true
+ $(BuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_ZLIB=true
+ $(BuildArgs) /p:FeatureXplatEventSource=false
diff --git a/repo-projects/source-build-externals.proj b/repo-projects/source-build-externals.proj
index 023a6739cc8..b51baf83183 100644
--- a/repo-projects/source-build-externals.proj
+++ b/repo-projects/source-build-externals.proj
@@ -1,15 +1,5 @@
-
-
- true
-
-
diff --git a/src/arcade/Documentation/UnifiedBuild/Unified-Build-Controls.md b/src/arcade/Documentation/UnifiedBuild/Unified-Build-Controls.md
index 872e1416761..e003dfd0417 100644
--- a/src/arcade/Documentation/UnifiedBuild/Unified-Build-Controls.md
+++ b/src/arcade/Documentation/UnifiedBuild/Unified-Build-Controls.md
@@ -111,21 +111,14 @@ The following context controls will be implemented. These controls should be use
| **Name** | **Values** | **Default** | **Description** |
| -------- | -------- | -------- | -------- |
-| DotNetBuild | "true", "false", "" | "" | This is a general identification control that essentially identifies whether the infrastructure is building in any kind of Unified Build mode. This serves as a way to conditionalize non-phase specific infrastructure in a general manner.
Generally, this is `DotNetBuildPhase != ‘’`
In general, uses of this switch should be limited to infrastructure, though it is possible that those infrastructure uses may affect the build output, especially in cases where a repo maintains a separate official build. |
-
-#### Exclusive Context Controls
-
-| **Name** | **Values** | **Default** | **Description** |
-| -------- | -------- | -------- | -------- |
-| DotNetBuildPhase | "Orchestrator", "Repo", "InnerRepo", "" | "" | Exclusive phase control identifying the phase currently executing.
Generally, this replaces uses of `ArcadeInnerBuildFromSource` (exclusive inner build) as well as common conditionals like `ArcadeBuildFromSource && !ArcadeInnerBuildFromSource`. |
+| DotNetBuild | "true", "false", "" | "" | This is a general identification control that essentially identifies whether the infrastructure is building in any kind of Unified Build mode. This serves as a way to conditionalize non-phase specific infrastructure in a general manner.
In general, uses of this switch should be limited to infrastructure, though it is possible that those infrastructure uses may affect the build output, especially in cases where a repo maintains a separate official build. |
#### Inclusive Context Controls
| **Name** | **Values** | **Default** | **Description** |
| -------- | -------- | -------- | -------- |
-| DotNetBuildInnerRepo | "true", "false", "" | "" | When "true", indicates that the infrastructure is executing within the inner repo build. This is equivalent to `ArcadeInnerBuildFromSource``. |
-| DotNetBuildOrchestrator | "true", "false", "" | "" | When "true", indicates that the infrastructure is executing within the orchestrator, outer repo build, and inner repo build.
This is roughly equivalent to `DotNetBuildFromSourceFlavor` as `Product`` in the current control set. |
-| DotNetBuildRepo | "true", "false", "" | "" | When "true", indicates that the infrastructure is executing within outer repo build or inner repo build phases.
This is essentially the same as the legacy `ArcadeBuildFromSource`. |
+| DotNetBuildOrchestrator | "true", "false", "" | "" | When "true", indicates that the infrastructure is executing within the orchestrator and repo build.
This is roughly equivalent to `DotNetBuildFromSourceFlavor` as `Product`` in the current control set. |
+| DotNetBuildRepo | "true", "false", "" | "" | When "true", indicates that the infrastructure is executing within repo build. |
### Resource Controls
diff --git a/src/arcade/eng/Version.Details.xml b/src/arcade/eng/Version.Details.xml
index e1661c4d28e..3a4333e291f 100644
--- a/src/arcade/eng/Version.Details.xml
+++ b/src/arcade/eng/Version.Details.xml
@@ -1,6 +1,6 @@
-
+
@@ -27,21 +27,21 @@
https://github.com/dotnet/templating
43b5827697e501c442eb75ffff832cd4df2514fe
-
+
https://github.com/dotnet/arcade
- e46d1266547513110e67a3e4709fe8ecdfb20849
+ fb40abf449b14a387edce364cee47052761cb2d1
-
+
https://github.com/dotnet/arcade
- e46d1266547513110e67a3e4709fe8ecdfb20849
+ fb40abf449b14a387edce364cee47052761cb2d1
-
+
https://github.com/dotnet/arcade-services
- 24cbfec8065ff5e1fe870de8f62537a27eacd518
+ 4cca82b3e6c89a153160f0ada17871cbdb82526f
-
+
https://github.com/dotnet/arcade-services
- 24cbfec8065ff5e1fe870de8f62537a27eacd518
+ 4cca82b3e6c89a153160f0ada17871cbdb82526f
https://github.com/dotnet/xharness
diff --git a/src/arcade/eng/Versions.props b/src/arcade/eng/Versions.props
index 83659d0dbf7..b6b3efc2d44 100644
--- a/src/arcade/eng/Versions.props
+++ b/src/arcade/eng/Versions.props
@@ -23,8 +23,8 @@
9.0.0-beta.24223.1
- 1.1.0-beta.25229.6
- 1.1.0-beta.25229.6
+ 1.1.0-beta.25252.1
+ 1.1.0-beta.25252.1
2.0.0-beta5.25210.1
diff --git a/src/arcade/eng/common/core-templates/steps/source-build.yml b/src/arcade/eng/common/core-templates/steps/source-build.yml
index 9292c9b67a3..325231215d5 100644
--- a/src/arcade/eng/common/core-templates/steps/source-build.yml
+++ b/src/arcade/eng/common/core-templates/steps/source-build.yml
@@ -19,19 +19,6 @@ steps:
set -x
df -h
- # If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo.
- internalRestoreArgs=
- if ! git diff --quiet; then
- internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true'
- # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo.
- # This only works if there is a username/email configured, which won't be the case in most CI runs.
- git config --get user.email
- if [ $? -ne 0 ]; then
- git config user.email dn-bot@microsoft.com
- git config user.name dn-bot
- fi
- fi
-
# If building on the internal project, the internal storage variable may be available (usually only if needed)
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
# in the default public locations.
@@ -71,7 +58,6 @@ steps:
--restore --build --pack -bl \
${{ parameters.platform.buildArguments }} \
$internalRuntimeDownloadArgs \
- $internalRestoreArgs \
$targetRidArgs \
$runtimeOsArgs \
$baseOsArgs \
@@ -80,26 +66,12 @@ steps:
/p:DotNetBuildRepo=true \
displayName: Build
-# Upload build logs for diagnosis.
-- task: CopyFiles@2
- displayName: Prepare BuildLogs staging directory
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)'
- Contents: |
- **/*.log
- **/*.binlog
- artifacts/sb/prebuilt-report/**
- TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
- CleanTargetFolder: true
- continueOnError: true
- condition: succeededOrFailed()
-
- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
args:
displayName: Publish BuildLogs
- targetPath: '$(Build.StagingDirectory)/BuildLogs'
+ targetPath: artifacts/log/$[ coalesce(variables._BuildConfig, 'Release') ]/
artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt)
continueOnError: true
condition: succeededOrFailed()
diff --git a/src/arcade/global.json b/src/arcade/global.json
index 6662a179b57..b1105f6f98b 100644
--- a/src/arcade/global.json
+++ b/src/arcade/global.json
@@ -7,8 +7,8 @@
"dotnet": "10.0.100-preview.3.25201.16"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25229.4",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25229.4",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25252.4",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25252.4",
"Microsoft.Build.NoTargets": "3.7.0"
}
}
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj
index 4a9cdd21249..54ede91854d 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj
@@ -17,6 +17,7 @@
+
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj
index f41aac7ff30..1cd90849188 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj
@@ -11,7 +11,6 @@
Configuration Build configuration: "Debug", "Release", etc.
DotNetBuildRepo Build the repo as part of the entire .NET stack.
- DotNetBuildInnerRepo Build the repo as part of the entire .NET stack. This switch is used on the inner repo invocation and should not be passed by the user.
DotNetBuildOrchestrator Build the entire .NET stack.
DotNetBuildPass While building the repo as part of the entire .NET stack, this parameter specifies which build pass the current build is part of.
DotNetBuildSourceOnly Build the repo as part of the entire .NET stack with no external dependencies.
@@ -53,8 +52,6 @@
-
-
@@ -79,7 +76,7 @@
Don't do this filtering in non-unified builds to allow repos to define how different build passes are handled
in their own repo-specific builds.
-->
-
+
<_ProjectToBuildCurrentBuildPass Include="@(ProjectToBuild->WithMetadataValue('DotNetBuildPass', '$(_DotNetBuildPassNormalized)'))" />
@@ -264,7 +261,7 @@
+ Condition="'@(_SolutionBuildTargets)' != ''" />
-
-
-
-
-
-
- <_ShouldRunPublish Condition="'$(DotNetBuildPhase)' == 'InnerRepo' and '$(DotNetBuildOrchestrator)' == 'true'">true
- <_ShouldRunPublish Condition="'$(DotNetBuildPhase)' != 'InnerRepo' and '$(DotNetBuildOrchestrator)' != 'true'">true
- <_ShouldRunPublish Condition="'$(UseArPowBuildInfra)' == 'false'">true
-
+ Condition="'@(_SolutionBuildTargets)' != ''" />
<_PublishProps Include="@(_CommonProps)"/>
@@ -318,7 +286,7 @@
+ Condition="'$(Publish)' == 'true'"/>
-
-
-
+
$(NuGetPackageRoot)microsoft.dotnet.sourcebuild.tasks\$(MicrosoftDotNetSourceBuildTasksVersion)\build\
-
-
+
+
+ $(RepoRoot)
+ $(NuGetPackageRoot)
+ $(ArtifactsLogDir)
+ $(PrebuiltUsageReportDir)prebuilt-usage.xml
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
-
- $([MSBuild]::NormalizePath('$(SourceBuildPrebuiltReportDir)prebuilt-usage.xml'))
-
-
@@ -42,9 +40,7 @@
+ OutputDirectory="$(PrebuiltUsageReportDir)" />
-
-
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
index 1b544558109..142907fdb90 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj
@@ -37,11 +37,10 @@
-
+
true
@@ -52,7 +51,7 @@
so we want to inclue them here so they can be in the vertical's final manifest.
The VMR tooling to produce the final merged manifest for the VMR build as a whole will filter them out.
-->
-
+
@@ -72,11 +71,7 @@
false
true
-
- true
+ true
false
false
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoDefaults.props b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoDefaults.props
index 302d856b3af..75b312d7f5c 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoDefaults.props
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoDefaults.props
@@ -11,15 +11,11 @@
$(Platform)
-
-
- true
-
-
- InnerRepo
- Repo
- Orchestrator
+
+ true
+
+ true
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props
index e4a6e578d4f..d0927a742da 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/RepoLayout.props
@@ -5,14 +5,6 @@
Properties describing the layout of the repo.
-->
-
-
- $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)'))
- $([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)'))
- $([MSBuild]::NormalizeDirectory('$(UserProfile)', '.nuget', 'packages'))
- $([MSBuild]::NormalizeDirectory('$(HOME)', '.nuget', 'packages'))
-
-
$([MSBuild]::NormalizeDirectory('$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'global.json'))'))
@@ -58,4 +50,17 @@
$([MSBuild]::NormalizeDirectory('$(VisualStudioSetupOutputPath)', 'DevDivPackages'))
+
+
+ $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)'))
+ $([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)'))
+
+
+ $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', '.prebuilt-packages'))
+
+
+ $([MSBuild]::NormalizeDirectory('$(UserProfile)', '.nuget', 'packages'))
+ $([MSBuild]::NormalizeDirectory('$(HOME)', '.nuget', 'packages'))
+
+
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/Noop.proj b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/Noop.proj
deleted file mode 100644
index c4a35662a15..00000000000
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/Noop.proj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/README.md b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/README.md
deleted file mode 100644
index 1b8394f9f74..00000000000
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Running source only builds
-
-These args control parts of source only build:
-
-* `-sb` - Enable simple developer machine repro defaults.
-* Not implemented but recognized as potentially useful:
- * Disable Git repo isolation (slightly faster, but not recommended for dev machines). We may want to use this for CI.
- * Clone and build upstreams from source rather than using intermediate nupkgs.
- * Not as useful as it sounds: this is only the "production" build so building this way is still not appropriate for a typical Linux distro archive.
-
-*All* vmr-build functionality is brought in only when `DotNetBuild`
-is set to true, to ensure the new MSBuild props/targets don't introduce bugs
-into ordinary builds.
-
-File issues encountered with this directory's tooling in the
-[dotnet/source-build](https://github.com/dotnet/source-build) repository rather
-than [dotnet/arcade](https://github.com/dotnet/arcade) to contact the team
-maintaining this functionality directly.
-
-## MSBuild execution
-
-The source-build targets work by having the build noop, and instead recursively
-call an inner build after some setup. The targets work roughly like this:
-
-* Run `./build.sh -sb`
- * Run `dotnet msbuild ... Build.proj /p:DotNetBuildRepo=true`
- * [Hook] Before **Outer Execute**:
- * Clone the source into `artifacts/sb/src`
- * Assemble a build command by appending to the `dotnet msbuild` call.
- * Run `dotnet msbuild ... Build.proj /p:DotNetBuildRepo=true ... /p:DotNetBuildInnerRepo=true`
- * [Hook] Before **Inner Execute**:
- * Compile source-build MSBuild tasks. (Temporary, should migrate to Arcade task DLL.)
- * During **Inner Execute**:
- * `MSBuild Projects=Tools.proj Targets=Restore`
- * [Hook] Inject intermediate nupkg package reference through MSBuild task.
- * [Hook] After Restore, copy the extracted source-built nupkgs to a new dir and inject the dir into the NuGet.config.
- * The build happens!
- * **Inner Execute** complete!
- * Create intermediate nupkg that contains the inner source-build's artifacts.
- * MSBuild `Projects=SourceBuildIntermediate.proj Targets=Restore;Pack`
- * Empty out the list of `ProjectToBuild`, because we already built them from source.
- * Put `Noop.proj` in the list as a sentinel value.
- * During **Outer Execute**:
- * MSBuild `Projects=Tools.proj Targets=Restore`
- * Does nothing interesting.
- * "Builds" `Noop.proj`, doing nothing.
- * **Outer Execute** complete!
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcade.targets b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcade.targets
deleted file mode 100644
index 41ddd5500f3..00000000000
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcade.targets
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
- .zip
- -
- 0
-
-
-
- .tar.gz
- --
- false
-
-
-
-
-
-
-
- true
-
-
- $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'sb'))
- $([MSBuild]::NormalizeDirectory('$(SourceBuildOutputDir)', 'src'))
- $(RepoRoot)
- $([MSBuild]::NormalizeDirectory('$(SourceBuildOutputDir)', 'package-cache'))
-
- $([MSBuild]::NormalizeDirectory('$(SourceBuildOutputDir)', 'prebuilt-report'))
-
-
- $([MSBuild]::NormalizeDirectory('$(CurrentRepoSourceBuildSourceDir)', 'artifacts'))
- $([MSBuild]::NormalizeDirectory('$(CurrentRepoSourceBuildArtifactsDir)', 'log', '$(Configuration)'))
-
-
-
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets
deleted file mode 100644
index c3ba4a616bf..00000000000
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/SourceBuild/SourceBuildArcadeBuild.targets
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
-
-
-
-
- $([MSBuild]::NormalizePath('$(CurrentRepoSourceBuildArtifactsLogsDir)', 'source-inner-build.binlog'))
-
- $(CurrentRepoSourceBuildSourceDir)
- $(RepoRoot)
-
- true
-
- <_DirSeparatorEscapedCharForExecArg Condition="'$(OS)' == 'Windows_NT'">\
- <_DirSeparatorEscapedCharForExecArg Condition="'$(OS)' != 'Windows_NT'" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(InnerBuildArgs) /p:DotNetBuildInnerRepo=true
- $(InnerBuildArgs) /p:DotNetBuildSourceOnly=$(DotNetBuildSourceOnly)
- $(InnerBuildArgs) /p:DotNetBuildTargetRidOnly=$(DotNetBuildTargetRidOnly)
-
- $(InnerBuildArgs) /p:RepoRoot="$(InnerSourceBuildRepoRoot)$(_DirSeparatorEscapedCharForExecArg)"
-
- $(InnerBuildArgs) /p:ArtifactsDir="$(CurrentRepoSourceBuildArtifactsDir)$(_DirSeparatorEscapedCharForExecArg)"
-
- $(InnerBuildArgs) /bl:"$(CurrentRepoSourceBuildBinlogFile)"
-
- $(InnerBuildArgs) /p:ContinuousIntegrationBuild=true
-
-
- $(InnerBuildArgs) /p:SourceBuildOutputDir="$(SourceBuildOutputDir)$(_DirSeparatorEscapedCharForExecArg)"
-
- $(InnerBuildArgs) /p:DotNetPackageVersionPropsPath="$(DotNetPackageVersionPropsPath)"
-
- $(InnerBuildArgs) /p:GitHubRepositoryName=$(GitHubRepositoryName)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
- $(ARCADE_BUILD_TOOL_COMMAND)
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/TargetFrameworkFilters.BeforeCommonTargets.targets b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/TargetFrameworkFilters.BeforeCommonTargets.targets
index c9a309894e1..d78e613edd0 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/TargetFrameworkFilters.BeforeCommonTargets.targets
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/TargetFrameworkFilters.BeforeCommonTargets.targets
@@ -4,7 +4,7 @@
- netstandard2.0%3bnetstandard2.1%3bnetcoreapp2.1%3bnetcoreapp3.1%3bnet5.0%3bnet6.0%3bnet7.0%3bnet8.0%3bnet9.0%3bnet10.0
+ netstandard2.0%3bnetstandard2.1%3bnetcoreapp2.1%3bnetcoreapp3.1%3bnet5.0%3bnet6.0%3bnet7.0%3bnet8.0%3bnet9.0%3bnet10.0
<_EnableTargetFrameworkFiltering>false
<_EnableTargetFrameworkFiltering Condition="'$(NoTargetFrameworkFiltering)' != 'true' and '$(DotNetTargetFrameworkFilter)' != ''">true
diff --git a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj
index 78245829711..98169efb405 100644
--- a/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj
+++ b/src/arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj
@@ -37,14 +37,9 @@
-
-
<_ImportOrUseTooling>false
- <_ImportOrUseTooling Condition="'$(DotNetBuildSourceOnly)' != 'true' or ('$(DotNetBuildPhase)' == 'Repo' and '$(DotNetBuildOrchestrator)' != 'true')">true
+ <_ImportOrUseTooling Condition="'$(DotNetBuildSourceOnly)' != 'true' or ('$(DotNetBuildRepo)' == 'true' and '$(DotNetBuildOrchestrator)' != 'true')">true
@@ -101,7 +96,7 @@
+ Condition="'$(PrebuiltUsage)' == 'true'" />
diff --git a/src/arcade/src/Microsoft.DotNet.Build.Tasks.Packaging/src/NuGetUtility.cs b/src/arcade/src/Microsoft.DotNet.Build.Tasks.Packaging/src/NuGetUtility.cs
index 1233dc63852..323a7d283d7 100644
--- a/src/arcade/src/Microsoft.DotNet.Build.Tasks.Packaging/src/NuGetUtility.cs
+++ b/src/arcade/src/Microsoft.DotNet.Build.Tasks.Packaging/src/NuGetUtility.cs
@@ -37,7 +37,9 @@ internal static IEnumerable GetAllVersionsForPackageId(string packageId
{
var sourceRepository = new SourceRepository(packageSource, Repository.Provider.GetCoreV3());
var packageMetadataResource = sourceRepository.GetResourceAsync().GetAwaiter().GetResult();
+#pragma warning disable CA2025 // we force GetMetadataAsync to be synchronous so sourceCacheContext can't be disposed early
searchMetadata = packageMetadataResource.GetMetadataAsync(packageId, includePrerelease, includeUnlisted, sourceCacheContext, logger, cancellationToken).GetAwaiter().GetResult();
+#pragma warning restore
loadedData = true;
}
catch (Exception e)
diff --git a/src/arcade/src/Microsoft.DotNet.SignTool.Tests/SignToolTests.cs b/src/arcade/src/Microsoft.DotNet.SignTool.Tests/SignToolTests.cs
index 0ff4fa09b2f..971edb06198 100644
--- a/src/arcade/src/Microsoft.DotNet.SignTool.Tests/SignToolTests.cs
+++ b/src/arcade/src/Microsoft.DotNet.SignTool.Tests/SignToolTests.cs
@@ -259,6 +259,8 @@ public static IEnumerable
-
+
-
+
@@ -71,9 +71,9 @@
-
+
-
+
diff --git a/src/aspnetcore/.github/policies/resourceManagement.yml b/src/aspnetcore/.github/policies/resourceManagement.yml
index 0b6766c8a45..1d002ad979d 100644
--- a/src/aspnetcore/.github/policies/resourceManagement.yml
+++ b/src/aspnetcore/.github/policies/resourceManagement.yml
@@ -663,7 +663,7 @@ configuration:
- isAction:
action: Opened
- isActivitySender:
- user: app/dependabot
+ user: dependabot[bot]
issueAuthor: False
- targetsBranch:
branch: main
diff --git a/src/aspnetcore/eng/DotNetBuild.props b/src/aspnetcore/eng/DotNetBuild.props
deleted file mode 100644
index 50e2eb96238..00000000000
--- a/src/aspnetcore/eng/DotNetBuild.props
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
- aspnetcore
- true
-
-
-
-
-
-
-
-
-
-
-
-
- <_AdditionalRepoTaskBuildArgs />
- <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeed)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeed $(DotNetRuntimeSourceFeed)
- <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeedKey)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeedkey $(DotNetRuntimeSourceFeedKey)
- <_AdditionalRepoTaskBuildArgs Condition="'$(RestoreConfigFile)' != ''" >$(_AdditionalRepoTaskBuildArgs) /p:RestoreConfigFile=$(RestoreConfigFile)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(CurrentRepoSourceBuildArtifactsDir)\installers\$(Configuration)\
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/aspnetcore/eng/Version.Details.xml b/src/aspnetcore/eng/Version.Details.xml
index f9507ed0fa3..30507643f3a 100644
--- a/src/aspnetcore/eng/Version.Details.xml
+++ b/src/aspnetcore/eng/Version.Details.xml
@@ -8,336 +8,337 @@
See https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md for instructions on using darc.
-->
-
+
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
+
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
@@ -356,44 +357,44 @@
https://github.com/dotnet/roslyn
afdd413cee50c16318620252e4e64dc326e2d300
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
https://github.com/dotnet/extensions
diff --git a/src/aspnetcore/eng/Versions.props b/src/aspnetcore/eng/Versions.props
index d9c03e13a57..cf8d7a0571b 100644
--- a/src/aspnetcore/eng/Versions.props
+++ b/src/aspnetcore/eng/Versions.props
@@ -67,94 +67,94 @@
-->
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
9.5.0-preview.1.25223.1
9.5.0-preview.1.25223.1
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
4.13.0-3.24613.7
@@ -167,12 +167,12 @@
6.2.4
6.2.4
- 10.0.0-beta.25228.104
- 10.0.0-beta.25228.104
- 10.0.0-beta.25228.104
- 10.0.0-beta.25228.104
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
- 10.0.0-preview.25228.104
+ 10.0.0-preview.25251.105
1.0.0-prerelease.25217.3
1.0.0-prerelease.25217.3
@@ -226,13 +226,12 @@
6.0.0
6.0.0
- 17.4.0
1.2.0
- 17.4.0
- 17.4.0
- 17.4.0
1.2.6
- 17.4.0
+ 17.8.3
+ 17.8.3
+ 17.8.3
+ 17.8.3
- false
- true
-
-
- ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll
-
+
+ Exe
+ $(TargetFrameworkForNETSDK)
+
+ false
+ true
+ Guard
+
-
-
- $(SystemCommandLineDllPath)
-
-
+
+ ..\..\..\System.CommandLine\bin\Release\$(TargetFrameworkForNETSDK)\System.CommandLine.dll
+
+
+
+
+ $(SystemCommandLineDllPath)
+
+
diff --git a/src/deployment-tools/eng/Version.Details.xml b/src/deployment-tools/eng/Version.Details.xml
index fa7e8568896..109df77e736 100644
--- a/src/deployment-tools/eng/Version.Details.xml
+++ b/src/deployment-tools/eng/Version.Details.xml
@@ -1,11 +1,11 @@
-
+
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
diff --git a/src/deployment-tools/global.json b/src/deployment-tools/global.json
index 4ae23dd54d1..8c03fac5073 100644
--- a/src/deployment-tools/global.json
+++ b/src/deployment-tools/global.json
@@ -8,7 +8,7 @@
"dotnet": "10.0.100-preview.3.25201.16"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25251.102",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25251.105",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0"
}
diff --git a/src/diagnostics/eng/Version.Details.xml b/src/diagnostics/eng/Version.Details.xml
index 0b105f2cac4..4cef3f20b56 100644
--- a/src/diagnostics/eng/Version.Details.xml
+++ b/src/diagnostics/eng/Version.Details.xml
@@ -1,5 +1,5 @@
-
+
https://github.com/microsoft/clrmd
@@ -11,37 +11,37 @@
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
https://github.com/dotnet/arcade
ccfe6da198c5f05534863bbb1bff66e830e0c6ab
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
-
+
https://github.com/dotnet/dotnet
- efbfb137a317fb339a6b7be36af7188cc508dc95
+ 78c5fa9a48d469a19ab5a61c16c955c1f370b5be
https://github.com/dotnet/roslyn
diff --git a/src/diagnostics/eng/Versions.props b/src/diagnostics/eng/Versions.props
index 5a0b1f21636..ca58f62b22f 100644
--- a/src/diagnostics/eng/Versions.props
+++ b/src/diagnostics/eng/Versions.props
@@ -16,13 +16,13 @@
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25229.109
+ 10.0.0-preview.5.25229.109
- 10.0.0-preview.5.25228.104
- 10.0.0-preview.5.25228.104
+ 10.0.0-preview.5.25229.109
+ 10.0.0-preview.5.25229.109
- 10.0.100-preview.5.25228.104
+ 10.0.100-preview.5.25229.109
@@ -39,7 +39,7 @@
6.0.0
4.0.0-beta.25228.1
17.10.0-beta1.24272.1
- 3.1.16
+ 3.1.21
6.0.0
6.0.4
6.0.0
@@ -55,7 +55,7 @@
8.0.0
8.0.5
2.0.3
- 10.0.0-beta.25228.104
+ 10.0.0-beta.25229.109
1.2.0-beta.556
7.0.0-beta.22316.2
10.0.26100.1
diff --git a/src/diagnostics/global.json b/src/diagnostics/global.json
index 8d065d271d3..7665087403f 100644
--- a/src/diagnostics/global.json
+++ b/src/diagnostics/global.json
@@ -17,6 +17,6 @@
},
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.5.0",
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25228.104"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25229.109"
}
}
diff --git a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/GCHeapDump.cs b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/GCHeapDump.cs
index 39ac9ad33ea..bd5afb7dc21 100644
--- a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/GCHeapDump.cs
+++ b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/GCHeapDump.cs
@@ -13,17 +13,17 @@
using Address = System.UInt64;
///
-/// Represents a .GCDump file. You can open it for reading with the construtor
+/// Represents a .GCDump file. You can open it for reading with the constructor
/// and you can write one with WriteMemoryGraph
///
public class GCHeapDump : IFastSerializable, IFastSerializableVersion
{
public GCHeapDump(string inputFileName) :
- this(new Deserializer(inputFileName, new SerializationConfiguration() { StreamLabelWidth = StreamLabelWidth.FourBytes }))
+ this(new Deserializer(inputFileName, SerializationSettings.Default.WithStreamLabelWidth(StreamLabelWidth.FourBytes)))
{ }
public GCHeapDump(Stream inputStream, string streamName) :
- this(new Deserializer(inputStream, streamName, new SerializationConfiguration() { StreamLabelWidth = StreamLabelWidth.FourBytes }))
+ this(new Deserializer(inputStream, streamName, SerializationSettings.Default.WithStreamLabelWidth(StreamLabelWidth.FourBytes)))
{ }
///
@@ -193,7 +193,7 @@ public static Dictionary GetProcessesWithGCHeaps()
private void Write(string outputFileName)
{
Debug.Assert(MemoryGraph != null);
- Serializer serializer = new(new IOStreamStreamWriter(outputFileName, config: new SerializationConfiguration() { StreamLabelWidth = StreamLabelWidth.FourBytes }), this);
+ Serializer serializer = new(new IOStreamStreamWriter(outputFileName, settings: SerializationSettings.Default.WithStreamLabelWidth(StreamLabelWidth.FourBytes)), this);
serializer.Close();
}
diff --git a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/Graph.cs b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/Graph.cs
index dc6760fb46d..c5d5520ac5d 100644
--- a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/Graph.cs
+++ b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/Graph.cs
@@ -469,7 +469,7 @@ private void ClearWorker()
{
RootIndex = NodeIndex.Invalid;
m_writer ??= new SegmentedMemoryStreamWriter(m_expectedNodeCount * 8,
- m_isVeryLargeGraph ? new SerializationConfiguration() { StreamLabelWidth = StreamLabelWidth.EightBytes } : null);
+ m_isVeryLargeGraph ? SerializationSettings.Default.WithStreamLabelWidth(StreamLabelWidth.EightBytes) : SerializationSettings.Default);
m_totalSize = 0;
m_totalRefs = 0;
@@ -597,7 +597,7 @@ public void FromStream(Deserializer deserializer)
// TODO be lazy about reading in the blobs.
int blobCount = deserializer.ReadInt();
SegmentedMemoryStreamWriter writer = new(blobCount,
- m_isVeryLargeGraph ? new SerializationConfiguration() { StreamLabelWidth = StreamLabelWidth.EightBytes } : null);
+ m_isVeryLargeGraph ? SerializationSettings.Default.WithStreamLabelWidth(StreamLabelWidth.EightBytes) : SerializationSettings.Default);
while (8 <= blobCount)
{
diff --git a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/MemoryGraph.cs b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/MemoryGraph.cs
index 68696ccb629..4d803817632 100644
--- a/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/MemoryGraph.cs
+++ b/src/diagnostics/src/Tools/dotnet-gcdump/DotNetHeapDump/MemoryGraph.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using FastSerialization;
@@ -36,8 +37,7 @@ public void WriteAsBinaryFile(string outputFileName)
}
public static MemoryGraph ReadFromBinaryFile(string inputFileName)
{
- Deserializer deserializer = new(inputFileName);
- deserializer.TypeResolver = typeName => System.Type.GetType(typeName); // resolve types in this assembly (and mscorlib)
+ Deserializer deserializer = new(inputFileName, SerializationSettings.Default);
deserializer.RegisterFactory(typeof(MemoryGraph), delegate { return new MemoryGraph(1); });
deserializer.RegisterFactory(typeof(Module), delegate { return new Module(0); });
return (MemoryGraph)deserializer.GetEntryObject();
diff --git a/src/efcore/eng/Version.Details.xml b/src/efcore/eng/Version.Details.xml
index e65d9e17619..2f3763be94a 100644
--- a/src/efcore/eng/Version.Details.xml
+++ b/src/efcore/eng/Version.Details.xml
@@ -1,84 +1,84 @@
-
+
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- dab45dead83a6cf3e5fa9df1396c51e6a6b61c07
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
diff --git a/src/efcore/eng/Versions.props b/src/efcore/eng/Versions.props
index 3fdb61b5ed5..8bcd1229fbd 100644
--- a/src/efcore/eng/Versions.props
+++ b/src/efcore/eng/Versions.props
@@ -16,24 +16,24 @@
False
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
- 10.0.0-preview.5.25251.102
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
+ 10.0.0-preview.5.25251.105
- 10.0.0-beta.25251.102
+ 10.0.0-beta.25251.105
17.13.9
diff --git a/src/efcore/global.json b/src/efcore/global.json
index 7497505d190..98aa180e32b 100644
--- a/src/efcore/global.json
+++ b/src/efcore/global.json
@@ -13,7 +13,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25251.102",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25251.102"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25251.105",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25251.105"
}
}
diff --git a/src/efcore/src/EFCore/ValueGeneration/SequentialGuidValueGenerator.cs b/src/efcore/src/EFCore/ValueGeneration/SequentialGuidValueGenerator.cs
index 569de845e67..99c87700780 100644
--- a/src/efcore/src/EFCore/ValueGeneration/SequentialGuidValueGenerator.cs
+++ b/src/efcore/src/EFCore/ValueGeneration/SequentialGuidValueGenerator.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.Buffers.Binary;
using System.Runtime.InteropServices;
namespace Microsoft.EntityFrameworkCore.ValueGeneration;
@@ -35,17 +36,29 @@ public class SequentialGuidValueGenerator : ValueGenerator
/// The value to be assigned to a property.
public override Guid Next(EntityEntry entry)
{
- Span guidBytes = stackalloc byte[16];
- var succeeded = Guid.NewGuid().TryWriteBytes(guidBytes);
- Check.DebugAssert(succeeded, "Could not write Guid to Span");
- var incrementedCounter = Interlocked.Increment(ref _counter);
- Span counterBytes = stackalloc byte[sizeof(long)];
- MemoryMarshal.Write(counterBytes, in incrementedCounter);
+ var guid = Guid.NewGuid();
- if (!BitConverter.IsLittleEndian)
- {
- counterBytes.Reverse();
- }
+ var counter = BitConverter.IsLittleEndian
+ ? Interlocked.Increment(ref _counter)
+ : BinaryPrimitives.ReverseEndianness(Interlocked.Increment(ref _counter));
+
+ var counterBytes = MemoryMarshal.AsBytes(
+ new ReadOnlySpan(in counter));
+
+ // Guid uses a sequential layout where the first 8 bytes (_a, _b, _c)
+ // are subject to byte-swapping on big-endian systems when reading from
+ // or writing to a byte array (e.g., via MemoryMarshal or Guid constructors).
+ // The remaining 8 bytes (_d through _k) are interpreted as-is,
+ // regardless of endianness.
+ //
+ // Since we only modify the last 8 bytes of the Guid (bytes 8–15),
+ // byte order does not affect the result.
+ //
+ // This allows us to safely use MemoryMarshal.AsBytes to directly access
+ // and modify the Guid's underlying bytes without any extra conversions,
+ // which also slightly improves performance on big-endian architectures.
+ var guidBytes = MemoryMarshal.AsBytes(
+ new Span(ref guid));
guidBytes[08] = counterBytes[1];
guidBytes[09] = counterBytes[0];
@@ -56,7 +69,7 @@ public override Guid Next(EntityEntry entry)
guidBytes[14] = counterBytes[3];
guidBytes[15] = counterBytes[2];
- return new Guid(guidBytes);
+ return guid;
}
///
diff --git a/src/emsdk/eng/Version.Details.xml b/src/emsdk/eng/Version.Details.xml
index 18a6dabc016..23821fda6b1 100644
--- a/src/emsdk/eng/Version.Details.xml
+++ b/src/emsdk/eng/Version.Details.xml
@@ -1,54 +1,54 @@
-
+
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/binaryen
- 3d70e5233ae6b4fdbe94a891fadf0f3c860836db
+ 80ce9378dc799e9513e7faaa372aba9904d3958e
-
+
https://github.com/dotnet/cpython
- 683ba59cf4c8004f8b612ec989f71635ec7ac8bf
+ d2b3a4f371dc20282352d4248d4e2fe815137357
-
+
https://github.com/dotnet/cpython
- 683ba59cf4c8004f8b612ec989f71635ec7ac8bf
+ d2b3a4f371dc20282352d4248d4e2fe815137357
-
+
https://github.com/dotnet/cpython
- 683ba59cf4c8004f8b612ec989f71635ec7ac8bf
+ d2b3a4f371dc20282352d4248d4e2fe815137357
-
+
https://github.com/dotnet/cpython
- 683ba59cf4c8004f8b612ec989f71635ec7ac8bf
+ d2b3a4f371dc20282352d4248d4e2fe815137357
https://github.com/dotnet/node
@@ -82,69 +82,69 @@
https://github.com/dotnet/node
9be2b6333d1bd762e567741f0e37c78ad2740110
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
https://github.com/dotnet/emscripten
@@ -152,117 +152,117 @@
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/llvm-project
- d38f1dd01fff4127bb86afa86c1e5ac44154a1d7
+ 06dc649fc031114f675b184dc579d7c02d3d1f40
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
-
+
https://github.com/dotnet/dotnet
- 721dc7a2a59416b21fc49447d264009d708d6000
+ 3b83017bbef1dd0918f7c2f894cfd07f56bcd689
diff --git a/src/emsdk/eng/Versions.props b/src/emsdk/eng/Versions.props
index 200604774fd..a6fd9865c5b 100644
--- a/src/emsdk/eng/Versions.props
+++ b/src/emsdk/eng/Versions.props
@@ -18,19 +18,19 @@
7.0.20
6.0.36
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
- 10.0.0-alpha.1.25220.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
- 10.0.0-alpha.1.25218.5
- 10.0.0-alpha.1.25218.5
- 10.0.0-alpha.1.25218.5
- 10.0.0-alpha.1.25218.5
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
+ 10.0.0-alpha.1.25227.1
10.0.0-alpha.1.25222.1
10.0.0-alpha.1.25222.1
@@ -41,14 +41,14 @@
10.0.0-alpha.1.25222.1
10.0.0-alpha.1.25222.1
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
- 19.1.0-alpha.1.25218.2
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
+ 19.1.0-alpha.1.25228.1
10.0.0-alpha.1.25218.4
@@ -57,11 +57,11 @@
release
- 10.0.0-beta.25223.119
- 10.0.0-beta.25223.119
- 10.0.0-beta.25223.119
- 10.0.0-beta.25223.119
- 10.0.0-beta.25223.119
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
+ 10.0.0-beta.25251.105
1.1.87-gba258badda
diff --git a/src/emsdk/eng/common/core-templates/job/source-build.yml b/src/emsdk/eng/common/core-templates/job/source-build.yml
index 05f7ad6ef0d..d805d5faeb9 100644
--- a/src/emsdk/eng/common/core-templates/job/source-build.yml
+++ b/src/emsdk/eng/common/core-templates/job/source-build.yml
@@ -27,6 +27,8 @@ parameters:
# Specifies the build script to invoke to perform the build in the repo. The default
# './build.sh' should work for typical Arcade repositories, but this is customizable for
# difficult situations.
+ # buildArguments: ''
+ # Specifies additional build arguments to pass to the build script.
# jobProperties: {}
# A list of job properties to inject at the top level, for potential extensibility beyond
# container and pool.
diff --git a/src/emsdk/eng/common/core-templates/jobs/jobs.yml b/src/emsdk/eng/common/core-templates/jobs/jobs.yml
index e653d19971c..bf35b78faa6 100644
--- a/src/emsdk/eng/common/core-templates/jobs/jobs.yml
+++ b/src/emsdk/eng/common/core-templates/jobs/jobs.yml
@@ -96,7 +96,7 @@ jobs:
${{ parameter.key }}: ${{ parameter.value }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
+ - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, ''), eq(parameters.isAssetlessBuild, true)) }}:
- template: ../job/publish-build-assets.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
@@ -112,7 +112,7 @@ jobs:
- Source_Build_Complete
runAsPublic: ${{ parameters.runAsPublic }}
- publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }}
+ publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }}
isAssetlessBuild: ${{ parameters.isAssetlessBuild }}
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
diff --git a/src/emsdk/eng/common/core-templates/jobs/source-build.yml b/src/emsdk/eng/common/core-templates/jobs/source-build.yml
index a10ccfbee6d..df24c948ba1 100644
--- a/src/emsdk/eng/common/core-templates/jobs/source-build.yml
+++ b/src/emsdk/eng/common/core-templates/jobs/source-build.yml
@@ -14,7 +14,7 @@ parameters:
# This is the default platform provided by Arcade, intended for use by a managed-only repo.
defaultManagedPlatform:
name: 'Managed'
- container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9'
+ container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-amd64'
# Defines the platforms on which to run build jobs. One job is created for each platform, and the
# object in this array is sent to the job template as 'platform'. If no platforms are specified,
diff --git a/src/emsdk/eng/common/core-templates/steps/source-build.yml b/src/emsdk/eng/common/core-templates/steps/source-build.yml
index d65c222c069..c6b9ef51ac6 100644
--- a/src/emsdk/eng/common/core-templates/steps/source-build.yml
+++ b/src/emsdk/eng/common/core-templates/steps/source-build.yml
@@ -84,6 +84,7 @@ steps:
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
--configuration $buildConfig \
--restore --build --pack $publishArgs -bl \
+ ${{ parameters.platform.buildArguments }} \
$officialBuildArgs \
$internalRuntimeDownloadArgs \
$internalRestoreArgs \
@@ -93,9 +94,7 @@ steps:
$portableBuildArgs \
/p:DotNetBuildSourceOnly=true \
/p:DotNetBuildRepo=true \
- /p:AssetManifestFileName=$assetManifestFileName \
- /p:SetUpSourceBuildIntermediateNupkgCache=false \
- /p:ReportPrebuiltUsage=false
+ /p:AssetManifestFileName=$assetManifestFileName
displayName: Build
# Upload build logs for diagnosis.
@@ -122,14 +121,3 @@ steps:
continueOnError: true
condition: succeededOrFailed()
sbomEnabled: false # we don't need SBOM for logs
-
-# Manually inject component detection so that we can ignore the source build upstream cache, which contains
-# a nupkg cache of input packages (a local feed).
-# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir'
-# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets
-- template: /eng/common/core-templates/steps/component-governance.yml
- parameters:
- displayName: Component Detection (Exclude upstream cache)
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
- componentGovernanceIgnoreDirectories: '$(Build.SourcesDirectory)/artifacts/sb/src/artifacts/obj/source-built-upstream-cache'
- disableComponentGovernance: ${{ eq(variables['System.TeamProject'], 'public') }}
diff --git a/src/emsdk/eng/common/core-templates/steps/source-index-stage1-publish.yml b/src/emsdk/eng/common/core-templates/steps/source-index-stage1-publish.yml
index 473a22c4719..99c2326fc19 100644
--- a/src/emsdk/eng/common/core-templates/steps/source-index-stage1-publish.yml
+++ b/src/emsdk/eng/common/core-templates/steps/source-index-stage1-publish.yml
@@ -1,6 +1,6 @@
parameters:
- sourceIndexUploadPackageVersion: 2.0.0-20240522.1
- sourceIndexProcessBinlogPackageVersion: 1.0.1-20240522.1
+ sourceIndexUploadPackageVersion: 2.0.0-20250425.2
+ sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
binlogPath: artifacts/log/Debug/Build.binlog
diff --git a/src/emsdk/global.json b/src/emsdk/global.json
index 800fcde9cba..ae0b5fa127e 100644
--- a/src/emsdk/global.json
+++ b/src/emsdk/global.json
@@ -3,8 +3,8 @@
"dotnet": "10.0.100-preview.3.25201.16"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25223.119",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25223.119",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25251.105",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25251.105",
"Microsoft.Build.Traversal": "3.4.0"
}
}
diff --git a/src/fsharp/proto.proj b/src/fsharp/proto.proj
index eb0814976ea..69497f54883 100644
--- a/src/fsharp/proto.proj
+++ b/src/fsharp/proto.proj
@@ -7,7 +7,8 @@
-
+
+
diff --git a/src/msbuild/.github/workflows/labeler-build-predictor.yml b/src/msbuild/.github/workflows/labeler-build-predictor.yml
deleted file mode 100644
index 8a12b312db0..00000000000
--- a/src/msbuild/.github/workflows/labeler-build-predictor.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: "Labeler: Build Predictor App"
-
-on:
- # Allow dispatching the workflow via the Actions UI
- workflow_dispatch:
- inputs:
- rebuild:
- description: "Force a rebuild of the app"
- type: boolean
-
-jobs:
- build-predictor:
- permissions:
- actions: write
- uses: dotnet/issue-labeler/.github/workflows/build-predictor.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- rebuild: ${{ inputs.rebuild }}
diff --git a/src/msbuild/.github/workflows/labeler-cache-retention.yml b/src/msbuild/.github/workflows/labeler-cache-retention.yml
index 26a09ee7244..9669e31da69 100644
--- a/src/msbuild/.github/workflows/labeler-cache-retention.yml
+++ b/src/msbuild/.github/workflows/labeler-cache-retention.yml
@@ -1,13 +1,35 @@
+# Regularly restore the prediction models from cache to prevent cache eviction
name: "Labeler: Cache Retention"
+# For more information about GitHub's action cache limits and eviction policy, see:
+# https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
+
on:
schedule:
- cron: "10 3 * * *" # 3:10 every day (arbitrary time daily, modified to different values in each repository)
workflow_dispatch:
+ inputs:
+ cache_key:
+ description: "The cache key suffix to use for restoring the model from cache. Defaults to 'ACTIVE'."
+ required: true
+ default: "ACTIVE"
+
+env:
+ CACHE_KEY: ${{ inputs.cache_key || 'ACTIVE' }}
jobs:
- cache-retention:
- # Do not run the workflow on forks outside the 'dotnet' org
- if: ${{ github.repository_owner == 'dotnet' }}
- uses: dotnet/issue-labeler/.github/workflows/cache-retention.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
+ restore-cache:
+ # Do not automatically run the workflow on forks outside the 'dotnet' org
+ if: ${{ github.event_name == 'workflow_dispatch' || github.repository_owner == 'dotnet' }}
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ type: ["issues", "pulls"]
+ steps:
+ - uses: dotnet/issue-labeler/restore@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: ${{ matrix.type }}
+ cache_key: ${{ env.CACHE_KEY }}
+ fail-on-cache-miss: true
diff --git a/src/msbuild/.github/workflows/labeler-predict-issues.yml b/src/msbuild/.github/workflows/labeler-predict-issues.yml
index e560988577d..95cbf2512a8 100644
--- a/src/msbuild/.github/workflows/labeler-predict-issues.yml
+++ b/src/msbuild/.github/workflows/labeler-predict-issues.yml
@@ -1,33 +1,53 @@
-name: "Labeler: Predict Issue Labels"
+# Predict labels for Issues using a trained model
+name: "Labeler: Predict (Issues)"
on:
- # Only automatically predict area labels when issues are originally opened
+ # Only automatically predict area labels when issues are first opened
issues:
types: opened
# Allow dispatching the workflow via the Actions UI, specifying ranges of numbers
workflow_dispatch:
inputs:
- issue_numbers:
- description: "Issue Numbers (comma-separated list of ranges)"
- type: string
- model_cache_key:
- description: "The cache key suffix to use for loading the model"
- type: string
+ issues:
+ description: "Issue Numbers (comma-separated list of ranges)."
required: true
- default: "LIVE"
+ cache_key:
+ description: "The cache key suffix to use for restoring the model. Defaults to 'ACTIVE'."
+ required: true
+ default: "ACTIVE"
+
+env:
+ # Do not allow failure for jobs triggered automatically (as this causes red noise on the workflows list)
+ ALLOW_FAILURE: ${{ github.event_name == 'workflow_dispatch' }}
+
+ LABEL_PREFIX: "Area: "
+ THRESHOLD: 0.40
jobs:
- predict-issues:
- # Do not run the workflow on forks outside the 'dotnet' org
- if: ${{ github.repository_owner == 'dotnet' && (inputs.issue_numbers || github.event.issue.number) }}
+ predict-issue-label:
+ # Do not automatically run the workflow on forks outside the 'dotnet' org
+ if: ${{ github.event_name == 'workflow_dispatch' || github.repository_owner == 'dotnet' }}
+ runs-on: ubuntu-latest
permissions:
issues: write
- uses: dotnet/issue-labeler/.github/workflows/predict-issues.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- model_cache_key: ${{ inputs.model_cache_key }}
- issue_numbers: ${{ inputs.issue_numbers || github.event.issue.number }}
- label_prefix: "Area: "
- threshold: 0.40
- # default_label: "needs-area-label"
+ steps:
+ - name: "Restore issues model from cache"
+ id: restore-model
+ uses: dotnet/issue-labeler/restore@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: issues
+ fail-on-cache-miss: ${{ env.ALLOW_FAILURE }}
+ quiet: true
+ - name: "Predict issue labels"
+ id: prediction
+ if: ${{ steps.restore-model.outputs.cache-hit == 'true' }}
+ uses: dotnet/issue-labeler/predict@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ issues: ${{ inputs.issues || github.event.issue.number }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ threshold: ${{ env.THRESHOLD }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+ continue-on-error: ${{ !env.ALLOW_FAILURE }}
diff --git a/src/msbuild/.github/workflows/labeler-predict-pulls.yml b/src/msbuild/.github/workflows/labeler-predict-pulls.yml
index fba01a5d324..17b345fcd41 100644
--- a/src/msbuild/.github/workflows/labeler-predict-pulls.yml
+++ b/src/msbuild/.github/workflows/labeler-predict-pulls.yml
@@ -1,4 +1,5 @@
-name: "Labeler: Predict Pull Labels"
+# Predict labels for Pull Requests using a trained model
+name: "Labeler: Predict (Pulls)"
on:
# Per to the following documentation:
@@ -13,6 +14,8 @@ on:
# Only automatically predict area labels when pull requests are first opened
pull_request_target:
types: opened
+
+ # Configure the branches that need to have PRs labeled
branches:
- 'main'
- 'vs*'
@@ -20,25 +23,45 @@ on:
# Allow dispatching the workflow via the Actions UI, specifying ranges of numbers
workflow_dispatch:
inputs:
- pull_numbers:
- description: "Pull Numbers (comma-separated list of ranges)"
- type: string
- model_cache_key:
- description: "The cache key suffix to use for loading the model"
- type: string
+ pulls:
+ description: "Pull Request Numbers (comma-separated list of ranges)."
+ required: true
+ cache_key:
+ description: "The cache key suffix to use for restoring the model. Defaults to 'ACTIVE'."
required: true
- default: "LIVE"
+ default: "ACTIVE"
+
+env:
+ # Do not allow failure for jobs triggered automatically (this can block PR merge)
+ ALLOW_FAILURE: ${{ github.event_name == 'workflow_dispatch' }}
+
+ LABEL_PREFIX: "Area: "
+ THRESHOLD: 0.40
jobs:
- predict-pulls:
- # Do not run the workflow on forks outside the 'dotnet' org
- if: ${{ github.repository_owner == 'dotnet' && (inputs.pull_numbers || github.event.number) }}
+ predict-pull-label:
+ # Do not automatically run the workflow on forks outside the 'dotnet' org
+ if: ${{ github.event_name == 'workflow_dispatch' || github.repository_owner == 'dotnet' }}
+ runs-on: ubuntu-latest
permissions:
pull-requests: write
- uses: dotnet/issue-labeler/.github/workflows/predict-pulls.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- model_cache_key: ${{ inputs.model_cache_key }}
- pull_numbers: ${{ inputs.pull_numbers || github.event.number }}
- label_prefix: "Area: "
- threshold: 0.40
- # default_label: "needs-area-label"
+ steps:
+ - name: "Restore pulls model from cache"
+ id: restore-model
+ uses: dotnet/issue-labeler/restore@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: pulls
+ fail-on-cache-miss: ${{ env.ALLOW_FAILURE }}
+ quiet: true
+
+ - name: "Predict pull labels"
+ id: prediction
+ if: ${{ steps.restore-model.outputs.cache-hit == 'true' }}
+ uses: dotnet/issue-labeler/predict@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ pulls: ${{ inputs.pulls || github.event.number }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ threshold: ${{ env.THRESHOLD }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+ continue-on-error: ${{ !env.ALLOW_FAILURE }}
diff --git a/src/msbuild/.github/workflows/labeler-promote.yml b/src/msbuild/.github/workflows/labeler-promote.yml
index 97f40afa8f1..f5208c5191f 100644
--- a/src/msbuild/.github/workflows/labeler-promote.yml
+++ b/src/msbuild/.github/workflows/labeler-promote.yml
@@ -1,42 +1,49 @@
-name: "Labeler: Promote Models"
+# Promote a model from staging to 'ACTIVE', backing up the currently 'ACTIVE' model
+name: "Labeler: Promotion"
on:
# Dispatched via the Actions UI, promotes the staged models from
- # a staging slot into the prediction environment
+ # a staged slot into the prediction environment
workflow_dispatch:
inputs:
- promote_issues:
+ issues:
description: "Issues: Promote Model"
type: boolean
required: true
- promote_pulls:
+ pulls:
description: "Pulls: Promote Model"
type: boolean
required: true
- model_cache_key:
- description: "The cache key suffix to promote into the 'LIVE' cache"
- type: string
+ staged_key:
+ description: "The cache key suffix to use for promoting a staged model to 'ACTIVE'. Defaults to 'staged'."
required: true
- default: "staging"
- backup_cache_key:
- description: "The cache key suffix to use for backing up the currently promoted model"
- type: string
+ default: "staged"
+ backup_key:
+ description: "The cache key suffix to use for backing up the currently active model. Defaults to 'backup'."
default: "backup"
permissions:
actions: write
jobs:
- labeler-promote-issues:
- if: ${{ inputs.promote_issues }}
- uses: dotnet/issue-labeler/.github/workflows/promote-issues.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- model_cache_key: ${{ inputs.model_cache_key }}
- backup_cache_key: ${{ inputs.backup_cache_key }}
+ promote-issues:
+ if: ${{ inputs.issues }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: "Promote Model for Issues"
+ uses: dotnet/issue-labeler/promote@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "issues"
+ staged_key: ${{ inputs.staged_key }}
+ backup_key: ${{ inputs.backup_key }}
- labeler-promote-pulls:
- if: ${{ inputs.promote_pulls }}
- uses: dotnet/issue-labeler/.github/workflows/promote-pulls.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- model_cache_key: ${{ inputs.model_cache_key }}
- backup_cache_key: ${{ inputs.backup_cache_key }}
+ promote-pulls:
+ if: ${{ inputs.pulls }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: "Promote Model for Pull Requests"
+ uses: dotnet/issue-labeler/promote@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "pulls"
+ staged_key: ${{ inputs.staged_key }}
+ backup_key: ${{ inputs.backup_key }}
diff --git a/src/msbuild/.github/workflows/labeler-train.yml b/src/msbuild/.github/workflows/labeler-train.yml
index 90095eb88ba..cbfa071956f 100644
--- a/src/msbuild/.github/workflows/labeler-train.yml
+++ b/src/msbuild/.github/workflows/labeler-train.yml
@@ -1,63 +1,160 @@
-name: "Labeler: Train Models"
+# Train the Issues and Pull Requests models for label prediction
+name: "Labeler: Training"
on:
- # Dispatched via the Actions UI, stages new models for promotion consideration
- # Each step of the workflow can be run independently: Download, Train, and Test
workflow_dispatch:
inputs:
- download_issues:
- description: "Issues: Download Data"
- type: boolean
- default: true
- train_issues:
- description: "Issues: Train Model"
- type: boolean
- default: true
- test_issues:
- description: "Issues: Test Model"
- type: boolean
- default: true
- download_pulls:
- description: "Pulls: Download Data"
- type: boolean
- default: true
- train_pulls:
- description: "Pulls: Train Model"
- type: boolean
- default: true
- test_pulls:
- description: "Pulls: Test Model"
- type: boolean
- default: true
- repository:
- description: "Repository to train the models from"
-
- data_limit:
- description: "Max number of items to include in the model"
- type: number
+ type:
+ description: "Issues or Pull Requests"
+ type: choice
+ required: true
+ default: "Both"
+ options:
+ - "Both"
+ - "Issues"
+ - "Pull Requests"
+ steps:
+ description: "Training Steps"
+ type: choice
+ required: true
+ default: "All"
+ options:
+ - "All"
+ - "Download Data"
+ - "Train Model"
+ - "Test Model"
+
+ limit:
+ description: "Max number of items to download for training/testing the model (newest items are used). Defaults to the max number of pages times the page size."
+ type: number
+ page_size:
+ description: "Number of items per page in GitHub API requests. Defaults to 100 for issues, 25 for pull requests."
+ type: number
+ page_limit:
+ description: "Maximum number of pages to download for training/testing the model. Defaults to 1000 for issues, 4000 for pull requests."
+ type: number
cache_key_suffix:
- description: "The cache key suffix to use for staging data/models (use 'LIVE' to bypass staging)"
- type: string
+ description: "The cache key suffix to use for staged data/models (use 'ACTIVE' to bypass staging). Defaults to 'staged'."
required: true
- default: "staging"
+ default: "staged"
+
+env:
+ CACHE_KEY: ${{ inputs.cache_key_suffix }}
+ REPOSITORY: ${{ github.repository }}
+ LABEL_PREFIX: "Area: "
+ THRESHOLD: "0.40"
+ LIMIT: ${{ inputs.limit }}
+ PAGE_SIZE: ${{ inputs.page_size }}
+ PAGE_LIMIT: ${{ inputs.page_limit }}
jobs:
- labeler-train:
+ download-issues:
+ if: ${{ contains(fromJSON('["Both", "Issues"]'), inputs.type) && contains(fromJSON('["All", "Download Data"]'), inputs.steps) }}
+ runs-on: ubuntu-latest
+ permissions:
+ issues: read
+ steps:
+ - name: "Download Issues"
+ uses: dotnet/issue-labeler/download@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "issues"
+ cache_key: ${{ env.CACHE_KEY }}
+ repository: ${{ env.REPOSITORY }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ limit: ${{ env.LIMIT }}
+ page_size: ${{ env.PAGE_SIZE }}
+ page_limit: ${{ env.PAGE_LIMIT }}
+ excluded_authors: ${{ env.EXCLUDED_AUTHORS }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+
+ download-pulls:
+ if: ${{ contains(fromJSON('["Both", "Pull Requests"]'), inputs.type) && contains(fromJSON('["All", "Download Data"]'), inputs.steps) }}
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: read
+ steps:
+ - name: "Download Pull Requests"
+ uses: dotnet/issue-labeler/download@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "pulls"
+ cache_key: ${{ env.CACHE_KEY }}
+ repository: ${{ env.REPOSITORY }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ limit: ${{ env.LIMIT }}
+ page_size: ${{ env.PAGE_SIZE }}
+ page_limit: ${{ env.PAGE_LIMIT }}
+ excluded_authors: ${{ env.EXCLUDED_AUTHORS }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+
+ train-issues:
+ if: ${{ always() && contains(fromJSON('["Both", "Issues"]'), inputs.type) && contains(fromJSON('["All", "Train Model"]'), inputs.steps) && contains(fromJSON('["success", "skipped"]'), needs.download-issues.result) }}
+ runs-on: ubuntu-latest
+ permissions: {}
+ needs: download-issues
+ steps:
+ - name: "Train Model for Issues"
+ uses: dotnet/issue-labeler/train@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "issues"
+ data_cache_key: ${{ env.CACHE_KEY }}
+ model_cache_key: ${{ env.CACHE_KEY }}
+
+ train-pulls:
+ if: ${{ always() && contains(fromJSON('["Both", "Pull Requests"]'), inputs.type) && contains(fromJSON('["All", "Train Model"]'), inputs.steps) && contains(fromJSON('["success", "skipped"]'), needs.download-pulls.result) }}
+ runs-on: ubuntu-latest
+ permissions: {}
+ needs: download-pulls
+ steps:
+ - name: "Train Model for Pull Requests"
+ uses: dotnet/issue-labeler/train@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "pulls"
+ data_cache_key: ${{ env.CACHE_KEY }}
+ model_cache_key: ${{ env.CACHE_KEY }}
+
+ test-issues:
+ if: ${{ always() && contains(fromJSON('["Both", "Issues"]'), inputs.type) && contains(fromJSON('["All", "Test Model"]'), inputs.steps) && contains(fromJSON('["success", "skipped"]'), needs.train-issues.result) }}
+ runs-on: ubuntu-latest
permissions:
issues: read
+ needs: train-issues
+ steps:
+ - name: "Test Model for Issues"
+ uses: dotnet/issue-labeler/test@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "issues"
+ cache_key: ${{ env.CACHE_KEY }}
+ repository: ${{ env.REPOSITORY }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ threshold: ${{ env.THRESHOLD }}
+ limit: ${{ env.LIMIT }}
+ page_size: ${{ env.PAGE_SIZE }}
+ page_limit: ${{ env.PAGE_LIMIT }}
+ excluded_authors: ${{ env.EXCLUDED_AUTHORS }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
+
+ test-pulls:
+ if: ${{ always() && contains(fromJSON('["Both", "Pull Requests"]'), inputs.type) && contains(fromJSON('["All", "Test Model"]'), inputs.steps) && contains(fromJSON('["success", "skipped"]'), needs.train-pulls.result) }}
+ runs-on: ubuntu-latest
+ permissions:
pull-requests: read
- actions: write
- uses: dotnet/issue-labeler/.github/workflows/train.yml@f0c098669828a134c0313adf3f58c1909e555d86 # v1.0.1
- with:
- download_issues: ${{ inputs.download_issues }}
- train_issues: ${{ inputs.train_issues }}
- test_issues: ${{ inputs.test_issues }}
- download_pulls: ${{ inputs.download_pulls }}
- train_pulls: ${{ inputs.train_pulls }}
- test_pulls: ${{ inputs.test_pulls }}
- data_limit: ${{ inputs.data_limit && fromJSON(inputs.data_limit) || 0 }}
- cache_key_suffix: ${{ inputs.cache_key_suffix }}
- repository: ${{ inputs.repository }}
- label_prefix: "Area: "
- threshold: 0.40
+ needs: train-pulls
+ steps:
+ - name: "Test Model for Pull Requests"
+ uses: dotnet/issue-labeler/test@46125e85e6a568dc712f358c39f35317366f5eed # v2.0.0
+ with:
+ type: "pulls"
+ cache_key: ${{ env.CACHE_KEY }}
+ repository: ${{ env.REPOSITORY }}
+ label_prefix: ${{ env.LABEL_PREFIX }}
+ threshold: ${{ env.THRESHOLD }}
+ limit: ${{ env.LIMIT }}
+ page_size: ${{ env.PAGE_SIZE }}
+ page_limit: ${{ env.PAGE_LIMIT }}
+ excluded_authors: ${{ env.EXCLUDED_AUTHORS }}
+ env:
+ GITHUB_TOKEN: ${{ github.token }}
diff --git a/src/msbuild/eng/Version.Details.xml b/src/msbuild/eng/Version.Details.xml
index e8e5aa24b92..aa110fe0421 100644
--- a/src/msbuild/eng/Version.Details.xml
+++ b/src/msbuild/eng/Version.Details.xml
@@ -142,13 +142,13 @@
https://github.com/nuget/nuget.client
0da03caba83448ee887f0f1846dd05e1f1705d45
-
+
https://github.com/dotnet/roslyn
- 49152f06cf4a4500311f1c515d86a660dd940c0a
+ 871ef6369443071681de3351d30f41ea78ab48e6
-
+
https://github.com/dotnet/roslyn
- 49152f06cf4a4500311f1c515d86a660dd940c0a
+ 871ef6369443071681de3351d30f41ea78ab48e6
diff --git a/src/msbuild/eng/Versions.props b/src/msbuild/eng/Versions.props
index 511b84764d7..e07f8a4a03c 100644
--- a/src/msbuild/eng/Versions.props
+++ b/src/msbuild/eng/Versions.props
@@ -81,9 +81,8 @@
$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\global.json')), '"dotnet": "([^"]*)"').Groups.get_Item(1))
4.2.0-1.22102.8
9.0.0-beta.25208.6
- 4.14.0-3.25225.7
+ 4.14.0-3.25229.6
6.14.0-rc.116
-
9.0.200-preview.0.24603.3
diff --git a/src/msbuild/src/Build.UnitTests/BackEnd/SdkResolverService_Tests.cs b/src/msbuild/src/Build.UnitTests/BackEnd/SdkResolverService_Tests.cs
index 10a1c5dcd6c..8200c364d2a 100644
--- a/src/msbuild/src/Build.UnitTests/BackEnd/SdkResolverService_Tests.cs
+++ b/src/msbuild/src/Build.UnitTests/BackEnd/SdkResolverService_Tests.cs
@@ -75,6 +75,33 @@ public void AssertAllResolverErrorsLoggedWhenSdkNotResolved()
_logger.Warnings.Select(i => i.Message).ShouldBe(new[] { "WARNING4", "WARNING2" });
}
+ [Fact]
+ public void AssertSingleResolverErrorLoggedWhenSdkNotResolved()
+ {
+ var service = new SdkResolverService();
+
+ // Use mock loader that only provides a single resolver
+ service.InitializeForTests(new MockLoaderStrategy(includeSingleResolverOnly: true));
+
+ var sdk = new SdkReference("notfound", "referencedVersion", "minimumVersion");
+
+ var result = service.ResolveSdk(BuildEventContext.InvalidSubmissionId, sdk, _loggingContext, new MockElementLocation("file"), "sln", "projectPath", interactive: false, isRunningInVisualStudio: false, failOnUnresolvedSdk: true);
+
+ result.Success.ShouldBeFalse();
+ result.ShouldNotBeNull();
+ result.SdkReference.ShouldNotBeNull();
+ result.SdkReference.Name.ShouldBe("notfound");
+
+ // Check that only the simplified error (no MSBuild wrapper) is logged
+ _logger.Errors.Count.ShouldBe(1);
+ _logger.Errors[0].Message.ShouldBe(
+ ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword(
+ "SingleResolverFailedToResolveSDK",
+ "notfound",
+ "MockSdkResolver1",
+ "ERROR1"));
+ }
+
[Fact]
public void AssertResolutionWarnsIfResolvedVersionIsDifferentFromReferencedVersion()
{
@@ -743,8 +770,14 @@ private sealed class MockLoaderStrategy : SdkResolverLoader
public bool ResolversHaveBeenLoaded { get; private set; } = false;
public bool ManifestsHaveBeenLoaded { get; private set; } = false;
- public MockLoaderStrategy(bool includeErrorResolver = false, bool includeResolversWithPatterns = false, bool includeDefaultResolver = false) : this()
+ public MockLoaderStrategy(bool includeErrorResolver = false, bool includeResolversWithPatterns = false, bool includeDefaultResolver = false , bool includeSingleResolverOnly = false) : this()
{
+ if (includeSingleResolverOnly)
+ {
+ _resolvers = new List { new MockSdkResolver1() };
+ return; // Exit early so other ones aren't added
+ }
+
if (includeErrorResolver)
{
_resolvers.Add(new MockSdkResolverThrows());
diff --git a/src/msbuild/src/Build/BackEnd/BuildManager/BuildManager.cs b/src/msbuild/src/Build/BackEnd/BuildManager/BuildManager.cs
index 667e0ba6616..fa6ae4bbbfd 100644
--- a/src/msbuild/src/Build/BackEnd/BuildManager/BuildManager.cs
+++ b/src/msbuild/src/Build/BackEnd/BuildManager/BuildManager.cs
@@ -678,7 +678,7 @@ IEnumerable AppendDebuggingLoggers(IEnumerable loggers)
var logger = new BinaryLogger { Parameters = binlogPath };
- return (loggers ?? [logger]);
+ return (loggers ?? []).Concat([logger]);
}
void InitializeCaches()
diff --git a/src/msbuild/src/Build/BackEnd/Components/BuildRequestEngine/BuildRequestEngine.cs b/src/msbuild/src/Build/BackEnd/Components/BuildRequestEngine/BuildRequestEngine.cs
index d892518e9ea..bd8e221c3dd 100644
--- a/src/msbuild/src/Build/BackEnd/Components/BuildRequestEngine/BuildRequestEngine.cs
+++ b/src/msbuild/src/Build/BackEnd/Components/BuildRequestEngine/BuildRequestEngine.cs
@@ -15,6 +15,7 @@
using Microsoft.Build.Shared;
using Microsoft.Build.Shared.Debugging;
using Microsoft.Build.TelemetryInfra;
+using Microsoft.NET.StringTools;
using BuildAbortedException = Microsoft.Build.Exceptions.BuildAbortedException;
#nullable disable
@@ -314,6 +315,8 @@ public void CleanupForBuild()
_requestsByGlobalRequestId.Clear();
_unsubmittedRequests.Clear();
_unresolvedConfigurations.ClearConfigurations();
+ Strings.ClearCachedStrings();
+
ChangeStatus(BuildRequestEngineStatus.Uninitialized);
}
}
@@ -1131,8 +1134,8 @@ private void IssueBuildRequests(BuildRequestEntry issuingEntry, FullyQualifiedBu
// to the entry rather than a series of them.
lock (issuingEntry.GlobalLock)
{
- var existingResultsToReport = new List();
- var unresolvedConfigurationsAdded = new HashSet();
+ List existingResultsToReport = null;
+ HashSet unresolvedConfigurationsAdded = null;
foreach (FullyQualifiedBuildRequest request in newRequests)
{
@@ -1157,6 +1160,7 @@ private void IssueBuildRequests(BuildRequestEntry issuingEntry, FullyQualifiedBu
// Not waiting for it
request.Config.ConfigurationId = GetNextUnresolvedConfigurationId();
_unresolvedConfigurations.AddConfiguration(request.Config);
+ unresolvedConfigurationsAdded ??= new HashSet();
unresolvedConfigurationsAdded.Add(request.Config.ConfigurationId);
}
else
@@ -1235,6 +1239,7 @@ private void IssueBuildRequests(BuildRequestEntry issuingEntry, FullyQualifiedBu
// Can't report the result directly here, because that could cause the request to go from
// Waiting to Ready.
+ existingResultsToReport ??= new List();
existingResultsToReport.Add(response.Results);
}
else
@@ -1246,9 +1251,12 @@ private void IssueBuildRequests(BuildRequestEntry issuingEntry, FullyQualifiedBu
}
// If we have any results we had to report, do so now.
- foreach (BuildResult existingResult in existingResultsToReport)
+ if (existingResultsToReport is not null)
{
- issuingEntry.ReportResult(existingResult);
+ foreach (BuildResult existingResult in existingResultsToReport)
+ {
+ issuingEntry.ReportResult(existingResult);
+ }
}
// Issue any configuration requests we may still need.
@@ -1257,16 +1265,23 @@ private void IssueBuildRequests(BuildRequestEntry issuingEntry, FullyQualifiedBu
{
foreach (BuildRequestConfiguration unresolvedConfigurationToIssue in unresolvedConfigurationsToIssue)
{
- unresolvedConfigurationsAdded.Remove(unresolvedConfigurationToIssue.ConfigurationId);
+ if (unresolvedConfigurationsAdded is not null)
+ {
+ unresolvedConfigurationsAdded.Remove(unresolvedConfigurationToIssue.ConfigurationId);
+ }
+
IssueConfigurationRequest(unresolvedConfigurationToIssue);
}
}
// Remove any configurations we ended up not waiting for, otherwise future requests will think we are still waiting for them
// and will never get submitted.
- foreach (int unresolvedConfigurationId in unresolvedConfigurationsAdded)
+ if (unresolvedConfigurationsAdded is not null)
{
- _unresolvedConfigurations.RemoveConfiguration(unresolvedConfigurationId);
+ foreach (int unresolvedConfigurationId in unresolvedConfigurationsAdded)
+ {
+ _unresolvedConfigurations.RemoveConfiguration(unresolvedConfigurationId);
+ }
}
// Finally, if we can issue build requests, do so.
diff --git a/src/msbuild/src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs b/src/msbuild/src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs
index 1d6ec92f64c..7318e57e900 100644
--- a/src/msbuild/src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs
+++ b/src/msbuild/src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs
@@ -250,7 +250,16 @@ private SdkResult ResolveSdkUsingResolversWithPatternsFirst(int submissionId, Sd
if (failOnUnresolvedSdk)
{
- loggingContext.LogError(new BuildEventFileInfo(sdkReferenceLocation), "FailedToResolveSDK", sdk.Name, string.Join($"{Environment.NewLine} ", errors));
+ if (resolvers.Count == 1) // Check if only one resolver was used
+ {
+ // Log the single resolver's error message directly
+ loggingContext.LogError(new BuildEventFileInfo(sdkReferenceLocation), "SingleResolverFailedToResolveSDK", sdk.Name, resolvers[0].Name, string.Join(Environment.NewLine, errors));
+ }
+ else
+ {
+ // Log the error with the MSBuild wrapper
+ loggingContext.LogError(new BuildEventFileInfo(sdkReferenceLocation), "FailedToResolveSDK", sdk.Name, string.Join($"{Environment.NewLine} ", errors));
+ }
}
LogWarnings(loggingContext, sdkReferenceLocation, warnings);
diff --git a/src/msbuild/src/Build/Instance/TaskRegistry.cs b/src/msbuild/src/Build/Instance/TaskRegistry.cs
index 508cb7483b6..c4023835131 100644
--- a/src/msbuild/src/Build/Instance/TaskRegistry.cs
+++ b/src/msbuild/src/Build/Instance/TaskRegistry.cs
@@ -1188,7 +1188,7 @@ internal class Stats()
public void ExecutionStarted()
{
- _memoryConsumptionOnStart = GC.GetTotalMemory(false);
+ _memoryConsumptionOnStart = GetMemoryAllocated();
_executedSw.Start();
ExecutedCount++;
}
@@ -1196,7 +1196,16 @@ public void ExecutionStarted()
public void ExecutionStopped()
{
_executedSw.Stop();
- TotalMemoryConsumption += GC.GetTotalMemory(false) - _memoryConsumptionOnStart;
+ TotalMemoryConsumption += GetMemoryAllocated() - _memoryConsumptionOnStart;
+ }
+
+ private static long GetMemoryAllocated()
+ {
+#if NET
+ return GC.GetTotalAllocatedBytes(false);
+#else
+ return GC.GetTotalMemory(false);
+#endif
}
public void Reset()
diff --git a/src/msbuild/src/Build/Resources/Strings.resx b/src/msbuild/src/Build/Resources/Strings.resx
index f6b9b047fea..71a53635fdd 100644
--- a/src/msbuild/src/Build/Resources/Strings.resx
+++ b/src/msbuild/src/Build/Resources/Strings.resx
@@ -1340,6 +1340,9 @@
The SDK resolver "{0}" failed while attempting to resolve the SDK "{1}". Exception: "{2}"
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+
Could not resolve SDK "{0}". Exactly one of the probing messages below indicates why we could not resolve the SDK. Investigate and resolve that message to correctly specify the SDK.
{1}
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.cs.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.cs.xlf
index 57283f86965..03650f88f89 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.cs.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.cs.xlf
@@ -860,6 +860,11 @@ Chyby: {3}
Překladač sady SDK „{0}“ vrátil hodnotu null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ Sadu SDK {0} se nepodařilo vyřešit pomocí překladače sady SDK {1}. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: Projekt {0} přeskočil omezení izolace grafu v odkazovaném projektu {1}.
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.de.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.de.xlf
index 985615208fb..2ad593ea66a 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.de.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.de.xlf
@@ -860,6 +860,11 @@ Fehler: {3}
Der SDK-Resolver "{0}" hat NULL zurückgegeben.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK „{0}“ konnte vom SDK-Resolver „{1}“ nicht aufgelöst werden. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: Das Projekt "{0}" hat Graphisolationseinschränkungen für das referenzierte Projekt "{1}" übersprungen.
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.es.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.es.xlf
index ecb3a3815d6..b4584d786bf 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.es.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.es.xlf
@@ -860,6 +860,11 @@ Errores: {3}
La resolución del SDK "{0}" devolvió null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ El SDK '{0}' no se pudo resolver mediante la resolución de SDK '{1}'. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: El proyecto "{0}" ha omitido las restricciones de aislamiento de gráficos en el proyecto "{1}" al que se hace referencia.
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.fr.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.fr.xlf
index de96b1472c8..909a507f566 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.fr.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.fr.xlf
@@ -860,6 +860,11 @@ Erreurs : {3}
Le programme de résolution du Kit de développement logiciel (SDK) «{0}» a retourné null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ Le Kit de développement logiciel (SDK) « {0} » n’a pas pu être résolu par le résolveur de SDK « {1} ». {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: le projet "{0}" a ignoré les contraintes d'isolement de graphe dans le projet référencé "{1}"
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.it.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.it.xlf
index d4acfbaa817..44e0f02b051 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.it.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.it.xlf
@@ -860,6 +860,11 @@ Errori: {3}
Il resolver SDK "{0}" ha restituito null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ Il resolver SDK '{0}' non è riuscito a risolvere l'SDK '{1}'. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: il progetto "{0}" ha ignorato i vincoli di isolamento del grafico nel progetto di riferimento "{1}"
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.ja.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.ja.xlf
index 8de15be3a29..fa181c689ea 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.ja.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.ja.xlf
@@ -860,6 +860,11 @@ Errors: {3}
SDK リゾルバー "{0}" が null を返しました。
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK '{0}' を SDK リゾルバー '{1}' で解決できませんでした。{2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: プロジェクト "{0}" は、参照先のプロジェクト "{1}" で、グラフの分離制約をスキップしました
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.ko.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.ko.xlf
index 03bc234c5ef..f5766935dde 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.ko.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.ko.xlf
@@ -860,6 +860,11 @@ Errors: {3}
SDK 확인자 "{0}"이(가) null을 반환했습니다.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK 확인자 '{1}'에서 SDK '{0}'을(를) 확인할 수 없습니다. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: 프로젝트 "{0}"에서 참조된 프로젝트 "{1}"의 그래프 격리 제약 조건을 건너뛰었습니다.
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.pl.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.pl.xlf
index 019d29d3fb0..a218f56d244 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.pl.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.pl.xlf
@@ -860,6 +860,11 @@ Błędy: {3}
Narzędzie Resolver zestawu SDK „{0}” zwróciło wartość null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ Nie można rozpoznać zestawu SDK „{0}” przez program rozpoznawania nazw zestawu SDK „{1}”. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: W przypadku projektu „{0}” pominięto ograniczenia izolacji grafu dla przywoływanego projektu „{1}”
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.pt-BR.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.pt-BR.xlf
index f975fac9acb..bde8513a69a 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.pt-BR.xlf
@@ -860,6 +860,11 @@ Erros: {3}
O resolvedor do SDK "{0}" retornou nulo.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ O SDK '{0}' não pôde ser resolvido pelo resolvedor de SDK '{1}'. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: o projeto "{0}" ignorou as restrições de isolamento do gráfico no projeto referenciado "{1}"
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.ru.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.ru.xlf
index 83bbbb6e1d1..34b7d9d8b23 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.ru.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.ru.xlf
@@ -860,6 +860,11 @@ Errors: {3}
Сопоставитель пакетов SDK "{0}" вернул значение null.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ Не удалось разрешить SDK "{0}" с помощью сопоставителя SDK "{1}". {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: проект "{0}" пропустил ограничения изоляции графа в проекте "{1}", на который указывает ссылка.
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.tr.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.tr.xlf
index 418670f2595..004fafbaa16 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.tr.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.tr.xlf
@@ -860,6 +860,11 @@ Hatalar: {3}
SDK çözümleyici "{0}" null döndürdü.
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK '{0}', SDK çözümleyici '{1}' tarafından çözümlenemedi. {2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: "{0}" projesi, başvurulan "{1}" projesindeki graf yalıtımı kısıtlamalarını atladı
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hans.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hans.xlf
index 46aef2401a8..13047d4ac40 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hans.xlf
@@ -860,6 +860,11 @@ Errors: {3}
SDK 解析程序“{0}”返回 null。
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK 解析程序“{1}”无法解析 SDK“{0}”。{2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: 项目“{0}”已跳过所引用的项目“{1}”上的图形隔离约束
diff --git a/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hant.xlf b/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hant.xlf
index 1b5d8c86b82..c4be1e9169a 100644
--- a/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hant.xlf
+++ b/src/msbuild/src/Build/Resources/xlf/Strings.zh-Hant.xlf
@@ -860,6 +860,11 @@ Errors: {3}
SDK 解析程式 "{0}" 傳回 Null。
+
+ SDK '{0}' could not be resolved by the SDK resolver '{1}'. {2}
+ SDK 解析程式 '{1}' 無法解析 SDK '{0}'。{2}
+
+
MSB4260: Project "{0}" skipped graph isolation constraints on referenced project "{1}"
MSB4260: 專案 "{0}" 已跳過參考專案 "{1}" 上的圖形隔離條件約束
diff --git a/src/msbuild/src/StringTools.UnitTests/WeakStringCache_Tests.cs b/src/msbuild/src/StringTools.UnitTests/WeakStringCache_Tests.cs
index 95c769a5fa7..29e51267c1c 100644
--- a/src/msbuild/src/StringTools.UnitTests/WeakStringCache_Tests.cs
+++ b/src/msbuild/src/StringTools.UnitTests/WeakStringCache_Tests.cs
@@ -86,7 +86,7 @@ private void AddStringsWithSameHashCode(int numberOfStrings)
for (int i = 0; i < numberOfStrings; i++)
{
- string strPart2 = string.Concat(Enumerable.Repeat("100570862200", i + 2));
+ string strPart2 = string.Concat(Enumerable.Repeat("100570862200", i + 100));
hashCodes[i] = AddString(string.Empty, strPart2, (string cachedString) =>
{
_cache.GetDebugInfo().ShouldBe(new WeakStringCache.DebugInfo()
@@ -124,7 +124,7 @@ private void AddStringsWithSameHashCode(int numberOfStrings)
public void RetainsStringUntilCollected()
{
// Add a string to the cache using a non-inlinable method to make sure it's not reachable from a GC root.
- AddString("Random string ", "test", (string cachedString) =>
+ AddString(new string('r', 500), "test", (string cachedString) =>
{
_cache.GetDebugInfo().ShouldBe(new WeakStringCache.DebugInfo()
{
diff --git a/src/msbuild/src/StringTools/StringTools.cs b/src/msbuild/src/StringTools/StringTools.cs
index 93b06619b5d..0ee22092369 100644
--- a/src/msbuild/src/StringTools/StringTools.cs
+++ b/src/msbuild/src/StringTools/StringTools.cs
@@ -92,6 +92,11 @@ public static string CreateDiagnosticReport()
return WeakStringCacheInterner.Instance.FormatStatistics();
}
+ public static void ClearCachedStrings()
+ {
+ WeakStringCacheInterner.Instance.Dispose();
+ }
+
#endregion
///
diff --git a/src/msbuild/src/StringTools/WeakStringCache.cs b/src/msbuild/src/StringTools/WeakStringCache.cs
index 5e3434fd4ef..5517e1478cc 100644
--- a/src/msbuild/src/StringTools/WeakStringCache.cs
+++ b/src/msbuild/src/StringTools/WeakStringCache.cs
@@ -35,10 +35,15 @@ private class StringWeakHandle
///
public GCHandle WeakHandle;
+ ///
+ /// Reference used for smaller strings retained by the cache.
+ ///
+ private string? referencedString;
+
///
/// Returns true if the string referenced by the handle is still alive.
///
- public bool IsUsed => WeakHandle.Target != null;
+ public bool IsUsed => referencedString is not null || WeakHandle.Target != null;
///
/// Returns the string referenced by this handle if it is equal to the given internable.
@@ -47,13 +52,26 @@ private class StringWeakHandle
/// The string matching the internable or null if the handle is referencing a collected string or the string is different.
public string? GetString(ref InternableString internable)
{
- if (WeakHandle.IsAllocated && WeakHandle.Target is string str)
+ if (referencedString is not null && internable.Equals(referencedString))
{
- if (internable.Equals(str))
- {
- return str;
- }
+ return referencedString;
+ }
+
+ if (!WeakHandle.IsAllocated)
+ {
+ return null;
+ }
+
+ if (WeakHandle.Target is not string str)
+ {
+ return null;
}
+
+ if (internable.Equals(str))
+ {
+ return str;
+ }
+
return null;
}
@@ -63,14 +81,28 @@ private class StringWeakHandle
/// The string to set.
public void SetString(string str)
{
- if (!WeakHandle.IsAllocated)
+ const int stringLengthLimit = 500;
+ if (str.Length > stringLengthLimit)
{
- // The handle is not allocated - allocate it.
- WeakHandle = GCHandle.Alloc(str, GCHandleType.Weak);
+ if (WeakHandle.IsAllocated)
+ {
+ WeakHandle.Target = str;
+ }
+ else
+ {
+ WeakHandle = GCHandle.Alloc(str, GCHandleType.Weak);
+ }
+
+ referencedString = null;
}
else
{
- WeakHandle.Target = str;
+ if (WeakHandle.IsAllocated)
+ {
+ WeakHandle.Target = null;
+ }
+
+ referencedString = str;
}
}
@@ -79,7 +111,10 @@ public void SetString(string str)
///
public void Free()
{
- WeakHandle.Free();
+ if (WeakHandle.IsAllocated)
+ {
+ WeakHandle.Free();
+ }
}
}
@@ -106,12 +141,6 @@ private void DisposeImpl()
}
public void Dispose()
- {
- DisposeImpl();
- GC.SuppressFinalize(this);
- }
-
- ~WeakStringCache()
{
DisposeImpl();
}
diff --git a/src/msbuild/src/Tasks/GenerateResource.cs b/src/msbuild/src/Tasks/GenerateResource.cs
index 1726600bd8c..7c41f6fcbf3 100644
--- a/src/msbuild/src/Tasks/GenerateResource.cs
+++ b/src/msbuild/src/Tasks/GenerateResource.cs
@@ -16,6 +16,7 @@
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
+using System.Linq;
using System.Resources;
using System.Resources.Extensions;
using System.Reflection;
@@ -41,7 +42,6 @@
using Microsoft.Build.Utilities;
#if FEATURE_RESXREADER_LIVEDESERIALIZATION
using Microsoft.Win32;
-using System.Linq;
#endif
#nullable disable
@@ -1705,7 +1705,7 @@ private void UpdateNewestUncorrelatedInputWriteTime()
// Check the timestamp of each of the passed-in references to find the newest;
// and then the additional inputs
- ITaskItem[] inputs = this.References ?? [.. (this.AdditionalInputs ?? [])];
+ var inputs = (this.References ?? []).Concat(this.AdditionalInputs ?? []);
foreach (ITaskItem input in inputs)
{
diff --git a/src/msbuild/src/Tasks/Microsoft.CSharp.CurrentVersion.targets b/src/msbuild/src/Tasks/Microsoft.CSharp.CurrentVersion.targets
index 0280966ef15..6e30cf7fba4 100644
--- a/src/msbuild/src/Tasks/Microsoft.CSharp.CurrentVersion.targets
+++ b/src/msbuild/src/Tasks/Microsoft.CSharp.CurrentVersion.targets
@@ -248,6 +248,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
ChecksumAlgorithm="$(ChecksumAlgorithm)"
CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
CodePage="$(CodePage)"
+ CompilerType="$(RoslynCompilerType)"
DebugType="none"
DefineConstants="$(DefineConstants)"
DelaySign="$(DelaySign)"
@@ -262,6 +263,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
ErrorLog="$(ErrorLog)"
ErrorReport="$(ErrorReport)"
Features="$(Features)"
+ InterceptorsNamespaces="$(InterceptorsNamespaces)"
InterceptorsPreviewNamespaces="$(InterceptorsPreviewNamespaces)"
FileAlignment="$(FileAlignment)"
GeneratedFilesOutputPath="$(CompilerGeneratedFilesOutputPath)"
diff --git a/src/msbuild/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets b/src/msbuild/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets
index 73299be40f1..fe304b229f5 100644
--- a/src/msbuild/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets
+++ b/src/msbuild/src/Tasks/Microsoft.VisualBasic.CurrentVersion.targets
@@ -238,6 +238,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
ChecksumAlgorithm="$(ChecksumAlgorithm)"
CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
CodePage="$(CodePage)"
+ CompilerType="$(RoslynCompilerType)"
DebugType="none"
DefineConstants="$(FinalDefineConstants)"
DelaySign="$(DelaySign)"
diff --git a/src/nuget-client/.github/policies/prBuddyAssignment.yml b/src/nuget-client/.github/policies/prBuddyAssignment.yml
new file mode 100644
index 00000000000..e669b54bcdb
--- /dev/null
+++ b/src/nuget-client/.github/policies/prBuddyAssignment.yml
@@ -0,0 +1,89 @@
+name: PR Buddy Assignment
+description: Automatically Assign pr Buddies.
+owner:
+resource: repository
+disabled: false
+where:
+configuration:
+ resourceManagementConfiguration:
+ eventResponderTasks:
+ - if:
+ - payloadType: Pull_Request
+ - isAction:
+ action: Opened
+ then:
+ - if:
+ - isActivitySender:
+ user: jgonz120
+ then:
+ - assignTo:
+ user: nkolev92
+ - assignTo:
+ user: martinrrm
+ - if:
+ - isActivitySender:
+ user: nkolev92
+ then:
+ - assignTo:
+ user: jgonz120
+ - assignTo:
+ user: martinrrm
+ - if:
+ - isActivitySender:
+ user: martinrrm
+ then:
+ - assignTo:
+ user: jgonz120
+ - assignTo:
+ user: nkolev92
+ - if:
+ - isActivitySender:
+ user: zivkan
+ then:
+ - assignTo:
+ user: donnie-msft
+ - assignTo:
+ user: jeffkl
+ - if:
+ - isActivitySender:
+ user: donnie-msft
+ then:
+ - assignTo:
+ user: zivkan
+ - assignTo:
+ user: jeffkl
+ - if:
+ - isActivitySender:
+ user: jeffkl
+ then:
+ - assignTo:
+ user: zivkan
+ - assignTo:
+ user: donnie-msft
+ - if:
+ - isActivitySender:
+ user: jebriede
+ then:
+ - assignTo:
+ user: Nigusu-Allehu
+ - assignTo:
+ user: dtivel
+ - if:
+ - isActivitySender:
+ user: Nigusu-Allehu
+ then:
+ - assignTo:
+ user: jebriede
+ - assignTo:
+ user: dtivel
+ - if:
+ - isActivitySender:
+ user: dtivel
+ then:
+ - assignTo:
+ user: jebriede
+ - assignTo:
+ user: Nigusu-Allehu
+ description: Automatically Assign pr Buddies.
+onFailure:
+onSuccess:
diff --git a/src/nuget-client/eng/DotNetBuild.props b/src/nuget-client/eng/DotNetBuild.props
deleted file mode 100644
index 6d3a692356d..00000000000
--- a/src/nuget-client/eng/DotNetBuild.props
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- nuget-client
- true
- 1.0.0
-
-
-
- true
-
-
-
diff --git a/src/nuget-client/eng/dotnet-build/build.ps1 b/src/nuget-client/eng/dotnet-build/build.ps1
index ee845b44586..9b76bbc201c 100644
--- a/src/nuget-client/eng/dotnet-build/build.ps1
+++ b/src/nuget-client/eng/dotnet-build/build.ps1
@@ -45,9 +45,9 @@ function Exec-Process([string]$command, [string]$commandArgs) {
$dotnet = Join-Path $env:DOTNET_PATH dotnet.exe
$repoRoot = Resolve-Path "$PSScriptRoot/../../"
-$binLog = Join-Path $repoRoot "artifacts/sb/log/source-inner-build.binlog"
+$binLog = Join-Path $repoRoot "artifacts/log/$configuration/Build.binlog"
$dotnetTool = "msbuild"
-$nugetPackagesRoot = Join-Path $repoRoot "artifacts/sb/package-cache/"
+$nugetPackagesRoot = Join-Path $repoRoot "artifacts/.packages/"
$dotnetArguments = @()
# Environment variables
diff --git a/src/nuget-client/eng/dotnet-build/build.sh b/src/nuget-client/eng/dotnet-build/build.sh
index 908ebd5b70a..6f3a15bfd9f 100755
--- a/src/nuget-client/eng/dotnet-build/build.sh
+++ b/src/nuget-client/eng/dotnet-build/build.sh
@@ -86,7 +86,7 @@ fi
ReadGlobalVersion Microsoft.DotNet.Arcade.Sdk
export ARCADE_VERSION=$_ReadGlobalVersion
-export NUGET_PACKAGES=${repo_root}artifacts/sb/package-cache/
+export NUGET_PACKAGES=${repo_root}artifacts/.packages/
if [[ "$source_build" == true ]]; then
properties="$properties /p:DotNetBuildSourceOnly=true"
@@ -96,4 +96,4 @@ properties="$properties /p:Configuration=$configuration"
properties="$properties /p:DotNetBuildRepo=true"
properties="$properties /p:RepoRoot=$repo_root"
-"$DOTNET" msbuild -v:$verbosity "$scriptroot/dotnet-build.proj" "/bl:${repo_root}artifacts/sb/log/source-inner-build.binlog" $properties $args
+"$DOTNET" msbuild -v:$verbosity "$scriptroot/dotnet-build.proj" "/bl:${repo_root}artifacts/log/${configuration}/Build.binlog" $properties $args
diff --git a/src/nuget-client/eng/dotnet-build/dotnet-build.proj b/src/nuget-client/eng/dotnet-build/dotnet-build.proj
index b1eca276cd0..2d2f7bd6fa0 100644
--- a/src/nuget-client/eng/dotnet-build/dotnet-build.proj
+++ b/src/nuget-client/eng/dotnet-build/dotnet-build.proj
@@ -1,60 +1,45 @@
-
-
$(MSBuildThisFileDirectory)../../
$(SOURCE_BUILT_SDK_DIR_ARCADE)/tools/
$(NuGetPackageRoot)/microsoft.dotnet.arcade.sdk/$(ARCADE_VERSION)/tools/
+ true
+ 1.0.0
-
<_CommonProperties Include="Configuration=$(Configuration)" />
<_CommonProperties Include="DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)" Condition="'$(DotNetBuildOrchestrator)' != ''" />
<_CommonProperties Include="DotNetBuildRepo=true" />
<_CommonProperties Include="DotNetBuildSourceOnly=$(DotNetBuildSourceOnly)" Condition="'$(DotNetBuildSourceOnly)' != ''" />
-
-
-
-
- <_OuterBuildProperties Include="DotNetBuildPhase=Repo" />
- <_OuterBuildProperties Include="PreventPrebuiltBuild=false" />
- <_OuterBuildProperties Include="BaseInnerSourceBuildCommand=echo skipping inner sb invocation" />
-
-
-
- <_InnerBuildProperties Include="DotNetBuildPhase=InnerRepo" />
- <_InnerBuildProperties Include="DotNetBuildInnerRepo=true" />
- <_InnerBuildProperties Condition="'$(VersionSuffixBuildOfTheDay)' != ''" Include="BuildNumber=$(VersionSuffixBuildOfTheDay)" />
+ <_CommonProperties Include="BuildNumber=$(VersionSuffixBuildOfTheDay)" Condition="'$(VersionSuffixBuildOfTheDay)' != ''" />
-
+
- <_PublishProperties Include="DotNetPublishUsingPipelines=true" />
<_PublishProperties Include="PublishToSymbolServer=false" />
<_PublishProperties Include="AssetsLocalStorageDir=$(SourceBuiltAssetsDir)" />
<_PublishProperties Include="ShippingPackagesLocalStorageDir=$(SourceBuiltShippingPackagesDir)" />
@@ -62,17 +47,10 @@
<_PublishProperties Include="AssetManifestsLocalStorageDir=$(SourceBuiltAssetManifestsDir)" />
-
-
-
-
-
diff --git a/src/nuget-client/src/NuGet.Clients/NuGet.CommandLine/Commands/ProjectFactory.cs b/src/nuget-client/src/NuGet.Clients/NuGet.CommandLine/Commands/ProjectFactory.cs
index 804f530fc27..b97b1f70dc6 100644
--- a/src/nuget-client/src/NuGet.Clients/NuGet.CommandLine/Commands/ProjectFactory.cs
+++ b/src/nuget-client/src/NuGet.Clients/NuGet.CommandLine/Commands/ProjectFactory.cs
@@ -29,7 +29,6 @@ namespace NuGet.CommandLine
{
public class ProjectFactory : IProjectFactory, CoreV2.NuGet.IPropertyProvider, IDisposable
{
- private const string NUGET_ENABLE_LEGACY_PROJECT_JSON_PACK = nameof(NUGET_ENABLE_LEGACY_PROJECT_JSON_PACK);
private const string NUGET_ENABLE_LEGACY_CSPROJ_PACK = nameof(NUGET_ENABLE_LEGACY_CSPROJ_PACK);
// Its type is Microsoft.Build.Evaluation.Project
@@ -37,8 +36,6 @@ public class ProjectFactory : IProjectFactory, CoreV2.NuGet.IPropertyProvider, I
private ILogger _logger;
- private bool _usingJsonFile;
-
private IEnvironmentVariableReader _environmentVariableReader;
// Files we want to always exclude from the resulting package
@@ -289,36 +286,8 @@ public PackageBuilder CreateBuilder(string basePath, NuGetVersion version, strin
}
}
- Manifest manifest = null;
-
- // If there is a project.json file, load that and skip any nuspec that may exist
-#pragma warning disable CS0612 // Type or member is obsolete
- if (!PackCommandRunner.ProcessProjectJsonFile(builder, _project.DirectoryPath as string, builder.Id, version, suffix, GetPropertyValue))
-#pragma warning restore CS0612 // Type or member is obsolete
- {
- // If the package contains a nuspec file then use it for metadata
- manifest = ProcessNuspec(builder, basePath);
- }
- else
- {
- Logger.Log(
- PackagingLogMessage.CreateWarning(
- string.Format(CultureInfo.CurrentCulture, NuGetResources.ProjectJsonPack_Deprecated, builder.Id),
- NuGetLogCode.NU5126));
- _usingJsonFile = true;
-
- _ = bool.TryParse(_environmentVariableReader.GetEnvironmentVariable(NUGET_ENABLE_LEGACY_PROJECT_JSON_PACK), out bool enableLegacyProjectJsonPack);
-
- if (!enableLegacyProjectJsonPack)
- {
- Logger.Log(
- PackagingLogMessage.CreateError(
- string.Format(CultureInfo.CurrentCulture, NuGetResources.Error_ProjectJson_Deprecated_And_Removed, builder.Id, NUGET_ENABLE_LEGACY_PROJECT_JSON_PACK),
- NuGetLogCode.NU5042));
- return null;
- }
-
- }
+ // If the package contains a nuspec file then use it for metadata
+ Manifest manifest = ProcessNuspec(builder, basePath);
// Remove the extra author
if (builder.Authors.Count > 1)
@@ -723,12 +692,6 @@ private void AddProjectReferenceDependencies(Dictionary dependencies)
@@ -740,25 +703,11 @@ private PackageDependency CreateDependencyFromProject(dynamic project, Dictionar
projectFactory.ProjectProperties = ProjectProperties;
projectFactory.SymbolPackageFormat = SymbolPackageFormat;
projectFactory.BuildProject();
- var builder = new Packaging.PackageBuilder();
+ var builder = new PackageBuilder();
projectFactory.ExtractMetadata(builder);
-
projectFactory.InitializeProperties(builder);
-
-#pragma warning disable CS0612 // Type or member is obsolete
- if (!projectFactory.ProcessJsonFile(builder, project.DirectoryPath, null))
-#pragma warning restore CS0612 // Type or member is obsolete
- {
- projectFactory.ProcessNuspec(builder, null);
- }
- else
- {
- Logger.Log(
- PackagingLogMessage.CreateWarning(
- string.Format(CultureInfo.CurrentCulture, NuGetResources.ProjectJsonPack_Deprecated, builder.Id),
- NuGetLogCode.NU5126));
- }
+ projectFactory.ProcessNuspec(builder, null);
VersionRange versionRange = null;
if (dependencies.TryGetValue(builder.Id, out PackageDependency dependency))
@@ -824,22 +773,7 @@ private void ExtractMetadata(Packaging.PackageBuilder builder)
private void AddOutputFiles(Packaging.PackageBuilder builder)
{
// Get the target framework of the project
- NuGetFramework nugetFramework;
- if (_usingJsonFile && builder.TargetFrameworks.Any())
- {
- if (builder.TargetFrameworks.Count > 1)
- {
- var message = string.Format(
- CultureInfo.CurrentCulture,
- LocalizedResourceManager.GetString("Error_MultipleTargetFrameworks"));
- throw new PackagingException(NuGetLogCode.NU5015, message);
- }
- nugetFramework = builder.TargetFrameworks.First();
- }
- else
- {
- nugetFramework = TargetFramework;
- }
+ NuGetFramework nugetFramework = TargetFramework;
var projectOutputDirectory = Path.GetDirectoryName(TargetPath);
string targetFileName;
@@ -922,12 +856,10 @@ private void ProcessDependencies(Packaging.PackageBuilder builder)
// Add the transform file to the package builder
ProcessTransformFiles(builder, packages.SelectMany(GetTransformFiles));
- var dependencies = new Dictionary();
- if (!_usingJsonFile)
- {
- dependencies = builder.DependencyGroups.SelectMany(d => d.Packages)
+ var dependencies = new Dictionary();
+ dependencies = builder.DependencyGroups.SelectMany(d => d.Packages)
.ToDictionary(d => d.Id, StringComparer.OrdinalIgnoreCase);
- }
+
// Reduce the set of packages we want to include as dependencies to the minimal set.
// Normally, packages.config has the full closure included, we only add top level
@@ -951,45 +883,11 @@ private void ProcessDependencies(Packaging.PackageBuilder builder)
AddProjectReferenceDependencies(dependencies);
}
- if (_usingJsonFile)
- {
- if (dependencies.Any())
- {
- if (builder.DependencyGroups.Any())
- {
- var i = 0;
- foreach (var group in builder.DependencyGroups.ToList())
- {
- ISet newPackagesList = new HashSet(group.Packages);
- foreach (var dependency in dependencies)
- {
- if (!newPackagesList.Contains(dependency.Value))
- {
- newPackagesList.Add(dependency.Value);
- }
- }
-
- var dependencyGroup = new PackageDependencyGroup(group.TargetFramework, newPackagesList);
+ builder.DependencyGroups.Clear();
- builder.DependencyGroups.RemoveAt(i);
- builder.DependencyGroups.Insert(i, dependencyGroup);
+ var targetFramework = TargetFramework ?? NuGetFramework.AnyFramework;
+ builder.DependencyGroups.Add(new PackageDependencyGroup(targetFramework, new HashSet(dependencies.Values)));
- i++;
- }
- }
- else
- {
- builder.DependencyGroups.Add(new PackageDependencyGroup(NuGetFramework.AnyFramework, new HashSet(dependencies.Values)));
- }
- }
- }
- else
- {
- builder.DependencyGroups.Clear();
-
- var targetFramework = TargetFramework ?? NuGetFramework.AnyFramework;
- builder.DependencyGroups.Add(new PackageDependencyGroup(targetFramework, new HashSet(dependencies.Values)));
- }
}
private bool FindDependency(PackageIdentity projectPackage, IEnumerable> packagesAndDependencies)
diff --git a/src/nuget-client/src/NuGet.Clients/NuGet.PackageManagement.VisualStudio/Services/NuGetProjectManagerService.cs b/src/nuget-client/src/NuGet.Clients/NuGet.PackageManagement.VisualStudio/Services/NuGetProjectManagerService.cs
index f44435d45d8..48c7386a384 100644
--- a/src/nuget-client/src/NuGet.Clients/NuGet.PackageManagement.VisualStudio/Services/NuGetProjectManagerService.cs
+++ b/src/nuget-client/src/NuGet.Clients/NuGet.PackageManagement.VisualStudio/Services/NuGetProjectManagerService.cs
@@ -13,7 +13,6 @@
using Microsoft.ServiceHub.Framework;
using Microsoft.ServiceHub.Framework.Services;
using Microsoft.VisualStudio.Threading;
-using NuGet.Common;
using NuGet.Frameworks;
using NuGet.PackageManagement.Telemetry;
using NuGet.Packaging;
@@ -26,6 +25,7 @@
using NuGet.Versioning;
using NuGet.VisualStudio;
using NuGet.VisualStudio.Internal.Contracts;
+using NuGet.VisualStudio.Telemetry;
using StreamJsonRpc;
namespace NuGet.PackageManagement.VisualStudio
@@ -38,23 +38,27 @@ public sealed class NuGetProjectManagerService : INuGetProjectManagerService
private readonly INuGetProjectManagerServiceState _state;
private readonly ISharedServiceState _sharedState;
private AsyncSemaphore.Releaser? _semaphoreReleaser;
+ private readonly INuGetTelemetryProvider _telemetryProvider;
public NuGetProjectManagerService(
ServiceActivationOptions options,
IServiceBroker serviceBroker,
AuthorizationServiceClient authorizationServiceClient,
+ INuGetTelemetryProvider telemetryProvider,
INuGetProjectManagerServiceState state,
ISharedServiceState sharedServiceState)
{
Assumes.NotNull(serviceBroker);
Assumes.NotNull(authorizationServiceClient);
Assumes.NotNull(state);
+ Assumes.NotNull(telemetryProvider);
Assumes.NotNull(sharedServiceState);
_options = options;
_serviceBroker = serviceBroker;
_authorizationServiceClient = authorizationServiceClient;
_state = state;
+ _telemetryProvider = telemetryProvider;
_sharedState = sharedServiceState;
}
@@ -155,7 +159,7 @@ public async ValueTask> GetIns
if (telemetryEvent is object)
{
- TelemetryActivity.EmitTelemetryEvent(telemetryEvent);
+ _telemetryProvider.EmitEvent(telemetryEvent);
}
return installedPackages;
diff --git a/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/RestoreManagerPackage.cs b/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/RestoreManagerPackage.cs
index babc7990a85..1a265d251fa 100644
--- a/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/RestoreManagerPackage.cs
+++ b/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/RestoreManagerPackage.cs
@@ -6,7 +6,7 @@
using System.Threading;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Shell;
-using NuGet.VisualStudio;
+using NuGet.VisualStudio.Telemetry;
using IBrokeredServiceContainer = Microsoft.VisualStudio.Shell.ServiceBroker.IBrokeredServiceContainer;
// Duplicate type declarations due to Microsoft.Internal.VisualStudio.Shell.Embeddable.
using ProvideBrokeredServiceAttribute = Microsoft.VisualStudio.Shell.ServiceBroker.ProvideBrokeredServiceAttribute;
diff --git a/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/SolutionRestoreJob.cs b/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/SolutionRestoreJob.cs
index e4ea44cf96e..1bf8b0c4838 100644
--- a/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/SolutionRestoreJob.cs
+++ b/src/nuget-client/src/NuGet.Clients/NuGet.SolutionRestoreManager/SolutionRestoreJob.cs
@@ -51,6 +51,7 @@ internal sealed class SolutionRestoreJob : ISolutionRestoreJob
private readonly ISolutionRestoreChecker _solutionUpToDateChecker;
private readonly IVsNuGetProgressReporter _nuGetProgressReporter;
private readonly IAuditCheckResultCachingService _auditResultCachingService;
+ private readonly INuGetTelemetryProvider _nuGetTelemetryProvider;
private RestoreOperationLogger _logger;
private INuGetProjectContext _nuGetProjectContext;
@@ -83,7 +84,8 @@ public SolutionRestoreJob(
ISettings settings,
ISolutionRestoreChecker solutionRestoreChecker,
IVsNuGetProgressReporter nuGetProgressReporter,
- IAuditCheckResultCachingService auditResultCachingService)
+ IAuditCheckResultCachingService auditResultCachingService,
+ INuGetTelemetryProvider nuGetTelemetryProvider)
: this(AsyncServiceProvider.GlobalProvider,
packageRestoreManager,
solutionManager,
@@ -92,9 +94,11 @@ public SolutionRestoreJob(
settings,
solutionRestoreChecker,
nuGetProgressReporter,
- auditResultCachingService
+ auditResultCachingService,
+ nuGetTelemetryProvider
)
- { }
+ {
+ }
public SolutionRestoreJob(
IAsyncServiceProvider asyncServiceProvider,
@@ -105,7 +109,8 @@ public SolutionRestoreJob(
ISettings settings,
ISolutionRestoreChecker solutionRestoreChecker,
IVsNuGetProgressReporter nuGetProgressReporter,
- IAuditCheckResultCachingService auditResultCachingService)
+ IAuditCheckResultCachingService auditResultCachingService,
+ INuGetTelemetryProvider nuGetTelemetryProvider)
{
Assumes.Present(asyncServiceProvider);
Assumes.Present(packageRestoreManager);
@@ -116,6 +121,7 @@ public SolutionRestoreJob(
Assumes.Present(solutionRestoreChecker);
Assumes.Present(nuGetProgressReporter);
Assumes.Present(auditResultCachingService);
+ Assumes.Present(nuGetTelemetryProvider);
_asyncServiceProvider = asyncServiceProvider;
_packageRestoreManager = packageRestoreManager;
@@ -127,6 +133,8 @@ public SolutionRestoreJob(
_solutionUpToDateChecker = solutionRestoreChecker;
_nuGetProgressReporter = nuGetProgressReporter;
_auditResultCachingService = auditResultCachingService;
+ _nuGetTelemetryProvider = nuGetTelemetryProvider;
+
}
@@ -388,11 +396,11 @@ private void EmitRestoreTelemetryEvent(IEnumerable projects,
hasVSOfflineFeed);
_auditResultCachingService.LastAuditCheckResult?.AddMetricsToTelemetry(restoreTelemetryEvent);
- TelemetryActivity.EmitTelemetryEvent(restoreTelemetryEvent);
+ _nuGetTelemetryProvider.EmitEvent(restoreTelemetryEvent);
var sourceEvent = SourceTelemetry.GetRestoreSourceSummaryEvent(_nuGetProjectContext.OperationId, packageSources, protocolDiagnosticTotals);
- TelemetryActivity.EmitTelemetryEvent(sourceEvent);
+ _nuGetTelemetryProvider.EmitEvent(sourceEvent);
}
private async Task RestorePackageSpecProjectsAsync(
diff --git a/src/nuget-client/src/NuGet.Clients/NuGet.Tools/NuGetBrokeredServiceFactory.cs b/src/nuget-client/src/NuGet.Clients/NuGet.Tools/NuGetBrokeredServiceFactory.cs
index d1daafcc1a3..a9512e86ddf 100644
--- a/src/nuget-client/src/NuGet.Clients/NuGet.Tools/NuGetBrokeredServiceFactory.cs
+++ b/src/nuget-client/src/NuGet.Clients/NuGet.Tools/NuGetBrokeredServiceFactory.cs
@@ -111,11 +111,14 @@ private async ValueTask