From b624109e44832529ba4de9f35b405630728c1c31 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 18:38:15 +0200 Subject: [PATCH 01/20] Use dotnet package download for toolset initialization Replace MSBuild-based toolset restore with 'dotnet package download' in both tools.sh and tools.ps1. Add a new DotNet helper function that mirrors MSBuild-Core's CI error handling pattern for running arbitrary dotnet commands. The toolset initialization now downloads the Arcade SDK package into the NuGet cache, copies the tools folder to artifacts/toolset/, and resolves Build.proj from SdkTasks/ with a fallback to the old location for backward compatibility. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/common/sdk-task.ps1 | 2 +- eng/common/tools.ps1 | 84 +++- eng/common/tools.sh | 69 ++- src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props | 12 +- .../sdk/Sdk.targets | 19 +- .../tools/BuildTasks.props | 1 + .../tools/DefaultVersions.props | 5 +- .../tools/Empty.targets | 44 +- .../tools/EmptyDisableRestore.targets | 16 + .../tools/RepositoryInfo.targets | 35 +- .../tools/SdkTasks/AfterSigning.proj | 22 + .../tools/SdkTasks/AfterSolutionBuild.proj | 10 + .../tools/SdkTasks/Build.proj | 307 ++++++++++++ .../SdkTasks/BuildReleasePackages.targets | 24 + .../SdkTasks/CreateBaselineUpdatePR.proj | 3 +- .../tools/SdkTasks/Directory.Build.props | 19 +- .../tools/SdkTasks/Directory.Build.targets | 6 + .../tools/SdkTasks/Directory.Packages.props | 16 + .../tools/SdkTasks/InstallDotNetCore.targets | 24 + .../tools/SdkTasks/Publish.proj | 449 ++++++++++++++++++ .../SdkTasks/PublishArtifactsInManifest.proj | 13 +- .../tools/SdkTasks/PublishBuildAssets.proj | 9 +- .../tools/SdkTasks/PublishSignedAssets.proj | 17 +- .../SdkTasks/PublishToSymbolServers.proj | 11 +- .../tools/SdkTasks/Sign.proj | 97 ++++ .../tools/SdkTasks/Sign.props | 158 ++++++ .../tools/SdkTasks/SigningValidation.proj | 3 +- .../tools/SdkTasks/Tools.proj | 45 ++ .../tools/SdkTasks/TrackPrebuiltUsage.targets | 45 ++ ...sualStudio.AcquireOptimizationData.targets | 84 ++++ ...isualStudio.BuildIbcTrainingInputs.targets | 27 ++ ...VisualStudio.BuildIbcTrainingSettings.proj | 12 +- .../VisualStudio.InsertionManifests.targets | 50 ++ .../VisualStudio.SetupPackage.vsmanproj | 129 +++++ .../tools/VisualStudio.VsixBuild.targets | 2 - .../tools/VisualStudio.props | 4 - ...soft.DotNet.Build.Tasks.VisualStudio.props | 16 + .../Microsoft.DotNet.NuGetRepack.Tasks.props | 11 + 38 files changed, 1762 insertions(+), 138 deletions(-) create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/EmptyDisableRestore.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets create mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj create mode 100644 src/Microsoft.DotNet.Build.Tasks.VisualStudio/build/Microsoft.DotNet.Build.Tasks.VisualStudio.props create mode 100644 src/Microsoft.DotNet.NuGetRepack/tasks/build/Microsoft.DotNet.NuGetRepack.Tasks.props diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index 64fd2f8abec..538f7d001ea 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -14,7 +14,7 @@ Param( [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties ) -$ci = $true +$ci = $false $binaryLog = if ($excludeCIBinaryLog) { $false } else { $true } $warnAsError = if ($noWarnAsError) { $false } else { $true } diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index b6787991769..7d48bca3a21 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -476,7 +476,6 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (Get-Member -InputObject $GlobalJson.tools -Name 'vswhere') { $vswhereVersion = $GlobalJson.tools.vswhere } else { - # keep this in sync with the VSWhereVersion in DefaultVersions.props $vswhereVersion = '3.1.7' } @@ -648,13 +647,22 @@ function InitializeToolset() { $nugetCache = GetNuGetPackageCachePath $toolsetVersion = Read-ArcadeSdkVersion - $toolsetLocationFile = Join-Path $ToolsetDir "$toolsetVersion.txt" + $toolsetToolsDir = Join-Path $ToolsetDir $toolsetVersion - if (Test-Path $toolsetLocationFile) { - $path = Get-Content $toolsetLocationFile -TotalCount 1 - if (Test-Path $path) { - return $global:_InitializeToolset = $path - } + # Check if the toolset has already been extracted + $toolsetBuildProj = $null + $newPath = Join-Path $toolsetToolsDir 'SdkTasks\Build.proj' + $oldPath = Join-Path $toolsetToolsDir 'Build.proj' + + if (Test-Path $newPath) { + $toolsetBuildProj = $newPath + } elseif (Test-Path $oldPath) { + # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + $toolsetBuildProj = $oldPath + } + + if ($toolsetBuildProj -ne $null) { + return $global:_InitializeToolset = $toolsetBuildProj } if (-not $restore) { @@ -662,21 +670,31 @@ function InitializeToolset() { ExitWithExitCode 1 } - $buildTool = InitializeBuildTool + DotNet package download "Microsoft.DotNet.Arcade.Sdk@$toolsetVersion" --prerelease --output "$nugetCache" - $proj = Join-Path $ToolsetDir 'restore.proj' - $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'ToolsetRestore.binlog') } else { '' } + $packageDir = Join-Path $nugetCache (Join-Path 'microsoft.dotnet.arcade.sdk' $toolsetVersion) + $packageToolsDir = Join-Path $packageDir 'tools' - '' | Set-Content $proj + if (!(Test-Path $packageToolsDir)) { + Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Arcade SDK tools not found at: $packageToolsDir" + ExitWithExitCode 3 + } - MSBuild-Core $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile + # Copy the tools folder to the toolset directory + # TODO: In the future, only copy the SdkTasks folder and remove the fallback path. + New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null + Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force - $path = Get-Content $toolsetLocationFile -Encoding UTF8 -TotalCount 1 - if (!(Test-Path $path)) { - throw "Invalid toolset path: $path" + if (Test-Path $newPath) { + $toolsetBuildProj = $newPath + } elseif (Test-Path $oldPath) { + # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + $toolsetBuildProj = $oldPath + } else { + throw "Unable to find Build.proj in toolset at: $toolsetToolsDir" } - return $global:_InitializeToolset = $path + return $global:_InitializeToolset = $toolsetBuildProj } function ExitWithExitCode([int] $exitCode) { @@ -737,6 +755,40 @@ function MSBuild() { MSBuild-Core @args } +# +# Executes a dotnet command with arguments passed to the function. +# Terminates the script if the command fails. +# +function DotNet() { + $dotnetRoot = InitializeDotNetCli -install:$restore + $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') + + $cmdArgs = "" + foreach ($arg in $args) { + if ($null -ne $arg -and $arg.Trim() -ne "") { + if ($arg.EndsWith('\')) { + $arg = $arg + "\" + } + $cmdArgs += " `"$arg`"" + } + } + + $env:ARCADE_BUILD_TOOL_COMMAND = "`"$dotnetPath`" $cmdArgs" + + $exitCode = Exec-Process $dotnetPath $cmdArgs + + if ($exitCode -ne 0) { + Write-Host "dotnet command failed with exit code $exitCode. Check errors above." -ForegroundColor Red + + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { + Write-PipelineSetResult -Result "Failed" -Message "dotnet command execution failed." + ExitWithExitCode 0 + } else { + ExitWithExitCode $exitCode + } + } +} + # # Executes msbuild (or 'dotnet msbuild') with arguments passed to the function. # The arguments are automatically quoted. diff --git a/eng/common/tools.sh b/eng/common/tools.sh index a6e0ed594fd..c89ee3e00cf 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -407,15 +407,21 @@ function InitializeToolset { ReadGlobalVersion "Microsoft.DotNet.Arcade.Sdk" local toolset_version=$_ReadGlobalVersion - local toolset_location_file="$toolset_dir/$toolset_version.txt" + local toolset_tools_dir="$toolset_dir/$toolset_version" - if [[ -a "$toolset_location_file" ]]; then - local path=`cat "$toolset_location_file"` - if [[ -a "$path" ]]; then - # return value - _InitializeToolset="$path" - return - fi + # Check if the toolset has already been extracted + local toolset_build_proj="" + if [[ -a "$toolset_tools_dir/SdkTasks/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/SdkTasks/Build.proj" + elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then + # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + toolset_build_proj="$toolset_tools_dir/Build.proj" + fi + + if [[ -n "$toolset_build_proj" ]]; then + # return value + _InitializeToolset="$toolset_build_proj" + return fi if [[ "$restore" != true ]]; then @@ -423,20 +429,27 @@ function InitializeToolset { ExitWithExitCode 2 fi - local proj="$toolset_dir/restore.proj" + DotNet package download "Microsoft.DotNet.Arcade.Sdk@$toolset_version" --prerelease --output "$_GetNuGetPackageCachePath" - local bl="" - if [[ "$binary_log" == true ]]; then - bl="/bl:$log_dir/ToolsetRestore.binlog" - fi + local package_dir="$_GetNuGetPackageCachePath/microsoft.dotnet.arcade.sdk/$toolset_version" - echo '' > "$proj" - MSBuild-Core "$proj" $bl /t:__WriteToolsetLocation /clp:ErrorsOnly\;NoSummary /p:__ToolsetLocationOutputFile="$toolset_location_file" + if [[ ! -d "$package_dir/tools" ]]; then + Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK tools not found at: $package_dir/tools" + ExitWithExitCode 3 + fi - local toolset_build_proj=`cat "$toolset_location_file"` + # Copy the tools folder to the toolset directory + # TODO: In the future, only copy the SdkTasks folder and remove the fallback path. + mkdir -p "$toolset_tools_dir" + cp -r "$package_dir/tools/." "$toolset_tools_dir" - if [[ ! -a "$toolset_build_proj" ]]; then - Write-PipelineTelemetryError -category 'Build' "Invalid toolset path: $toolset_build_proj" + if [[ -a "$toolset_tools_dir/SdkTasks/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/SdkTasks/Build.proj" + elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then + # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + toolset_build_proj="$toolset_tools_dir/Build.proj" + else + Write-PipelineTelemetryError -category 'Build' "Unable to find Build.proj in toolset at: $toolset_tools_dir" ExitWithExitCode 3 fi @@ -458,6 +471,26 @@ function StopProcesses { return 0 } +function DotNet { + InitializeDotNetCli $restore + + local dotnet_path="$_InitializeDotNetCli/dotnet" + + export ARCADE_BUILD_TOOL_COMMAND="$dotnet_path $@" + + "$dotnet_path" "$@" || { + local exit_code=$? + echo "dotnet command failed with exit code $exit_code. Check errors above." + + if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$from_vmr" != true ]]; then + Write-PipelineSetResult -result "Failed" -message "dotnet command execution failed." + ExitWithExitCode 0 + else + ExitWithExitCode $exit_code + fi + } +} + function MSBuild { local args=( "$@" ) if [[ "$pipelines_log" == true ]]; then diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props index 10e1fe67ea4..b560dbf5b65 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.props @@ -1,16 +1,6 @@ - - - <_SuppressSdkImports>false - <_SuppressSdkImports Condition="'$(__ToolsetLocationOutputFile)' != ''">true - - - + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets index 11708bccc85..a55e12a0efc 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/sdk/Sdk.targets @@ -10,21 +10,10 @@ <_BeforeCommonTargetsHookUsed Condition="'$(_ArcadeBeforeCommonTargetsImported)' != 'true'">false - - + + - - - - - - - - - - + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index 9a51d5b4cb9..b90879d2451 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -12,6 +12,7 @@ + $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)net\Microsoft.DotNet.Arcade.Sdk.dll diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props index 8a17e952a46..4ea58d11f8e 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/DefaultVersions.props @@ -95,8 +95,6 @@ $(ArcadeSdkVersion) 3.12.0 3.15.1 - - 3.1.7 1.0.0 $(ArcadeSdkVersion) $(ArcadeSdkVersion) @@ -105,6 +103,9 @@ 1.1.286 3.14.1-11027.2914512 5.0.2-dotnet.2811440 + + $(ArcadeSdkVersion) + $(ArcadeSdkVersion) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets index fd18c0474aa..acda5b54784 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets @@ -1,5 +1,5 @@ - + - - false + true - - - - + + + BeforeBuild; + CoreBuild; + AfterBuild + + + + + + + + + + + - + + + + + BeforePack; + CorePack; + AfterPack + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/EmptyDisableRestore.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/EmptyDisableRestore.targets new file mode 100644 index 00000000000..9ece989244e --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/EmptyDisableRestore.targets @@ -0,0 +1,16 @@ + + + + + + false + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets index f3f1dc0a5d9..596daa4008d 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets @@ -56,7 +56,6 @@ Condition="'$(DisableSourceLinkUrlTranslation)' == 'false'" DependsOnTargets="$(SourceControlManagerUrlTranslationTargets)" BeforeTargets="SourceControlManagerPublishTranslatedUrls"> - @@ -119,14 +118,34 @@ - - + + + + + + + + + + + + <_LicenseExpression>$(PackageLicenseExpression) + <_LicenseExpression Condition="'$(_LicenseExpression)' == ''">$(PackageLicenseExpressionInternal) + + <_ExpectedLicensePath>$(MSBuildThisFileDirectory)Licenses\$(_LicenseExpression).txt + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj new file mode 100644 index 00000000000..74f91d51b5e --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj new file mode 100644 index 00000000000..dd780b23b10 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj new file mode 100644 index 00000000000..793ed801736 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj @@ -0,0 +1,307 @@ + + + + + + + <_OriginalProjectsValue>$(Projects) + + + + + 1 + true + true + 1 + + + + + + + + <_ProjectsPropertyWasUpdatedInBuildProps Condition="'$(_OriginalProjectsValue)' != '$(Projects)'">true + + <_DotNetBuildPassNormalized Condition="'$(DotNetBuildPass)' != ''">$(DotNetBuildPass) + <_DotNetBuildPassNormalized Condition="'$(DotNetBuildPass)' == ''">1 + + + + + <_OriginalProjectToBuild Include="@(ProjectToBuild)" /> + + + + + + + + + <_ProjectToBuildCurrentBuildPass Include="@(ProjectToBuild->WithMetadataValue('DotNetBuildPass', '$(_DotNetBuildPassNormalized)'))" /> + + + + + + + + + + + + + + + + + + <_SolutionBuildTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> + <_SolutionBuildTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> + + <_SolutionBuildTargets Include="Test" Condition="'$(Test)' == 'true'" /> + + <_SolutionBuildTargets Include="Pack" Condition="'$(Pack)' == 'true'" /> + <_SolutionBuildTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> + <_SolutionBuildTargets Include="PerformanceTest" Condition="'$(PerformanceTest)' == 'true'" /> + + + + <_RemoveProps>Projects;Restore;Deploy;Sign;Publish;NETCORE_ENGINEERING_TELEMETRY;@(_SolutionBuildTargets) + + + + <_CommonProps Include="Configuration=$(Configuration)"/> + <_CommonProps Include="ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)"/> + <_CommonProps Include="RepoRoot=$(RepoRoot)"/> + <_CommonProps Include="VersionsPropsPath=$(VersionsPropsPath)"/> + + + <_CommonProps Include="DisableWarnForInvalidRestoreProjects=true" Condition="'$(DotNetBuild)' == 'true'"/> + + + <_CommonProps Include="VCTargetsPath=$([MSBuild]::ValueOrDefault('$(VCTargetsPath)', '$([MSBuild]::GetVsInstallRoot())\Common7\IDE\VC\VCTargets\'))" Condition="'$(MSBuildRuntimeType)' != 'Core'"/> + + + + <_SolutionBuildProps Include="@(_CommonProps)"/> + <_SolutionBuildProps Include="__DeployProjectOutput=$(Deploy)" Condition="'$(Deploy)' != ''"/> + <_SolutionBuildProps Include="__ImportPackTargets=true" Condition="'$(Pack)' == 'true'" /> + + + + + + + + + + + + <_NuGetRestoreTargets Condition="Exists('$(MSBuildToolsPath)\NuGet.targets')" >$(MSBuildToolsPath)\NuGet.targets + <_NuGetRestoreTargets Condition="'$([MSBuild]::IsRunningFromVisualStudio())' == 'true' And Exists('$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets')">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets + + + + <_RestoreToolsProps Include="@(_CommonProps)"/> + <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> + <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> + <_RestoreToolsProps Include="_NuGetRestoreTargets=$(_NuGetRestoreTargets)"/> + + + <_RestoreToolsProps Include="Publish=$(Publish)"/> + + + + + <_RestoreToolsProps Include="DotNetRuntimeSourceFeed=$(DotNetRuntimeSourceFeed)"/> + <_RestoreToolsProps Include="DotNetRuntimeSourceFeedKey=$(DotNetRuntimeSourceFeedKey)"/> + + + + + + + + + <_SolutionRestoreProps Include="@(_SolutionBuildProps)" /> + <_SolutionRestoreProps Include="__BuildPhase=SolutionRestore" /> + <_SolutionRestoreProps Include="_NETCORE_ENGINEERING_TELEMETRY=Restore" /> + <_SolutionRestoreProps Include="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" /> + <_SolutionRestoreProps Include="RestoreUseStaticGraphEvaluation=$(RestoreUseStaticGraphEvaluation)" /> + <_SolutionRestoreProps Include="RestoreEmbedFilesInBinlog=true" /> + <_SolutionRestoreProps Include="RestoreStaticGraphEnableBinaryLogger=$(GenerateRestoreUseStaticGraphEvaluationBinlog)" /> + + + + + true + + + + + + + + + + + <_ProjectToRestoreWithNuGetList>@(_ProjectToRestoreWithNuGet->'%(FullPath)') + + + + <_ProjectToRestore Include="$(_NuGetRestoreTargets)" Condition="'$(_ProjectToRestoreWithNuGetList)' != '' and '$(RestoreUsingNuGetTargets)' != 'false'"> + RestoreGraphProjectInput=$(_ProjectToRestoreWithNuGetList) + true + + + + <_ProjectToRestore Include="@(ProjectToBuild)" Exclude="@(_ProjectToRestoreWithNuGet)" /> + + + + + <_ProjectToRestore> + RestoreStaticGraphBinaryLoggerParameters=$(ArtifactsLogDir)Restore-%(Filename)%(Extension).binlog + + + + + + <_RestoreRemoveProps>$(_RemoveProps) + <_RestoreRemoveProps Condition="'$(TreatWarningsAsErrors)' != 'false'">$(_RestoreRemoveProps);TreatWarningsAsErrors + + + + + + + + + + + + + + + <_PublishProps Include="@(_CommonProps)"/> + + <_PublishProps Include="Publish=$(Publish)"/> + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets new file mode 100644 index 00000000000..31bfb572a10 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets @@ -0,0 +1,24 @@ + + + + + + + + + + + + + <_BuiltPackages Include="$(ArtifactsShippingPackagesDir)*.nupkg" /> + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj index c3c1920baaa..30d5b7300c8 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj @@ -2,12 +2,11 @@ - $(BundledNETCoreAppTargetFramework) Publish - + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props index a889329a529..f5fcbc655e1 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props @@ -1,14 +1,17 @@ - + + + - $([System.IO.Path]::GetFullPath('$(RepoRoot)/')) - + $(BundledNETCoreAppTargetFramework) - - - - - + + true + + <_SuppressAllTargets>true + <_SuppressSdkImports>false + <_EmptyDisableRestore>true + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets new file mode 100644 index 00000000000..1b623e82d8f --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props new file mode 100644 index 00000000000..f3dea99e856 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets new file mode 100644 index 00000000000..45ed3bd015e --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets @@ -0,0 +1,24 @@ + + + + + + + + <_DotNetInstallScript>$(RepositoryEngineeringDir)common\dotnet-install.cmd + <_DotNetInstallScript Condition="'$(OS)' != 'Windows_NT'">$(RepositoryEngineeringDir)common\dotnet-install.sh + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj new file mode 100644 index 00000000000..0eef4a5908e --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + 3 + 4 + true + + + false + true + + + false + true + + true + + false + false + + + BeforePublish;AutoGenerateSymbolPackages + + assets/symbols/ + $(SymbolPackageBaseRelativeBlobPath)$(BUILD_REPOSITORY_NAME)/ + $(SymbolPackageBaseRelativeBlobPath)$(RepositoryName)/ + $(SymbolPackageBaseRelativeBlobPath)$(BUILD_BUILDNUMBER)/ + + + $(SYSTEM_PHASENAME)/ + + + + + + $([MSBuild]::ValueOrDefault('$(TargetOS)', '$(OS)')) + + $([MSBuild]::ValueOrDefault('$(TargetArchitecture)', '$(PlatformName)')) + + -Pass$(DotNetBuildPass) + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + <_ExistingSymbolPackage Include="@(Artifact)" Condition="'%(Artifact.SkipPublish)' != 'true' and $([System.String]::Copy('%(Filename)%(Extension)').EndsWith('.symbols.nupkg'))"> + + Blob + + Symbols + $(SymbolPackageBaseRelativeBlobPath)%(Filename)%(Extension) + + <_PackageToPublish Include="@(Artifact)" Exclude="@(_ExistingSymbolPackage)" Condition="'%(Artifact.SkipPublish)' != 'true' and '%(Extension)' == '.nupkg'" /> + + + + + <_ExistingSymbolPackage Remove="@(_ExistingSymbolPackage)" Condition="'$(DotNetBuildSourceOnly)' == 'true'"/> + + + + + + + + + + + + <_SymbolsToPushToBlobFeed Include="@(FilesToPublishToSymbolServer)"> + PDB + $(LoosePDBRelativeBasePath)%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + $(ArtifactsTmpDir)SymbolPackages\ + + + + <_PackageToPublish Update="@(_PackageToPublish)"> + $(SymbolPackagesDir)%(Filename).symbols.nupkg + $(SymbolPackageBaseRelativeBlobPath)%(Filename).symbols.nupkg + + + <_SymbolPackageToGenerate Include="@(_PackageToPublish->'%(SymbolPackageToGenerate)')" + Exclude="@(_ExistingSymbolPackage -> '$(SymbolPackagesDir)%(Filename)%(Extension)')" + Condition="'%(_PackageToPublish.SymbolPackageToGenerate)' != ''"> + %(_PackageToPublish.Identity) + %(_PackageToPublish.IsShipping) + Blob + Symbols + %(_PackageToPublish.SymbolPackageRelativeBlobPath) + + + + + + + + + + <_SymbolPackageToGenerate Remove="$(SymbolPackagesDir)**/Microsoft.DotNet.Darc.*" /> + <_SymbolPackageToGenerate Remove="$(SymbolPackagesDir)**/Microsoft.DotNet.Maestro.Tasks.*" /> + + + + + + + + + + + + + + + + + + + + $(RelativeBlobPathParent.TrimEnd('/'))/%(Filename)%(Extension) + Blob + + + + + + + + $(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI) + + + $(CollectionUri.Split('/')[3]) + + + $(CollectionUri.Split('.')[0].Split('/')[2]) + + + + + false + true + + + $(SYSTEM_PHASENAME).xml + $(AssetManifestOS)-$(AssetManifestArch)$(AssetManifestPass).xml + $(ArtifactsLogDir)AssetManifest\$(AssetManifestFileName) + + + $(ArtifactsTmpDir)PDBsToPublish/ + + + + + + $([MSBuild]::NormalizeDirectory('$(Build_ArtifactStagingDirectory)', 'artifacts')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'staging')) + + + $(SourceBuiltPdbArtifactsDir) + $(ArtifactsPublishStagingDir)pdbs + + + $(SourceBuiltShippingPackagesDir) + $(ArtifactsPublishStagingDir)packages/shipping + + + $(SourceBuiltNonShippingPackagesDir) + $(ArtifactsPublishStagingDir)packages/nonshipping + + + $(SourceBuiltAssetManifestsDir) + $(ArtifactsPublishStagingDir)manifests + + + $(SourceBuiltAssetsDir) + $(ArtifactsPublishStagingDir)assets + + + $(SYSTEM_PHASENAME)_Artifacts + $(AssetManifestOS)_$(AssetManifestArch)$(AssetManifestPass)_Artifacts + $(SourceBuiltArtifactsBasePath) + $(ArtifactsPublishStagingDir) + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + $([MSBuild]::ValueOrDefault('$(DefaultArtifactVisibility)', 'External')) + + true + + Blob + Package + + true + + + + + + + %(ItemsToPushToBlobFeed.ManifestArtifactData);NonShipping=true + + + + + + %(ItemsToPushToBlobFeed.ManifestArtifactData);DotNetReleaseShipping=true + + + + + + + %(ItemsToPushToBlobFeed.ManifestArtifactData);Category=%(ItemsToPushToBlobFeed.Category) + + + + + + %(ItemsToPushToBlobFeed.ManifestArtifactData);Visibility=%(ItemsToPushToBlobFeed.Visibility) + + + + + + + %(ItemsToPushToBlobFeed.ManifestArtifactData);CouldBeStable=true + + %(ItemsToPushToBlobFeed.ManifestArtifactData);CouldBeStable=false + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj index 1c09e11e205..e551d8cf8f3 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj @@ -75,14 +75,16 @@ --> - $(BundledNETCoreAppTargetFramework) Publish false - + + + + @@ -158,12 +160,7 @@ StreamingPublishingMaxClients="$(StreamingPublishingMaxClients)" NonStreamingPublishingMaxClients="$(NonStreamingPublishingMaxClients)" FeedKeys="@(FeedKey)" - FeedOverrides="@(FeedOverride)" - /> + FeedOverrides="@(FeedOverride)" /> - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj index 851fbaaae10..67f34a5607a 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj @@ -13,18 +13,11 @@ true - - - - - - - $(BundledNETCoreAppTargetFramework) Publish - + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj index 64464f4785c..668da283373 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj @@ -1,10 +1,5 @@ - - - Publish - $(BundledNETCoreAppTargetFramework) - + + Publish + + + + + + - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj index a3e199b3ae5..ae826422510 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj @@ -18,10 +18,13 @@ --> - $(BundledNETCoreAppTargetFramework) Publish + + + + @@ -39,7 +42,7 @@ 3650 @@ -111,8 +114,4 @@ TreatPdbConversionIssuesAsInfo="$(TreatPdbConversionIssuesAsInfo)"/> - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj new file mode 100644 index 00000000000..65e98c6ec8a --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_DryRun>true + + <_DryRun Condition="'$(OfficialBuild)' == 'true' and '$(ForceDryRunSigning)' != 'true'">false + + <_TestSign>false + <_TestSign Condition="'$(DotNetSignType)' == 'test'">true + + <_DotNetCoreRequired>false + <_DotNetCoreRequired Condition="'$(_DryRun)' != 'true'">true + + + $(NuGetPackageRoot)sn\$(SNVersion)\sn.exe + + + + + + + + + + + <_DotNetCorePath>$(DotNetTool) + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props new file mode 100644 index 00000000000..7b7439e02b8 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props @@ -0,0 +1,158 @@ + + + + + + true + + + + + + true + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MicrosoftDotNet500 + false + + + + + + false + true + + + -1 + + + quiet + + Signing + + + + + + 16 + + 128 + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj index e1d00e97224..fc23673f135 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj @@ -19,12 +19,11 @@ - $(BundledNETCoreAppTargetFramework) Build - + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj new file mode 100644 index 00000000000..cb44d5143d7 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj @@ -0,0 +1,45 @@ + + + + + <_RepoToolManifest>$([MSBuild]::NormalizePath('$(RepoRoot)', '.config', 'dotnet-tools.json')) + + + true + Restore + + + + + + + --configfile "$(RestoreConfigFile)" + + + + + + + + + $(RepoRoot)eng/common/internal/Tools.csproj + $(RepoRoot)eng/common/internal/NuGet.config + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets new file mode 100644 index 00000000000..cd835109501 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets @@ -0,0 +1,45 @@ + + + + + + + + + + $(RepoRoot) + $(NuGetPackageRoot) + $(ArtifactsLogDir) + $(TrackPrebuiltUsageReportDir)prebuilt-usage.xml + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets new file mode 100644 index 00000000000..4159bf8f19f --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets @@ -0,0 +1,84 @@ + + + + + + + + + + + true + $(RepositoryName) + + + + + + + + + <_DropToolPath>$(NuGetPackageRoot)drop.app\$(DropAppVersion)\lib\net45\drop.exe + <_DropToolExists>false + <_DropToolExists Condition="Exists('$(_DropToolPath)')">true + + + + + + + + + + + + + + + <_DropServiceUrl>https://devdiv.artifacts.visualstudio.com + <_PatAuthArg Condition="'$(VisualStudioDropAccessToken)' != ''">--patAuth "$(VisualStudioDropAccessToken)" + <_DestArg>$(IbcOptimizationDataDir.TrimEnd('\')) + <_DropsJsonPath>$(ArtifactsLogDir)OptimizationDataDrops.json + <_DropsLogPath>$(ArtifactsLogDir)OptimizationDataAcquisition.log + <_DropNamePrefix>OptimizationData/$(VisualStudioIbcRepositoryName)/$(VisualStudioIbcSourceBranchName) + <_DropName>$(_DropNamePrefix)/$(VisualStudioIbcDropId) + <_DropName Condition="'$(VisualStudioIbcDrop)' != ''">$(VisualStudioIbcDrop) + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets new file mode 100644 index 00000000000..cbdfb7189e0 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj index cec7c2c0a5c..9cc1f5e337c 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj @@ -1,5 +1,5 @@ - + - - - - <_VisualStudioBuildTasksAssembly>$(NuGetPackageRoot)microsoft.dotnet.build.tasks.visualstudio\$(MicrosoftDotNetBuildTasksVisualStudioVersion)\tools\net\Microsoft.DotNet.Build.Tasks.VisualStudio.dll - - - + + + <_OutputFilePath>$(VisualStudioSetupInsertionPath)OptProf\Training.runsettings diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets new file mode 100644 index 00000000000..7c548d8d5b9 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets @@ -0,0 +1,50 @@ + + + + + false + + + + <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> + <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> + + + + + + <_ComponentDir>%(_StubDirs.Identity) + <_ComponentName>$(_ComponentDir.TrimEnd('\')) + + + + + + + + <_Args Include="OfficialBuild=$(OfficialBuild)" /> + <_Args Include="ComponentName=$(_ComponentName)"/> + <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> + <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> + <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.plugins.swixbuild\$(MicrosoftVisualStudioEngMicroBuildPluginsSwixBuildVersion)\" /> + <_Args Include="VisualStudioDropName=$(VisualStudioDropName)" /> + <_Args Include="DotNetTool=$(DotNetTool)" /> + <_Args Include="ManifestTool=$(NuGetPackageRoot)microsoft.manifesttool.crossplatform\$(MicrosoftManifestToolCrossPlatformVersion)\Content\Microsoft.ManifestTool.dll" /> + <_Args Include="GenerateSbom=$(GenerateSbom)" /> + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj new file mode 100644 index 00000000000..4a8d5c3aee2 --- /dev/null +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj @@ -0,0 +1,129 @@ + + + + + + + false + false + false + false + + + + + + true + true + true + $(ComponentName) + $(SetupOutputPath) + $(ComponentIntermediateOutputPath) + $(GenerateSbom) + + + https://vsdrop.corp.microsoft.com/file/v1/$(VisualStudioDropName)%3B + http://localhost/non-official-build%3B + + + + <_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/> + + + + + + + + + + + + + + <_ParsedLine Include="@(_StubLine)" + VsixId="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[0])" + VsixFileName="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[1])" + VsixVersion="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[2])" /> + + <_VsixFileInfo Include="@(_ParsedLine->'%(VsixFileName)')"> + $(SetupOutputPath)%(VsixId).json + $(SetupOutputPath)%(VsixFileName) + $(ComponentIntermediateOutputPath)%(VsixFileName)\unpack + $(ComponentIntermediateOutputPath)%(VsixFileName)\sbom + $(ComponentIntermediateOutputPath)%(VsixFileName)\sbom\spdx_2.2\manifest.spdx.json + + + + + <_VsixVersion Include="%(_VsixFileInfo.VsixVersion)" VsixFileName="%(_VsixFileInfo.Identity)" /> + + + + + + + + + + + @(_VsixVersionNoDuplicates) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.VsixBuild.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.VsixBuild.targets index 5a654f5e468..3c4a7e19972 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.VsixBuild.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.VsixBuild.targets @@ -19,8 +19,6 @@ Writes a stub file to component intermediate directory. --> - - - - $(NuGetPackageRoot)microsoft.dotnet.build.tasks.visualstudio\$(MicrosoftDotNetBuildTasksVisualStudioVersion)\tools\net\Microsoft.DotNet.Build.Tasks.VisualStudio.dll - - diff --git a/src/Microsoft.DotNet.Build.Tasks.VisualStudio/build/Microsoft.DotNet.Build.Tasks.VisualStudio.props b/src/Microsoft.DotNet.Build.Tasks.VisualStudio/build/Microsoft.DotNet.Build.Tasks.VisualStudio.props new file mode 100644 index 00000000000..52299d0f885 --- /dev/null +++ b/src/Microsoft.DotNet.Build.Tasks.VisualStudio/build/Microsoft.DotNet.Build.Tasks.VisualStudio.props @@ -0,0 +1,16 @@ + + + + + $(MSBuildThisFileDirectory)..\tools\net\Microsoft.DotNet.Build.Tasks.VisualStudio.dll + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.NuGetRepack/tasks/build/Microsoft.DotNet.NuGetRepack.Tasks.props b/src/Microsoft.DotNet.NuGetRepack/tasks/build/Microsoft.DotNet.NuGetRepack.Tasks.props new file mode 100644 index 00000000000..45e612f79d3 --- /dev/null +++ b/src/Microsoft.DotNet.NuGetRepack/tasks/build/Microsoft.DotNet.NuGetRepack.Tasks.props @@ -0,0 +1,11 @@ + + + + + $(MSBuildThisFileDirectory)..\tools\net\Microsoft.DotNet.NuGetRepack.Tasks.dll + + + + + + From 7053e65a5b932e481996a1b343f985661fc4386a Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:21:17 +0200 Subject: [PATCH 02/20] Move SdkTasks to package root and update scripts Move SdkTasks/ from tools/SdkTasks/ to the Arcade SDK package root as a sibling of tools/. Update the csproj to pack SdkTasks/ separately and update both tools.ps1 and tools.sh to copy SdkTasks/ from the new package location during toolset initialization. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/common/tools.ps1 | 8 ++++++-- eng/common/tools.sh | 7 +++++-- .../Microsoft.DotNet.Arcade.Sdk.csproj | 3 +++ .../{tools => }/SdkTasks/AfterSigning.proj | 0 .../{tools => }/SdkTasks/AfterSolutionBuild.proj | 0 .../{tools => }/SdkTasks/Build.proj | 0 .../{tools => }/SdkTasks/BuildReleasePackages.targets | 0 .../{tools => }/SdkTasks/CreateBaselineUpdatePR.proj | 0 .../{tools => }/SdkTasks/Directory.Build.props | 0 .../{tools => }/SdkTasks/Directory.Build.targets | 0 .../{tools => }/SdkTasks/Directory.Packages.props | 0 .../{tools => }/SdkTasks/InstallDotNetCore.targets | 0 .../{tools => }/SdkTasks/Publish.proj | 0 .../{tools => }/SdkTasks/PublishArtifactsInManifest.proj | 0 .../{tools => }/SdkTasks/PublishBuildAssets.proj | 0 .../{tools => }/SdkTasks/PublishSignedAssets.proj | 0 .../{tools => }/SdkTasks/PublishToSymbolServers.proj | 0 .../{tools => }/SdkTasks/Sign.proj | 0 .../{tools => }/SdkTasks/Sign.props | 0 .../{tools => }/SdkTasks/SigningValidation.proj | 0 .../{tools => }/SdkTasks/Tools.proj | 0 .../{tools => }/SdkTasks/TrackPrebuiltUsage.targets | 0 .../{tools => }/SdkTasks/Versions.props | 0 .../SdkTasks/VisualStudio.AcquireOptimizationData.targets | 0 .../SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets | 0 .../SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj | 0 .../SdkTasks/VisualStudio.IbcTraining.runsettings | 0 .../SdkTasks/VisualStudio.InsertionManifests.targets | 0 .../SdkTasks/VisualStudio.SetupPackage.vsmanproj | 0 29 files changed, 14 insertions(+), 4 deletions(-) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/AfterSigning.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/AfterSolutionBuild.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Build.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/BuildReleasePackages.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/CreateBaselineUpdatePR.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Directory.Build.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Directory.Build.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Directory.Packages.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/InstallDotNetCore.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Publish.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/PublishArtifactsInManifest.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/PublishBuildAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/PublishSignedAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/PublishToSymbolServers.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Sign.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Sign.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/SigningValidation.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Tools.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/TrackPrebuiltUsage.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/Versions.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.AcquireOptimizationData.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.IbcTraining.runsettings (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.InsertionManifests.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{tools => }/SdkTasks/VisualStudio.SetupPackage.vsmanproj (100%) diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 7d48bca3a21..435de93f43c 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -680,11 +680,15 @@ function InitializeToolset() { ExitWithExitCode 3 } - # Copy the tools folder to the toolset directory - # TODO: In the future, only copy the SdkTasks folder and remove the fallback path. New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force + # Copy SdkTasks if present at the package root (new layout) + $packageSdkTasksDir = Join-Path $packageDir 'SdkTasks' + if (Test-Path $packageSdkTasksDir) { + Copy-Item -Path $packageSdkTasksDir -Destination $toolsetToolsDir -Recurse -Force + } + if (Test-Path $newPath) { $toolsetBuildProj = $newPath } elseif (Test-Path $oldPath) { diff --git a/eng/common/tools.sh b/eng/common/tools.sh index c89ee3e00cf..40229d009e3 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -438,11 +438,14 @@ function InitializeToolset { ExitWithExitCode 3 fi - # Copy the tools folder to the toolset directory - # TODO: In the future, only copy the SdkTasks folder and remove the fallback path. mkdir -p "$toolset_tools_dir" cp -r "$package_dir/tools/." "$toolset_tools_dir" + # Copy SdkTasks if present at the package root (new layout) + if [[ -d "$package_dir/SdkTasks" ]]; then + cp -r "$package_dir/SdkTasks" "$toolset_tools_dir/" + fi + if [[ -a "$toolset_tools_dir/SdkTasks/Build.proj" ]]; then toolset_build_proj="$toolset_tools_dir/SdkTasks/Build.proj" elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then diff --git a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index 861028474b9..fd5b10b516b 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -40,6 +40,9 @@ + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSigning.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSigning.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSigning.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSolutionBuild.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/AfterSolutionBuild.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSolutionBuild.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Build.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Build.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Build.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/BuildReleasePackages.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/BuildReleasePackages.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/BuildReleasePackages.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/CreateBaselineUpdatePR.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/CreateBaselineUpdatePR.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/CreateBaselineUpdatePR.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.props rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Build.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Packages.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Directory.Packages.props rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Packages.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/InstallDotNetCore.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/InstallDotNetCore.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/InstallDotNetCore.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Publish.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Publish.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Publish.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishArtifactsInManifest.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishArtifactsInManifest.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishArtifactsInManifest.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishBuildAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishBuildAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishBuildAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishSignedAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishSignedAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishSignedAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishToSymbolServers.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/PublishToSymbolServers.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishToSymbolServers.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Sign.props rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/SigningValidation.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/SigningValidation.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/SigningValidation.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Tools.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Tools.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Tools.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/TrackPrebuiltUsage.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/TrackPrebuiltUsage.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/TrackPrebuiltUsage.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Versions.props b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Versions.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/Versions.props rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Versions.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.AcquireOptimizationData.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.AcquireOptimizationData.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.AcquireOptimizationData.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.IbcTraining.runsettings b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.IbcTraining.runsettings similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.IbcTraining.runsettings rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.IbcTraining.runsettings diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.InsertionManifests.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.InsertionManifests.targets rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.InsertionManifests.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.SetupPackage.vsmanproj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/tools/SdkTasks/VisualStudio.SetupPackage.vsmanproj rename to src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.SetupPackage.vsmanproj From 4c51ac1684efc0ba7471bc59789e6fee738b24e5 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:26:04 +0200 Subject: [PATCH 03/20] Rename SdkTasks to sdk-tasks Rename the SdkTasks folder to sdk-tasks for consistent kebab-case naming. Update all references in tools.ps1, tools.sh, sdk-task.ps1, sdk-task.sh, and the Arcade SDK csproj. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/common/sdk-task.ps1 | 2 +- eng/common/sdk-task.sh | 2 +- eng/common/tools.ps1 | 12 +++++------ eng/common/tools.sh | 20 +++++++++---------- .../Microsoft.DotNet.Arcade.Sdk.csproj | 4 ++-- .../{SdkTasks => sdk-tasks}/AfterSigning.proj | 0 .../AfterSolutionBuild.proj | 0 .../{SdkTasks => sdk-tasks}/Build.proj | 0 .../BuildReleasePackages.targets | 0 .../CreateBaselineUpdatePR.proj | 0 .../Directory.Build.props | 0 .../Directory.Build.targets | 0 .../Directory.Packages.props | 0 .../InstallDotNetCore.targets | 0 .../{SdkTasks => sdk-tasks}/Publish.proj | 0 .../PublishArtifactsInManifest.proj | 0 .../PublishBuildAssets.proj | 0 .../PublishSignedAssets.proj | 0 .../PublishToSymbolServers.proj | 0 .../{SdkTasks => sdk-tasks}/Sign.proj | 0 .../{SdkTasks => sdk-tasks}/Sign.props | 0 .../SigningValidation.proj | 0 .../{SdkTasks => sdk-tasks}/Tools.proj | 0 .../TrackPrebuiltUsage.targets | 0 .../{SdkTasks => sdk-tasks}/Versions.props | 0 ...sualStudio.AcquireOptimizationData.targets | 0 ...isualStudio.BuildIbcTrainingInputs.targets | 0 ...VisualStudio.BuildIbcTrainingSettings.proj | 0 .../VisualStudio.IbcTraining.runsettings | 0 .../VisualStudio.InsertionManifests.targets | 0 .../VisualStudio.SetupPackage.vsmanproj | 0 31 files changed, 20 insertions(+), 20 deletions(-) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/AfterSigning.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/AfterSolutionBuild.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Build.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/BuildReleasePackages.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/CreateBaselineUpdatePR.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Directory.Build.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Directory.Build.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Directory.Packages.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/InstallDotNetCore.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Publish.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/PublishArtifactsInManifest.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/PublishBuildAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/PublishSignedAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/PublishToSymbolServers.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Sign.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Sign.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/SigningValidation.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Tools.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/TrackPrebuiltUsage.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/Versions.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.AcquireOptimizationData.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.BuildIbcTrainingInputs.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.BuildIbcTrainingSettings.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.IbcTraining.runsettings (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.InsertionManifests.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{SdkTasks => sdk-tasks}/VisualStudio.SetupPackage.vsmanproj (100%) diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index 538f7d001ea..0c58931e0ca 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -22,7 +22,7 @@ $warnAsError = if ($noWarnAsError) { $false } else { $true } function Print-Usage() { Write-Host "Common settings:" - Write-Host " -task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)" + Write-Host " -task Name of Arcade task (name of a project in sdk-tasks directory of the Arcade SDK package)" Write-Host " -restore Restore dependencies" Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" Write-Host " -help Print help and exit" diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh index 3270f83fa9a..13423ad146e 100755 --- a/eng/common/sdk-task.sh +++ b/eng/common/sdk-task.sh @@ -2,7 +2,7 @@ show_usage() { echo "Common settings:" - echo " --task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)" + echo " --task Name of Arcade task (name of a project in sdk-tasks directory of the Arcade SDK package)" echo " --restore Restore dependencies" echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" echo " --help Print help and exit" diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 435de93f43c..23d78685d4e 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -610,7 +610,7 @@ function GetNuGetPackageCachePath() { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject([string]$taskName) { - return Join-Path (Split-Path (InitializeToolset) -Parent) "SdkTasks\$taskName.proj" + return Join-Path (Split-Path (InitializeToolset) -Parent) "sdk-tasks\$taskName.proj" } function InitializeNativeTools() { @@ -651,13 +651,13 @@ function InitializeToolset() { # Check if the toolset has already been extracted $toolsetBuildProj = $null - $newPath = Join-Path $toolsetToolsDir 'SdkTasks\Build.proj' + $newPath = Join-Path $toolsetToolsDir 'sdk-tasks\Build.proj' $oldPath = Join-Path $toolsetToolsDir 'Build.proj' if (Test-Path $newPath) { $toolsetBuildProj = $newPath } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. $toolsetBuildProj = $oldPath } @@ -683,8 +683,8 @@ function InitializeToolset() { New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force - # Copy SdkTasks if present at the package root (new layout) - $packageSdkTasksDir = Join-Path $packageDir 'SdkTasks' + # Copy sdk-tasks if present at the package root (new layout) + $packageSdkTasksDir = Join-Path $packageDir 'sdk-tasks' if (Test-Path $packageSdkTasksDir) { Copy-Item -Path $packageSdkTasksDir -Destination $toolsetToolsDir -Recurse -Force } @@ -692,7 +692,7 @@ function InitializeToolset() { if (Test-Path $newPath) { $toolsetBuildProj = $newPath } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. $toolsetBuildProj = $oldPath } else { throw "Unable to find Build.proj in toolset at: $toolsetToolsDir" diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 40229d009e3..b752080e411 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -411,10 +411,10 @@ function InitializeToolset { # Check if the toolset has already been extracted local toolset_build_proj="" - if [[ -a "$toolset_tools_dir/SdkTasks/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/SdkTasks/Build.proj" + if [[ -a "$toolset_tools_dir/sdk-tasks/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/sdk-tasks/Build.proj" elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. toolset_build_proj="$toolset_tools_dir/Build.proj" fi @@ -441,15 +441,15 @@ function InitializeToolset { mkdir -p "$toolset_tools_dir" cp -r "$package_dir/tools/." "$toolset_tools_dir" - # Copy SdkTasks if present at the package root (new layout) - if [[ -d "$package_dir/SdkTasks" ]]; then - cp -r "$package_dir/SdkTasks" "$toolset_tools_dir/" + # Copy sdk-tasks if present at the package root (new layout) + if [[ -d "$package_dir/sdk-tasks" ]]; then + cp -r "$package_dir/sdk-tasks" "$toolset_tools_dir/" fi - if [[ -a "$toolset_tools_dir/SdkTasks/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/SdkTasks/Build.proj" + if [[ -a "$toolset_tools_dir/sdk-tasks/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/sdk-tasks/Build.proj" elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to SdkTasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. toolset_build_proj="$toolset_tools_dir/Build.proj" else Write-PipelineTelemetryError -category 'Build' "Unable to find Build.proj in toolset at: $toolset_tools_dir" @@ -592,7 +592,7 @@ function GetDarc { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject { taskName=$1 - echo "$(dirname $_InitializeToolset)/SdkTasks/$taskName.proj" + echo "$(dirname $_InitializeToolset)/sdk-tasks/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" diff --git a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index fd5b10b516b..99dc80a23ac 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -40,9 +40,9 @@ - + PackagePath="sdk-tasks/%(RecursiveDir)%(Filename)%(Extension)" /> diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSigning.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSigning.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSigning.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSolutionBuild.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/AfterSolutionBuild.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSolutionBuild.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Build.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Build.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Build.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/BuildReleasePackages.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/BuildReleasePackages.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/BuildReleasePackages.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/CreateBaselineUpdatePR.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/CreateBaselineUpdatePR.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/CreateBaselineUpdatePR.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/CreateBaselineUpdatePR.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.props rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Build.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Packages.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Packages.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Directory.Packages.props rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Packages.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/InstallDotNetCore.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/InstallDotNetCore.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/InstallDotNetCore.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Publish.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Publish.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Publish.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishArtifactsInManifest.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishArtifactsInManifest.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishArtifactsInManifest.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishBuildAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishBuildAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishBuildAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishBuildAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishSignedAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishSignedAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishSignedAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishSignedAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishToSymbolServers.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishToSymbolServers.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/PublishToSymbolServers.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishToSymbolServers.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Sign.props rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/SigningValidation.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/SigningValidation.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/SigningValidation.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/SigningValidation.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Tools.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Tools.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Tools.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/TrackPrebuiltUsage.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/TrackPrebuiltUsage.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/TrackPrebuiltUsage.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/TrackPrebuiltUsage.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Versions.props b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Versions.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/Versions.props rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Versions.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.AcquireOptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.AcquireOptimizationData.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.AcquireOptimizationData.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.AcquireOptimizationData.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingInputs.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingInputs.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingInputs.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingSettings.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.BuildIbcTrainingSettings.proj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingSettings.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.IbcTraining.runsettings b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.IbcTraining.runsettings similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.IbcTraining.runsettings rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.IbcTraining.runsettings diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.InsertionManifests.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.InsertionManifests.targets rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.InsertionManifests.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.SetupPackage.vsmanproj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/SdkTasks/VisualStudio.SetupPackage.vsmanproj rename to src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.SetupPackage.vsmanproj From 085ed6ce5482912ee0ff40a169a772ca4ffd6b4b Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:38:10 +0200 Subject: [PATCH 04/20] Rename sdk-tasks to toolset Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/common/sdk-task.ps1 | 2 +- eng/common/sdk-task.sh | 2 +- eng/common/tools.ps1 | 12 +++++------ eng/common/tools.sh | 20 +++++++++---------- .../Microsoft.DotNet.Arcade.Sdk.csproj | 4 ++-- .../{sdk-tasks => toolset}/AfterSigning.proj | 0 .../AfterSolutionBuild.proj | 0 .../{sdk-tasks => toolset}/Build.proj | 0 .../BuildReleasePackages.targets | 0 .../CreateBaselineUpdatePR.proj | 0 .../Directory.Build.props | 0 .../Directory.Build.targets | 0 .../Directory.Packages.props | 0 .../InstallDotNetCore.targets | 0 .../{sdk-tasks => toolset}/Publish.proj | 0 .../PublishArtifactsInManifest.proj | 0 .../PublishBuildAssets.proj | 0 .../PublishSignedAssets.proj | 0 .../PublishToSymbolServers.proj | 0 .../{sdk-tasks => toolset}/Sign.proj | 0 .../{sdk-tasks => toolset}/Sign.props | 0 .../SigningValidation.proj | 0 .../{sdk-tasks => toolset}/Tools.proj | 0 .../TrackPrebuiltUsage.targets | 0 .../{sdk-tasks => toolset}/Versions.props | 0 ...sualStudio.AcquireOptimizationData.targets | 0 ...isualStudio.BuildIbcTrainingInputs.targets | 0 ...VisualStudio.BuildIbcTrainingSettings.proj | 0 .../VisualStudio.IbcTraining.runsettings | 0 .../VisualStudio.InsertionManifests.targets | 0 .../VisualStudio.SetupPackage.vsmanproj | 0 31 files changed, 20 insertions(+), 20 deletions(-) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/AfterSigning.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/AfterSolutionBuild.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Build.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/BuildReleasePackages.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/CreateBaselineUpdatePR.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Directory.Build.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Directory.Build.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Directory.Packages.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/InstallDotNetCore.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Publish.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/PublishArtifactsInManifest.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/PublishBuildAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/PublishSignedAssets.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/PublishToSymbolServers.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Sign.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Sign.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/SigningValidation.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Tools.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/TrackPrebuiltUsage.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/Versions.props (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.AcquireOptimizationData.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.BuildIbcTrainingInputs.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.BuildIbcTrainingSettings.proj (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.IbcTraining.runsettings (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.InsertionManifests.targets (100%) rename src/Microsoft.DotNet.Arcade.Sdk/{sdk-tasks => toolset}/VisualStudio.SetupPackage.vsmanproj (100%) diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index 0c58931e0ca..a8af86844cc 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -22,7 +22,7 @@ $warnAsError = if ($noWarnAsError) { $false } else { $true } function Print-Usage() { Write-Host "Common settings:" - Write-Host " -task Name of Arcade task (name of a project in sdk-tasks directory of the Arcade SDK package)" + Write-Host " -task Name of Arcade task (name of a project in toolset directory of the Arcade SDK package)" Write-Host " -restore Restore dependencies" Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" Write-Host " -help Print help and exit" diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh index 13423ad146e..1cf71bb2aea 100755 --- a/eng/common/sdk-task.sh +++ b/eng/common/sdk-task.sh @@ -2,7 +2,7 @@ show_usage() { echo "Common settings:" - echo " --task Name of Arcade task (name of a project in sdk-tasks directory of the Arcade SDK package)" + echo " --task Name of Arcade task (name of a project in toolset directory of the Arcade SDK package)" echo " --restore Restore dependencies" echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" echo " --help Print help and exit" diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 23d78685d4e..89290dad916 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -610,7 +610,7 @@ function GetNuGetPackageCachePath() { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject([string]$taskName) { - return Join-Path (Split-Path (InitializeToolset) -Parent) "sdk-tasks\$taskName.proj" + return Join-Path (Split-Path (InitializeToolset) -Parent) "toolset\$taskName.proj" } function InitializeNativeTools() { @@ -651,13 +651,13 @@ function InitializeToolset() { # Check if the toolset has already been extracted $toolsetBuildProj = $null - $newPath = Join-Path $toolsetToolsDir 'sdk-tasks\Build.proj' + $newPath = Join-Path $toolsetToolsDir 'toolset\Build.proj' $oldPath = Join-Path $toolsetToolsDir 'Build.proj' if (Test-Path $newPath) { $toolsetBuildProj = $newPath } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. $toolsetBuildProj = $oldPath } @@ -683,8 +683,8 @@ function InitializeToolset() { New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force - # Copy sdk-tasks if present at the package root (new layout) - $packageSdkTasksDir = Join-Path $packageDir 'sdk-tasks' + # Copy toolset if present at the package root (new layout) + $packageSdkTasksDir = Join-Path $packageDir 'toolset' if (Test-Path $packageSdkTasksDir) { Copy-Item -Path $packageSdkTasksDir -Destination $toolsetToolsDir -Recurse -Force } @@ -692,7 +692,7 @@ function InitializeToolset() { if (Test-Path $newPath) { $toolsetBuildProj = $newPath } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. $toolsetBuildProj = $oldPath } else { throw "Unable to find Build.proj in toolset at: $toolsetToolsDir" diff --git a/eng/common/tools.sh b/eng/common/tools.sh index b752080e411..41b886b222d 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -411,10 +411,10 @@ function InitializeToolset { # Check if the toolset has already been extracted local toolset_build_proj="" - if [[ -a "$toolset_tools_dir/sdk-tasks/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/sdk-tasks/Build.proj" + if [[ -a "$toolset_tools_dir/toolset/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/toolset/Build.proj" elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. toolset_build_proj="$toolset_tools_dir/Build.proj" fi @@ -441,15 +441,15 @@ function InitializeToolset { mkdir -p "$toolset_tools_dir" cp -r "$package_dir/tools/." "$toolset_tools_dir" - # Copy sdk-tasks if present at the package root (new layout) - if [[ -d "$package_dir/sdk-tasks" ]]; then - cp -r "$package_dir/sdk-tasks" "$toolset_tools_dir/" + # Copy toolset if present at the package root (new layout) + if [[ -d "$package_dir/toolset" ]]; then + cp -r "$package_dir/toolset" "$toolset_tools_dir/" fi - if [[ -a "$toolset_tools_dir/sdk-tasks/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/sdk-tasks/Build.proj" + if [[ -a "$toolset_tools_dir/toolset/Build.proj" ]]; then + toolset_build_proj="$toolset_tools_dir/toolset/Build.proj" elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to sdk-tasks in all supported versions. + # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. toolset_build_proj="$toolset_tools_dir/Build.proj" else Write-PipelineTelemetryError -category 'Build' "Unable to find Build.proj in toolset at: $toolset_tools_dir" @@ -592,7 +592,7 @@ function GetDarc { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject { taskName=$1 - echo "$(dirname $_InitializeToolset)/sdk-tasks/$taskName.proj" + echo "$(dirname $_InitializeToolset)/toolset/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" diff --git a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj index 99dc80a23ac..723615e8e1a 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj +++ b/src/Microsoft.DotNet.Arcade.Sdk/Microsoft.DotNet.Arcade.Sdk.csproj @@ -40,9 +40,9 @@ - + PackagePath="toolset/%(RecursiveDir)%(Filename)%(Extension)" /> diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/AfterSigning.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSigning.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/AfterSigning.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/AfterSolutionBuild.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/AfterSolutionBuild.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/AfterSolutionBuild.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Build.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/BuildReleasePackages.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/BuildReleasePackages.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/BuildReleasePackages.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/CreateBaselineUpdatePR.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/CreateBaselineUpdatePR.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/CreateBaselineUpdatePR.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/CreateBaselineUpdatePR.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.props rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Build.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Packages.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Directory.Packages.props rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/InstallDotNetCore.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Publish.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishArtifactsInManifest.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishArtifactsInManifest.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishArtifactsInManifest.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishArtifactsInManifest.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishBuildAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishBuildAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishBuildAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishBuildAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishSignedAssets.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishSignedAssets.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishSignedAssets.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishSignedAssets.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishToSymbolServers.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishToSymbolServers.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/PublishToSymbolServers.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/PublishToSymbolServers.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Sign.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Sign.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Sign.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Sign.props rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Sign.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/SigningValidation.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/SigningValidation.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/SigningValidation.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/SigningValidation.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Tools.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/TrackPrebuiltUsage.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/TrackPrebuiltUsage.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/TrackPrebuiltUsage.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/TrackPrebuiltUsage.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Versions.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/Versions.props rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.AcquireOptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.AcquireOptimizationData.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.AcquireOptimizationData.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.AcquireOptimizationData.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingInputs.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.BuildIbcTrainingInputs.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingInputs.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.BuildIbcTrainingInputs.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingSettings.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.BuildIbcTrainingSettings.proj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.BuildIbcTrainingSettings.proj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.BuildIbcTrainingSettings.proj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.IbcTraining.runsettings b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.IbcTraining.runsettings similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.IbcTraining.runsettings rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.IbcTraining.runsettings diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.InsertionManifests.targets similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.InsertionManifests.targets rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.InsertionManifests.targets diff --git a/src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.SetupPackage.vsmanproj similarity index 100% rename from src/Microsoft.DotNet.Arcade.Sdk/sdk-tasks/VisualStudio.SetupPackage.vsmanproj rename to src/Microsoft.DotNet.Arcade.Sdk/toolset/VisualStudio.SetupPackage.vsmanproj From 22f2a43df743285b0c867c02ecd191e21d73e318 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:47:06 +0200 Subject: [PATCH 05/20] Remove duplicate files from tools/ that exist in toolset/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../tools/AfterSigning.proj | 60 --- .../tools/AfterSolutionBuild.proj | 25 - .../tools/Build.proj | 312 ------------ .../tools/BuildReleasePackages.targets | 27 -- .../tools/Directory.Build.props | 11 - .../tools/InstallDotNetCore.targets | 26 - .../tools/Publish.proj | 456 ------------------ .../tools/Sign.proj | 102 ---- .../tools/Sign.props | 158 ------ .../tools/Tools.proj | 115 ----- .../tools/TrackPrebuiltUsage.targets | 46 -- ...sualStudio.AcquireOptimizationData.targets | 86 ---- ...isualStudio.BuildIbcTrainingInputs.targets | 30 -- .../VisualStudio.InsertionManifests.targets | 49 -- .../tools/VisualStudio.SetupPackage.vsmanproj | 129 ----- 15 files changed, 1632 deletions(-) delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/InstallDotNetCore.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.props delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/TrackPrebuiltUsage.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.AcquireOptimizationData.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.BuildIbcTrainingInputs.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj deleted file mode 100644 index be73c83cef3..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSigning.proj +++ /dev/null @@ -1,60 +0,0 @@ - - - - - true - - - - - - - - - - BeforeBuild; - CoreBuild; - AfterBuild - - - - - - - - - - - - BeforePack; - CorePack; - AfterPack - - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj deleted file mode 100644 index 905457b6663..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/AfterSolutionBuild.proj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - true - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj deleted file mode 100644 index 802e0962075..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - <_OriginalProjectsValue>$(Projects) - - true - - - - - 1 - true - true - 1 - - - - - - - - - - - <_ProjectsPropertyWasUpdatedInBuildProps Condition="'$(_OriginalProjectsValue)' != '$(Projects)'">true - - <_DotNetBuildPassNormalized Condition="'$(DotNetBuildPass)' != ''">$(DotNetBuildPass) - <_DotNetBuildPassNormalized Condition="'$(DotNetBuildPass)' == ''">1 - - - - - <_OriginalProjectToBuild Include="@(ProjectToBuild)" /> - - - - - - - - - <_ProjectToBuildCurrentBuildPass Include="@(ProjectToBuild->WithMetadataValue('DotNetBuildPass', '$(_DotNetBuildPassNormalized)'))" /> - - - - - - - - - - - - - - - - - - <_SolutionBuildTargets Include="Rebuild" Condition="'$(Rebuild)' == 'true'" /> - <_SolutionBuildTargets Include="Build" Condition="'$(Build)' == 'true' and '$(Rebuild)' != 'true'" /> - - <_SolutionBuildTargets Include="Test" Condition="'$(Test)' == 'true'" /> - - <_SolutionBuildTargets Include="Pack" Condition="'$(Pack)' == 'true'" /> - <_SolutionBuildTargets Include="IntegrationTest" Condition="'$(IntegrationTest)' == 'true'" /> - <_SolutionBuildTargets Include="PerformanceTest" Condition="'$(PerformanceTest)' == 'true'" /> - - - - <_RemoveProps>Projects;Restore;Deploy;Sign;Publish;NETCORE_ENGINEERING_TELEMETRY;@(_SolutionBuildTargets) - - - - <_CommonProps Include="Configuration=$(Configuration)"/> - <_CommonProps Include="ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)"/> - <_CommonProps Include="RepoRoot=$(RepoRoot)"/> - <_CommonProps Include="VersionsPropsPath=$(VersionsPropsPath)"/> - - - <_CommonProps Include="DisableWarnForInvalidRestoreProjects=true" Condition="'$(DotNetBuild)' == 'true'"/> - - - <_CommonProps Include="VCTargetsPath=$([MSBuild]::ValueOrDefault('$(VCTargetsPath)', '$([MSBuild]::GetVsInstallRoot())\Common7\IDE\VC\VCTargets\'))" Condition="'$(MSBuildRuntimeType)' != 'Core'"/> - - - - <_SolutionBuildProps Include="@(_CommonProps)"/> - <_SolutionBuildProps Include="__DeployProjectOutput=$(Deploy)" Condition="'$(Deploy)' != ''"/> - <_SolutionBuildProps Include="__ImportPackTargets=true" Condition="'$(Pack)' == 'true'" /> - - - - - - - - - - - - <_NuGetRestoreTargets Condition="Exists('$(MSBuildToolsPath)\NuGet.targets')" >$(MSBuildToolsPath)\NuGet.targets - <_NuGetRestoreTargets Condition="'$([MSBuild]::IsRunningFromVisualStudio())' == 'true' And Exists('$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets')">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets - - - - <_RestoreToolsProps Include="@(_CommonProps)"/> - <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> - <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> - <_RestoreToolsProps Include="_NuGetRestoreTargets=$(_NuGetRestoreTargets)"/> - - - <_RestoreToolsProps Include="Publish=$(Publish)"/> - - - - - <_RestoreToolsProps Include="DotNetRuntimeSourceFeed=$(DotNetRuntimeSourceFeed)"/> - <_RestoreToolsProps Include="DotNetRuntimeSourceFeedKey=$(DotNetRuntimeSourceFeedKey)"/> - - - - - - - - - <_SolutionRestoreProps Include="@(_SolutionBuildProps)" /> - <_SolutionRestoreProps Include="__BuildPhase=SolutionRestore" /> - <_SolutionRestoreProps Include="_NETCORE_ENGINEERING_TELEMETRY=Restore" /> - <_SolutionRestoreProps Include="MSBuildRestoreSessionId=$([System.Guid]::NewGuid())" /> - <_SolutionRestoreProps Include="RestoreUseStaticGraphEvaluation=$(RestoreUseStaticGraphEvaluation)" /> - <_SolutionRestoreProps Include="RestoreEmbedFilesInBinlog=true" /> - <_SolutionRestoreProps Include="RestoreStaticGraphEnableBinaryLogger=$(GenerateRestoreUseStaticGraphEvaluationBinlog)" /> - - - - - true - - - - - - - - - - - <_ProjectToRestoreWithNuGetList>@(_ProjectToRestoreWithNuGet->'%(FullPath)') - - - - <_ProjectToRestore Include="$(_NuGetRestoreTargets)" Condition="'$(_ProjectToRestoreWithNuGetList)' != '' and '$(RestoreUsingNuGetTargets)' != 'false'"> - RestoreGraphProjectInput=$(_ProjectToRestoreWithNuGetList) - true - - - - <_ProjectToRestore Include="@(ProjectToBuild)" Exclude="@(_ProjectToRestoreWithNuGet)" /> - - - - - <_ProjectToRestore> - RestoreStaticGraphBinaryLoggerParameters=$(ArtifactsLogDir)Restore-%(Filename)%(Extension).binlog - - - - - - <_RestoreRemoveProps>$(_RemoveProps) - <_RestoreRemoveProps Condition="'$(TreatWarningsAsErrors)' != 'false'">$(_RestoreRemoveProps);TreatWarningsAsErrors - - - - - - - - - - - - - - - <_PublishProps Include="@(_CommonProps)"/> - - <_PublishProps Include="Publish=$(Publish)"/> - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets deleted file mode 100644 index 048dcff3db1..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildReleasePackages.targets +++ /dev/null @@ -1,27 +0,0 @@ - - - - - <_NuGetRepackAssembly>$(NuGetPackageRoot)microsoft.dotnet.nugetrepack.tasks\$(MicrosoftDotnetNuGetRepackTasksVersion)\tools\net\Microsoft.DotNet.NuGetRepack.Tasks.dll - - - - - - - - - - - <_BuiltPackages Include="$(ArtifactsShippingPackagesDir)*.nupkg" /> - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props deleted file mode 100644 index baea506b124..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Directory.Build.props +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - false - false - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/InstallDotNetCore.targets deleted file mode 100644 index aba176e26b2..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/InstallDotNetCore.targets +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - <_DotNetInstallScript>$(RepositoryEngineeringDir)common\dotnet-install.cmd - <_DotNetInstallScript Condition="'$(OS)' != 'Windows_NT'">$(RepositoryEngineeringDir)common\dotnet-install.sh - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj deleted file mode 100644 index 44834f60188..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Publish.proj +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - true - - - - - - - - - - - - - - - - - - 3 - 4 - true - - - false - true - - - false - true - - true - - false - false - - - BeforePublish;AutoGenerateSymbolPackages - - assets/symbols/ - $(SymbolPackageBaseRelativeBlobPath)$(BUILD_REPOSITORY_NAME)/ - $(SymbolPackageBaseRelativeBlobPath)$(RepositoryName)/ - $(SymbolPackageBaseRelativeBlobPath)$(BUILD_BUILDNUMBER)/ - - - $(SYSTEM_PHASENAME)/ - - - - - - $([MSBuild]::ValueOrDefault('$(TargetOS)', '$(OS)')) - - $([MSBuild]::ValueOrDefault('$(TargetArchitecture)', '$(PlatformName)')) - - -Pass$(DotNetBuildPass) - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - <_ExistingSymbolPackage Include="@(Artifact)" Condition="'%(Artifact.SkipPublish)' != 'true' and $([System.String]::Copy('%(Filename)%(Extension)').EndsWith('.symbols.nupkg'))"> - - Blob - - Symbols - $(SymbolPackageBaseRelativeBlobPath)%(Filename)%(Extension) - - <_PackageToPublish Include="@(Artifact)" Exclude="@(_ExistingSymbolPackage)" Condition="'%(Artifact.SkipPublish)' != 'true' and '%(Extension)' == '.nupkg'" /> - - - - - <_ExistingSymbolPackage Remove="@(_ExistingSymbolPackage)" Condition="'$(DotNetBuildSourceOnly)' == 'true'"/> - - - - - - - - - - - - <_SymbolsToPushToBlobFeed Include="@(FilesToPublishToSymbolServer)"> - PDB - $(LoosePDBRelativeBasePath)%(RecursiveDir)%(Filename)%(Extension) - - - - - - - - $(ArtifactsTmpDir)SymbolPackages\ - - - - <_PackageToPublish Update="@(_PackageToPublish)"> - $(SymbolPackagesDir)%(Filename).symbols.nupkg - $(SymbolPackageBaseRelativeBlobPath)%(Filename).symbols.nupkg - - - <_SymbolPackageToGenerate Include="@(_PackageToPublish->'%(SymbolPackageToGenerate)')" - Exclude="@(_ExistingSymbolPackage -> '$(SymbolPackagesDir)%(Filename)%(Extension)')" - Condition="'%(_PackageToPublish.SymbolPackageToGenerate)' != ''"> - %(_PackageToPublish.Identity) - %(_PackageToPublish.IsShipping) - Blob - Symbols - %(_PackageToPublish.SymbolPackageRelativeBlobPath) - - - - - - - - - - <_SymbolPackageToGenerate Remove="$(SymbolPackagesDir)**/Microsoft.DotNet.Darc.*" /> - <_SymbolPackageToGenerate Remove="$(SymbolPackagesDir)**/Microsoft.DotNet.Maestro.Tasks.*" /> - - - - - - - - - - - - - - - - - - - - $(RelativeBlobPathParent.TrimEnd('/'))/%(Filename)%(Extension) - Blob - - - - - - - - $(SYSTEM_TEAMFOUNDATIONCOLLECTIONURI) - - - $(CollectionUri.Split('/')[3]) - - - $(CollectionUri.Split('.')[0].Split('/')[2]) - - - - - false - true - - - $(SYSTEM_PHASENAME).xml - $(AssetManifestOS)-$(AssetManifestArch)$(AssetManifestPass).xml - $(ArtifactsLogDir)AssetManifest\$(AssetManifestFileName) - - - $(ArtifactsTmpDir)PDBsToPublish/ - - - - - - $([MSBuild]::NormalizeDirectory('$(Build_ArtifactStagingDirectory)', 'artifacts')) - $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'staging')) - - - $(SourceBuiltPdbArtifactsDir) - $(ArtifactsPublishStagingDir)pdbs - - - $(SourceBuiltShippingPackagesDir) - $(ArtifactsPublishStagingDir)packages/shipping - - - $(SourceBuiltNonShippingPackagesDir) - $(ArtifactsPublishStagingDir)packages/nonshipping - - - $(SourceBuiltAssetManifestsDir) - $(ArtifactsPublishStagingDir)manifests - - - $(SourceBuiltAssetsDir) - $(ArtifactsPublishStagingDir)assets - - - $(SYSTEM_PHASENAME)_Artifacts - $(AssetManifestOS)_$(AssetManifestArch)$(AssetManifestPass)_Artifacts - $(SourceBuiltArtifactsBasePath) - $(ArtifactsPublishStagingDir) - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - $([MSBuild]::ValueOrDefault('$(DefaultArtifactVisibility)', 'External')) - - true - - Blob - Package - - true - - - - - - - %(ItemsToPushToBlobFeed.ManifestArtifactData);NonShipping=true - - - - - - %(ItemsToPushToBlobFeed.ManifestArtifactData);DotNetReleaseShipping=true - - - - - - - %(ItemsToPushToBlobFeed.ManifestArtifactData);Category=%(ItemsToPushToBlobFeed.Category) - - - - - - %(ItemsToPushToBlobFeed.ManifestArtifactData);Visibility=%(ItemsToPushToBlobFeed.Visibility) - - - - - - - %(ItemsToPushToBlobFeed.ManifestArtifactData);CouldBeStable=true - - %(ItemsToPushToBlobFeed.ManifestArtifactData);CouldBeStable=false - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj deleted file mode 100644 index 8049677420e..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - <_DryRun>true - - <_DryRun Condition="'$(OfficialBuild)' == 'true' and '$(ForceDryRunSigning)' != 'true'">false - - <_TestSign>false - <_TestSign Condition="'$(DotNetSignType)' == 'test'">true - - <_DotNetCoreRequired>false - <_DotNetCoreRequired Condition="'$(_DryRun)' != 'true'">true - - - $(NuGetPackageRoot)sn\$(SNVersion)\sn.exe - - - - - - - - - - - <_DotNetCorePath>$(DotNetTool) - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.props deleted file mode 100644 index 7b7439e02b8..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.props +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - true - - - - - - true - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MicrosoftDotNet500 - false - - - - - - false - true - - - -1 - - - quiet - - Signing - - - - - - 16 - - 128 - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj deleted file mode 100644 index c5ba4421054..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Tools.proj +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - net472 - - 5 - .NETFramework - .NETFramework,Version=v4.7.2 - $(BaseIntermediateOutputPath) - - PackageReference - true - - - - true - Restore - - - - - $(RepoRoot)NuGet.config - $(RepoRoot)NuGet.Config - $(RepoRoot)nuget.config - - - - - - - - - - - <_ImportOrUseTooling Condition="'$(_ImportOrUseTooling)' == '' and '$(DotNetBuildSourceOnly)' != 'true'">true - $(Publish) - - - - - - - - - - - - - - - - - - - - - - - <_RepoToolManifest>$([MSBuild]::NormalizePath('$(RepoRoot)', '.config', 'dotnet-tools.json')) - - - - - - - - - --configfile "$(RestoreConfigFile)" - - - - - - - - - $(RepoRoot)eng/common/internal/Tools.csproj - $(RepoRoot)eng/common/internal/NuGet.config - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/TrackPrebuiltUsage.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/TrackPrebuiltUsage.targets deleted file mode 100644 index fc4578574cd..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/TrackPrebuiltUsage.targets +++ /dev/null @@ -1,46 +0,0 @@ - - - - - $(NuGetPackageRoot)microsoft.dotnet.sourcebuild.tasks\$(MicrosoftDotNetSourceBuildTasksVersion)\build\ - - - - - - $(RepoRoot) - $(NuGetPackageRoot) - $(ArtifactsLogDir) - $(TrackPrebuiltUsageReportDir)prebuilt-usage.xml - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.AcquireOptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.AcquireOptimizationData.targets deleted file mode 100644 index 33704816096..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.AcquireOptimizationData.targets +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - <_VisualStudioBuildTasksAssembly>$(NuGetPackageRoot)microsoft.dotnet.build.tasks.visualstudio\$(MicrosoftDotNetBuildTasksVisualStudioVersion)\tools\net\Microsoft.DotNet.Build.Tasks.VisualStudio.dll - - - - - - true - $(RepositoryName) - - - - - - - - - <_DropToolPath>$(NuGetPackageRoot)drop.app\$(DropAppVersion)\lib\net45\drop.exe - <_DropToolExists>false - <_DropToolExists Condition="Exists('$(_DropToolPath)')">true - - - - - - - - - - - - - - - <_DropServiceUrl>https://devdiv.artifacts.visualstudio.com - <_PatAuthArg Condition="'$(VisualStudioDropAccessToken)' != ''">--patAuth "$(VisualStudioDropAccessToken)" - <_DestArg>$(IbcOptimizationDataDir.TrimEnd('\')) - <_DropsJsonPath>$(ArtifactsLogDir)OptimizationDataDrops.json - <_DropsLogPath>$(ArtifactsLogDir)OptimizationDataAcquisition.log - <_DropNamePrefix>OptimizationData/$(VisualStudioIbcRepositoryName)/$(VisualStudioIbcSourceBranchName) - <_DropName>$(_DropNamePrefix)/$(VisualStudioIbcDropId) - <_DropName Condition="'$(VisualStudioIbcDrop)' != ''">$(VisualStudioIbcDrop) - - - - - - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.BuildIbcTrainingInputs.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.BuildIbcTrainingInputs.targets deleted file mode 100644 index 39949cff687..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.BuildIbcTrainingInputs.targets +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - <_VisualStudioBuildTasksAssembly>$(NuGetPackageRoot)microsoft.dotnet.build.tasks.visualstudio\$(MicrosoftDotNetBuildTasksVisualStudioVersion)\tools\net\Microsoft.DotNet.Build.Tasks.VisualStudio.dll - - - - - - - - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets deleted file mode 100644 index e79964b9cd8..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.InsertionManifests.targets +++ /dev/null @@ -1,49 +0,0 @@ - - - - - <_StubFiles Include="$(VisualStudioSetupIntermediateOutputPath)**\*.stub"/> - <_StubDirs Include="@(_StubFiles->'%(RecursiveDir)')"/> - - - - false - - - - - <_ComponentDir>%(_StubDirs.Identity) - <_ComponentName>$(_ComponentDir.TrimEnd('\')) - - - - - - - - <_Args Include="OfficialBuild=$(OfficialBuild)" /> - <_Args Include="ComponentName=$(_ComponentName)"/> - <_Args Include="SetupOutputPath=$(VisualStudioSetupInsertionPath)"/> - <_Args Include="ComponentIntermediateOutputPath=$(VisualStudioSetupIntermediateOutputPath)$(_ComponentName)\"/> - <_Args Include="SwixBuildPath=$(NuGetPackageRoot)microsoft.visualstudioeng.microbuild.plugins.swixbuild\$(MicrosoftVisualStudioEngMicroBuildPluginsSwixBuildVersion)\" /> - <_Args Include="VisualStudioDropName=$(VisualStudioDropName)" /> - <_Args Include="DotNetTool=$(DotNetTool)" /> - <_Args Include="ManifestTool=$(NuGetPackageRoot)microsoft.manifesttool.crossplatform\$(MicrosoftManifestToolCrossPlatformVersion)\Content\Microsoft.ManifestTool.dll" /> - <_Args Include="GenerateSbom=$(GenerateSbom)" /> - - - - - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj b/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj deleted file mode 100644 index e94c181e4e2..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/VisualStudio.SetupPackage.vsmanproj +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - false - false - false - false - - - - - - true - true - true - $(ComponentName) - $(SetupOutputPath) - $(ComponentIntermediateOutputPath) - $(GenerateSbom) - - - https://vsdrop.corp.microsoft.com/file/v1/$(VisualStudioDropName)%3B - http://localhost/non-official-build%3B - - - - <_PackageStubFiles Include="$(ComponentIntermediateOutputPath)*.stub"/> - - - - - - - - - - - - - - <_ParsedLine Include="@(_StubLine)" - VsixId="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[0])" - VsixFileName="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[1])" - VsixVersion="$([MSBuild]::ValueOrDefault('%(_StubLine.Identity)', '').Split('/')[2])" /> - - <_VsixFileInfo Include="@(_ParsedLine->'%(VsixFileName)')"> - $(SetupOutputPath)%(VsixId).json - $(SetupOutputPath)%(VsixFileName) - $(ComponentIntermediateOutputPath)%(VsixFileName)\unpack - $(ComponentIntermediateOutputPath)%(VsixFileName)\sbom - $(ComponentIntermediateOutputPath)%(VsixFileName)\sbom\spdx_2.2\manifest.spdx.json - - - - - <_VsixVersion Include="%(_VsixFileInfo.VsixVersion)" VsixFileName="%(_VsixFileInfo.Identity)" /> - - - - - - - - - - - @(_VsixVersionNoDuplicates) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 26794270f832b2d1bcadbf0fc3a6304fc8b823fb Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:55:27 +0200 Subject: [PATCH 06/20] Restore projs --- src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj index cb44d5143d7..584e2db47e5 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Tools.proj @@ -9,6 +9,13 @@ Restore + + + + + + + From 19a8b343c08ac987a6ade15c997268eaac4338d5 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 21:08:39 +0200 Subject: [PATCH 07/20] Fix toolset copy --- eng/common/tools.ps1 | 12 +++++++----- eng/common/tools.sh | 6 ++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 89290dad916..c31e0ae2268 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -681,12 +681,14 @@ function InitializeToolset() { } New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null - Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force - # Copy toolset if present at the package root (new layout) - $packageSdkTasksDir = Join-Path $packageDir 'toolset' - if (Test-Path $packageSdkTasksDir) { - Copy-Item -Path $packageSdkTasksDir -Destination $toolsetToolsDir -Recurse -Force + # Copy toolset if present at the package root (new layout), otherwise fall back to tools + $packageToolsetDir = Join-Path $packageDir 'toolset' + if (Test-Path $packageToolsetDir) { + Copy-Item -Path $packageToolsetDir -Destination $toolsetToolsDir -Recurse -Force + } else { + # TODO: Remove this fallback once all supported versions have the toolset folder. + Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force } if (Test-Path $newPath) { diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 41b886b222d..2970ff7a45a 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -439,11 +439,13 @@ function InitializeToolset { fi mkdir -p "$toolset_tools_dir" - cp -r "$package_dir/tools/." "$toolset_tools_dir" - # Copy toolset if present at the package root (new layout) + # Copy toolset if present at the package root (new layout), otherwise fall back to tools if [[ -d "$package_dir/toolset" ]]; then cp -r "$package_dir/toolset" "$toolset_tools_dir/" + else + # TODO: Remove this fallback once all supported versions have the toolset folder. + cp -r "$package_dir/tools/." "$toolset_tools_dir" fi if [[ -a "$toolset_tools_dir/toolset/Build.proj" ]]; then From e8ab0dc49d3232cde3133a1492c8d845558f8580 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 21:18:35 +0200 Subject: [PATCH 08/20] Fix missing toolset folder check --- eng/common/tools.ps1 | 28 +++++++++++----------------- eng/common/tools.sh | 19 +++++++------------ 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index c31e0ae2268..49bccb7374c 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -610,7 +610,7 @@ function GetNuGetPackageCachePath() { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject([string]$taskName) { - return Join-Path (Split-Path (InitializeToolset) -Parent) "toolset\$taskName.proj" + return Join-Path (Split-Path (InitializeToolset) -Parent) "$taskName.proj" } function InitializeNativeTools() { @@ -651,14 +651,10 @@ function InitializeToolset() { # Check if the toolset has already been extracted $toolsetBuildProj = $null - $newPath = Join-Path $toolsetToolsDir 'toolset\Build.proj' - $oldPath = Join-Path $toolsetToolsDir 'Build.proj' + $buildProjPath = Join-Path $toolsetToolsDir 'Build.proj' - if (Test-Path $newPath) { - $toolsetBuildProj = $newPath - } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. - $toolsetBuildProj = $oldPath + if (Test-Path $buildProjPath) { + $toolsetBuildProj = $buildProjPath } if ($toolsetBuildProj -ne $null) { @@ -673,29 +669,27 @@ function InitializeToolset() { DotNet package download "Microsoft.DotNet.Arcade.Sdk@$toolsetVersion" --prerelease --output "$nugetCache" $packageDir = Join-Path $nugetCache (Join-Path 'microsoft.dotnet.arcade.sdk' $toolsetVersion) + $packageToolsetDir = Join-Path $packageDir 'toolset' $packageToolsDir = Join-Path $packageDir 'tools' - if (!(Test-Path $packageToolsDir)) { - Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Arcade SDK tools not found at: $packageToolsDir" + # TODO: Remove the tools/ check once all supported versions have the toolset folder. + if (!(Test-Path $packageToolsetDir) -and !(Test-Path $packageToolsDir)) { + Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Arcade SDK package does not contain a toolset or tools folder: $packageDir" ExitWithExitCode 3 } New-Item -ItemType Directory -Path $toolsetToolsDir -Force | Out-Null # Copy toolset if present at the package root (new layout), otherwise fall back to tools - $packageToolsetDir = Join-Path $packageDir 'toolset' if (Test-Path $packageToolsetDir) { - Copy-Item -Path $packageToolsetDir -Destination $toolsetToolsDir -Recurse -Force + Copy-Item -Path "$packageToolsetDir\*" -Destination $toolsetToolsDir -Recurse -Force } else { # TODO: Remove this fallback once all supported versions have the toolset folder. Copy-Item -Path "$packageToolsDir\*" -Destination $toolsetToolsDir -Recurse -Force } - if (Test-Path $newPath) { - $toolsetBuildProj = $newPath - } elseif (Test-Path $oldPath) { - # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. - $toolsetBuildProj = $oldPath + if (Test-Path $buildProjPath) { + $toolsetBuildProj = $buildProjPath } else { throw "Unable to find Build.proj in toolset at: $toolsetToolsDir" } diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 2970ff7a45a..ad9af28328f 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -411,10 +411,7 @@ function InitializeToolset { # Check if the toolset has already been extracted local toolset_build_proj="" - if [[ -a "$toolset_tools_dir/toolset/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/toolset/Build.proj" - elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. + if [[ -a "$toolset_tools_dir/Build.proj" ]]; then toolset_build_proj="$toolset_tools_dir/Build.proj" fi @@ -433,8 +430,9 @@ function InitializeToolset { local package_dir="$_GetNuGetPackageCachePath/microsoft.dotnet.arcade.sdk/$toolset_version" - if [[ ! -d "$package_dir/tools" ]]; then - Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK tools not found at: $package_dir/tools" + # TODO: Remove the tools/ check once all supported versions have the toolset folder. + if [[ ! -d "$package_dir/toolset" && ! -d "$package_dir/tools" ]]; then + Write-PipelineTelemetryError -category 'InitializeToolset' "Arcade SDK package does not contain a toolset or tools folder: $package_dir" ExitWithExitCode 3 fi @@ -442,16 +440,13 @@ function InitializeToolset { # Copy toolset if present at the package root (new layout), otherwise fall back to tools if [[ -d "$package_dir/toolset" ]]; then - cp -r "$package_dir/toolset" "$toolset_tools_dir/" + cp -r "$package_dir/toolset/." "$toolset_tools_dir" else # TODO: Remove this fallback once all supported versions have the toolset folder. cp -r "$package_dir/tools/." "$toolset_tools_dir" fi - if [[ -a "$toolset_tools_dir/toolset/Build.proj" ]]; then - toolset_build_proj="$toolset_tools_dir/toolset/Build.proj" - elif [[ -a "$toolset_tools_dir/Build.proj" ]]; then - # TODO: Remove this fallback once Build.proj has been moved to toolset in all supported versions. + if [[ -a "$toolset_tools_dir/Build.proj" ]]; then toolset_build_proj="$toolset_tools_dir/Build.proj" else Write-PipelineTelemetryError -category 'Build' "Unable to find Build.proj in toolset at: $toolset_tools_dir" @@ -594,7 +589,7 @@ function GetDarc { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject { taskName=$1 - echo "$(dirname $_InitializeToolset)/toolset/$taskName.proj" + echo "$(dirname $_InitializeToolset)/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" From ec4e4a50091efecd14263ea2e6a99cc5a4f53ec3 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 21:28:10 +0200 Subject: [PATCH 09/20] Remove hardcoded path --- src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj index 793ed801736..f960003c2f4 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj @@ -148,7 +148,6 @@ <_RestoreToolsProps Include="@(_CommonProps)"/> - <_RestoreToolsProps Include="BaseIntermediateOutputPath=$(ArtifactsToolsetDir)Common"/> <_RestoreToolsProps Include="ExcludeRestorePackageImports=true"/> <_RestoreToolsProps Include="_NuGetRestoreTargets=$(_NuGetRestoreTargets)"/> From c11e04f9e03dbf4cddec5bbeff02c056083bbdd5 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 21:33:52 +0200 Subject: [PATCH 10/20] Remove unneeded Versions.props file --- .../toolset/Versions.props | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props deleted file mode 100644 index d99f8045360..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Versions.props +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - $(ArcadeSdkVersion) - $(ArcadeSdkVersion) - $(ArcadeSdkVersion) - $(ArcadeSdkVersion) - $(MicrosoftSymbolUploaderBuildTaskVersion) - - - - - $(RestoreAdditionalProjectSources); - https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json; - https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json; - https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json; - - - - From 16de4148bcb90cc28a0144a53d2ce6d2d6375253 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 21:42:27 +0200 Subject: [PATCH 11/20] Configure CPM correctly Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../toolset/Directory.Packages.props | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props index f3dea99e856..c86d56ee87e 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Packages.props @@ -1,6 +1,12 @@ + + true + + $(NoWarn);NU1507 + + From eb823439436d430490fd9a2444b1d02057df8b98 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 22:02:53 +0200 Subject: [PATCH 12/20] Set OutDirName --- src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props index f5fcbc655e1..19f3de1b72b 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props @@ -1,6 +1,10 @@ + + toolset\$(MSBuildProjectName) + + From effb8f9a08bed080c95de9a547b0bd0d2cba6859 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 22:39:09 +0200 Subject: [PATCH 13/20] Fix build --- src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props | 9 --------- src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props deleted file mode 100644 index a48dd077e84..00000000000 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildStep.props +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj index f960003c2f4..afb89423811 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Build.proj @@ -1,5 +1,5 @@ - + - <_SuppressAllTargets>false <_SuppressAllTargets Condition="'$(DotNetBuildSourceOnly)' == 'true' and '$(ExcludeFromSourceOnlyBuild)' == 'true'">true <_SuppressAllTargets Condition="'$(DotNetBuild)' == 'true' and '$(ExcludeFromDotNetBuild)' == 'true'">true diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props index 19f3de1b72b..febd5642692 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props @@ -15,7 +15,7 @@ <_SuppressAllTargets>true <_SuppressSdkImports>false - <_EmptyDisableRestore>true + <_EmptyDisableRestore>false From bfd1ba1425898a62060d4b81f1300d038c2f39ab Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:07:57 +0200 Subject: [PATCH 16/20] Skip restore target --- src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets | 2 +- .../tools/ExcludeFromBuild.BeforeCommonTargets.targets | 2 +- src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets index 360e2256fd3..9d2c498e7bd 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets @@ -48,6 +48,6 @@ - + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/ExcludeFromBuild.BeforeCommonTargets.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/ExcludeFromBuild.BeforeCommonTargets.targets index ae27633cb92..d196db8678a 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/ExcludeFromBuild.BeforeCommonTargets.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/ExcludeFromBuild.BeforeCommonTargets.targets @@ -56,7 +56,7 @@ which will avoid importing the restore targets inside the .NET SDK. If the restore targets exist, then static graph restore will attempt tpo execute. --> true - $(MSBuildThisFileDirectory)NoRestore.targets + $(MSBuildThisFileDirectory)NoRestore.targets false diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props index febd5642692..964e74ae5f2 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Directory.Build.props @@ -15,7 +15,7 @@ <_SuppressAllTargets>true <_SuppressSdkImports>false - <_EmptyDisableRestore>false + <_NoSuppressRestoreTarget>false From f54ff50ea345bdd480b9b4c7fb2bd92e8dc6c01c Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:26:03 +0200 Subject: [PATCH 17/20] Undo change --- eng/common/sdk-task.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index a8af86844cc..68119de603e 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -14,7 +14,7 @@ Param( [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties ) -$ci = $false +$ci = $true $binaryLog = if ($excludeCIBinaryLog) { $false } else { $true } $warnAsError = if ($noWarnAsError) { $false } else { $true } From 9ee9de75e3f2665b74971f09893e42b2e50f43f4 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:34:44 +0200 Subject: [PATCH 18/20] Small clean-up --- src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index b90879d2451..9a51d5b4cb9 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -12,7 +12,6 @@ - $(MSBuildThisFileDirectory) $(MSBuildThisFileDirectory)net\Microsoft.DotNet.Arcade.Sdk.dll From 12b7179ecbd82f16bab21c467d796ee1fa9c5227 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:43:08 +0200 Subject: [PATCH 19/20] Define Arcade.Sdk tasks centrally --- .../tools/BuildTasks.props | 19 +++++++++++++++++++ .../tools/GenerateChecksums.targets | 2 -- .../tools/GenerateResxSource.targets | 2 -- .../tools/OptimizationData.targets | 4 ---- .../tools/RepositoryInfo.targets | 4 ---- .../tools/RepositoryValidation.proj | 3 --- .../tools/Version.targets | 2 -- .../toolset/InstallDotNetCore.targets | 2 -- .../toolset/Publish.proj | 2 -- 9 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props index 9a51d5b4cb9..23a8e252ec2 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/BuildTasks.props @@ -15,4 +15,23 @@ $(MSBuildThisFileDirectory)net\Microsoft.DotNet.Arcade.Sdk.dll + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateChecksums.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateChecksums.targets index b625b3e70e9..02089e3a6d1 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateChecksums.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateChecksums.targets @@ -1,8 +1,6 @@ - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets index e7f105c21d0..d031f0d797f 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/GenerateResxSource.targets @@ -6,8 +6,6 @@ The source file is generated to intermediate output dir to avoid polluting the source tree. See https://github.com/dotnet/sdk/issues/94 that tracks productization of this code. --> - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets index 24ef2781aa1..d20874ec3e4 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/OptimizationData.targets @@ -13,10 +13,6 @@ OptimizeAssembly Set of assemblies to apply Partial NGEN optimization data to. --> - - - - $(IntermediateOutputPath)$(TargetFileName).pcbm diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets index 596daa4008d..36233e7cd88 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryInfo.targets @@ -77,7 +77,6 @@ Generates and adds {PackageId}.SourceLink.targets file to the build directory of the source package. --> - $(BeforePack);_AddSourcePackageSourceLinkFile @@ -123,9 +122,6 @@ - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryValidation.proj b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryValidation.proj index 5efc4b438dd..b45d2f307ab 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryValidation.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/RepositoryValidation.proj @@ -8,9 +8,6 @@ - - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets b/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets index fab5620c279..4b6b9e42679 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.targets @@ -8,8 +8,6 @@ SemanticVersioningV1 "true" if the Version needs to respect SemVer 1.0. Default is false, which means format following SemVer 2.0. --> - - diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets b/src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets index 45ed3bd015e..27bccaf4b26 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/InstallDotNetCore.targets @@ -1,8 +1,6 @@ - - <_DotNetInstallScript>$(RepositoryEngineeringDir)common\dotnet-install.cmd diff --git a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj index 0eef4a5908e..abed4d711c3 100644 --- a/src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj +++ b/src/Microsoft.DotNet.Arcade.Sdk/toolset/Publish.proj @@ -27,8 +27,6 @@ - IsShipping Set to false to mark the artifact as non-shipping. Defaults to true. --> - - From c31eee7c25ec0d202c452dcf6301829394c29df4 Mon Sep 17 00:00:00 2001 From: Viktor Hofer <7412651+ViktorHofer@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:50:54 +0200 Subject: [PATCH 20/20] Fix sdk tasks fallback --- eng/common/tools.ps1 | 12 +++++++++++- eng/common/tools.sh | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 49bccb7374c..6a0f33d18e1 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -610,7 +610,17 @@ function GetNuGetPackageCachePath() { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject([string]$taskName) { - return Join-Path (Split-Path (InitializeToolset) -Parent) "$taskName.proj" + $toolsetDir = Split-Path (InitializeToolset) -Parent + $proj = Join-Path $toolsetDir "$taskName.proj" + if (Test-Path $proj) { + return $proj + } + # TODO: Remove this fallback once all supported versions use the new layout. + $legacyProj = Join-Path $toolsetDir "SdkTasks\$taskName.proj" + if (Test-Path $legacyProj) { + return $legacyProj + } + throw "Unable to find $taskName.proj in toolset at: $toolsetDir" } function InitializeNativeTools() { diff --git a/eng/common/tools.sh b/eng/common/tools.sh index ad9af28328f..238cb4cef88 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -588,8 +588,22 @@ function GetDarc { # Returns a full path to an Arcade SDK task project file. function GetSdkTaskProject { - taskName=$1 - echo "$(dirname $_InitializeToolset)/$taskName.proj" + local taskName=$1 + local toolsetDir + toolsetDir="$(dirname "$_InitializeToolset")" + local proj="$toolsetDir/$taskName.proj" + if [[ -a "$proj" ]]; then + echo "$proj" + return + fi + # TODO: Remove this fallback once all supported versions use the new layout. + local legacyProj="$toolsetDir/SdkTasks/$taskName.proj" + if [[ -a "$legacyProj" ]]; then + echo "$legacyProj" + return + fi + Write-PipelineTelemetryError -category 'Build' "Unable to find $taskName.proj in toolset at: $toolsetDir" + ExitWithExitCode 3 } ResolvePath "${BASH_SOURCE[0]}"