</Dependency>
</ProductDependencies>
<ToolsetDependencies>
- <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.GenAPI" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.GenFacades" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.XUnitConsoleRunner" Version="2.5.1-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Packaging" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.VersionTools.Tasks" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Test.Sdk" Version="16.9.0-preview-20201201-01">
<Uri>https://github.com/microsoft/vstest</Uri>
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>e9669dc84ecd668d3bbb748758103e23b394ffef</Sha>
</Dependency>
- <Dependency Name="Microsoft.DotNet.PackageTesting" Version="6.0.0-beta.22314.7">
+ <Dependency Name="Microsoft.DotNet.PackageTesting" Version="6.0.0-beta.22411.3">
<Uri>https://github.com/dotnet/arcade</Uri>
- <Sha>fdd3a242bc813f371023adff4e4c05c0be705d2a</Sha>
+ <Sha>778552f02f31d50ec1c3c18a872cc482d04aec75</Sha>
</Dependency>
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.21416.5">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
<!-- SDK dependencies -->
<MicrosoftDotNetCompatibilityVersion>1.1.0-preview.22164.17</MicrosoftDotNetCompatibilityVersion>
<!-- Arcade dependencies -->
- <MicrosoftDotNetApiCompatVersion>6.0.0-beta.22314.7</MicrosoftDotNetApiCompatVersion>
- <MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksFeedVersion>
- <MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.22314.7</MicrosoftDotNetCodeAnalysisVersion>
- <MicrosoftDotNetGenAPIVersion>6.0.0-beta.22314.7</MicrosoftDotNetGenAPIVersion>
- <MicrosoftDotNetGenFacadesVersion>6.0.0-beta.22314.7</MicrosoftDotNetGenFacadesVersion>
- <MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.22314.7</MicrosoftDotNetXUnitExtensionsVersion>
- <MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.22314.7</MicrosoftDotNetXUnitConsoleRunnerVersion>
- <MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksArchivesVersion>
- <MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksInstallersVersion>
- <MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksPackagingVersion>
- <MicrosoftDotNetBuildTasksTemplatingVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksTemplatingVersion>
- <MicrosoftDotNetBuildTasksWorkloadsPackageVersion>6.0.0-beta.22314.7</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
- <MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.22314.7</MicrosoftDotNetRemoteExecutorVersion>
- <MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.22314.7</MicrosoftDotNetVersionToolsTasksVersion>
- <MicrosoftDotNetPackageTestingVersion>6.0.0-beta.22314.7</MicrosoftDotNetPackageTestingVersion>
+ <MicrosoftDotNetApiCompatVersion>6.0.0-beta.22411.3</MicrosoftDotNetApiCompatVersion>
+ <MicrosoftDotNetBuildTasksFeedVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksFeedVersion>
+ <MicrosoftDotNetCodeAnalysisVersion>6.0.0-beta.22411.3</MicrosoftDotNetCodeAnalysisVersion>
+ <MicrosoftDotNetGenAPIVersion>6.0.0-beta.22411.3</MicrosoftDotNetGenAPIVersion>
+ <MicrosoftDotNetGenFacadesVersion>6.0.0-beta.22411.3</MicrosoftDotNetGenFacadesVersion>
+ <MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.22411.3</MicrosoftDotNetXUnitExtensionsVersion>
+ <MicrosoftDotNetXUnitConsoleRunnerVersion>2.5.1-beta.22411.3</MicrosoftDotNetXUnitConsoleRunnerVersion>
+ <MicrosoftDotNetBuildTasksArchivesVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksArchivesVersion>
+ <MicrosoftDotNetBuildTasksInstallersVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksInstallersVersion>
+ <MicrosoftDotNetBuildTasksPackagingVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksPackagingVersion>
+ <MicrosoftDotNetBuildTasksTemplatingVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksTemplatingVersion>
+ <MicrosoftDotNetBuildTasksWorkloadsPackageVersion>6.0.0-beta.22411.3</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
+ <MicrosoftDotNetRemoteExecutorVersion>6.0.0-beta.22411.3</MicrosoftDotNetRemoteExecutorVersion>
+ <MicrosoftDotNetVersionToolsTasksVersion>6.0.0-beta.22411.3</MicrosoftDotNetVersionToolsTasksVersion>
+ <MicrosoftDotNetPackageTestingVersion>6.0.0-beta.22411.3</MicrosoftDotNetPackageTestingVersion>
<!-- NuGet dependencies -->
<NuGetBuildTasksPackVersion>6.0.0-preview.1.102</NuGetBuildTasksPackVersion>
<!-- Installer dependencies -->
<MicrosoftNETWorkloadEmscriptenManifest60300Version>6.0.8</MicrosoftNETWorkloadEmscriptenManifest60300Version>
<MicrosoftNETWorkloadEmscriptenManifest60400Version>6.0.8</MicrosoftNETWorkloadEmscriptenManifest60400Version>
<MicrosoftNETRuntimeEmscriptenVersion>$(MicrosoftNETWorkloadEmscriptenManifest60100Version)</MicrosoftNETRuntimeEmscriptenVersion>
-
<!-- workloads -->
<SwixPackageVersion>1.1.87-gba258badda</SwixPackageVersion>
<WixPackageVersion>1.0.0-v3.14.0.5722</WixPackageVersion>
[Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed
)
+. $PSScriptRoot\pipeline-logging-functions.ps1
+
Write-Host "Creating dir $ManifestDirPath"
# create directory for sbom manifest to be placed
if (!(Test-Path -path $ManifestDirPath))
source="${BASH_SOURCE[0]}"
+# resolve $SOURCE until the file is no longer a symlink
+while [[ -h $source ]]; do
+ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+ source="$(readlink "$source")"
+
+ # if $source was a relative symlink, we need to resolve it relative to the path where the
+ # symlink file was located
+ [[ $source != /* ]] && source="$scriptroot/$source"
+done
+scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+. $scriptroot/pipeline-logging-functions.sh
+
manifest_dir=$1
if [ ! -d "$manifest_dir" ] ; then
.PARAMETER GlobalJsonFile
File path to global.json file
+.PARAMETER PathPromotion
+Optional switch to enable either promote native tools specified in the global.json to the path (in Azure Pipelines)
+or break the build if a native tool is not found on the path (on a local dev machine)
+
.NOTES
#>
[CmdletBinding(PositionalBinding=$false)]
[switch] $Force = $False,
[int] $DownloadRetries = 5,
[int] $RetryWaitTimeInSeconds = 30,
- [string] $GlobalJsonFile
+ [string] $GlobalJsonFile,
+ [switch] $PathPromotion
)
if (!$GlobalJsonFile) {
ConvertFrom-Json |
Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue
if ($NativeTools) {
- $NativeTools.PSObject.Properties | ForEach-Object {
- $ToolName = $_.Name
- $ToolVersion = $_.Value
- $LocalInstallerArguments = @{ ToolName = "$ToolName" }
- $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
- $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
- $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
- $LocalInstallerArguments += @{ Version = "$ToolVersion" }
-
- if ($Verbose) {
- $LocalInstallerArguments += @{ Verbose = $True }
- }
- if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
- if($Force) {
- $LocalInstallerArguments += @{ Force = $True }
- }
- }
- if ($Clean) {
- $LocalInstallerArguments += @{ Clean = $True }
- }
-
- Write-Verbose "Installing $ToolName version $ToolVersion"
- Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'"
- & $InstallerPath @LocalInstallerArguments
- if ($LASTEXITCODE -Ne "0") {
- $errMsg = "$ToolName installation failed"
- if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {
- $showNativeToolsWarning = $true
- if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) {
- $showNativeToolsWarning = $false
+ if ($PathPromotion -eq $True) {
+ if ($env:SYSTEM_TEAMPROJECT) { # check to see if we're in an Azure pipelines build
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+ $InstalledTools = @{}
+
+ if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) {
+ if ($ToolVersion -eq "latest") {
+ $ToolVersion = ""
+ }
+ $ArcadeToolsDirectory = "C:\arcade-tools"
+ if (-not (Test-Path $ArcadeToolsDirectory)) {
+ Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed."
+ exit 1
+ }
+ $ToolDirectory = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)[0]
+ if ([string]::IsNullOrWhiteSpace($ToolDirectory)) {
+ Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image."
+ exit 1
}
- if ($showNativeToolsWarning) {
- Write-Warning $errMsg
+ $BinPathFile = "$($ToolDirectory.FullName)\binpath.txt"
+ if (-not (Test-Path -Path "$BinPathFile")) {
+ Write-Error "Unable to find binpath.txt in '$($ToolDirectory.FullName)' ($ToolName $ToolVersion); artifact is either installed incorrectly or is not a bootstrappable tool."
+ exit 1
}
- $toolInstallationFailure = $true
- } else {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host $errMsg
- exit 1
+ $BinPath = Get-Content "$BinPathFile"
+ $ToolPath = Convert-Path -Path $BinPath
+ Write-Host "Adding $ToolName to the path ($ToolPath)..."
+ Write-Host "##vso[task.prependpath]$ToolPath"
+ $InstalledTools += @{ $ToolName = $ToolDirectory.FullName }
+ }
}
+ return $InstalledTools
+ } else {
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+
+ if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) {
+ Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "$ToolName not found on path. Please install $ToolName $ToolVersion before proceeding."
+ }
+ }
+ exit 0
+ }
+ } else {
+ $NativeTools.PSObject.Properties | ForEach-Object {
+ $ToolName = $_.Name
+ $ToolVersion = $_.Value
+ $LocalInstallerArguments = @{ ToolName = "$ToolName" }
+ $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
+ $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
+ $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
+ $LocalInstallerArguments += @{ Version = "$ToolVersion" }
+
+ if ($Verbose) {
+ $LocalInstallerArguments += @{ Verbose = $True }
+ }
+ if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
+ if($Force) {
+ $LocalInstallerArguments += @{ Force = $True }
+ }
+ }
+ if ($Clean) {
+ $LocalInstallerArguments += @{ Clean = $True }
+ }
+
+ Write-Verbose "Installing $ToolName version $ToolVersion"
+ Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'"
+ & $InstallerPath @LocalInstallerArguments
+ if ($LASTEXITCODE -Ne "0") {
+ $errMsg = "$ToolName installation failed"
+ if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {
+ $showNativeToolsWarning = $true
+ if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) {
+ $showNativeToolsWarning = $false
+ }
+ if ($showNativeToolsWarning) {
+ Write-Warning $errMsg
+ }
+ $toolInstallationFailure = $true
+ } else {
+ # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
+ Write-Host $errMsg
+ exit 1
+ }
+ }
+ }
+
+ if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) {
+ # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
+ Write-Host 'Native tools bootstrap failed'
+ exit 1
}
- }
-
- if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host 'Native tools bootstrap failed'
- exit 1
}
}
else {
Write-Host "##vso[task.prependpath]$(Convert-Path -Path $InstallBin)"
return $InstallBin
}
- else {
+ elseif (-not ($PathPromotion)) {
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message 'Native tools install directory does not exist, installation failed'
exit 1
}
Write-Host $_.ScriptStackTrace
Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message $_
ExitWithExitCode 1
-}
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <packageSources>
+ <clear />
+ <add key="dotnet-core-internal-tooling" value="https://pkgs.dev.azure.com/devdiv/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json" />
+ </packageSources>
+</configuration>
<ItemGroup>
<!-- Clear references, the SDK may add some depending on UsuingToolXxx settings, but we only want to restore the following -->
<PackageReference Remove="@(PackageReference)"/>
+ <PackageReference Include="Microsoft.ManifestTool.CrossPlatform" Version="$(MicrosoftManifestToolCrossPlatformVersion)" />
+ <PackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="$(MicrosoftVisualStudioEngMicroBuildCoreVersion)" />
+ <PackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Plugins.SwixBuild" Version="$(MicrosoftVisualStudioEngMicroBuildPluginsSwixBuildVersion)" />
<PackageReference Include="Microsoft.DotNet.IBCMerge" Version="$(MicrosoftDotNetIBCMergeVersion)" Condition="'$(UsingToolIbcOptimization)' == 'true'" />
<PackageReference Include="Drop.App" Version="$(DropAppVersion)" ExcludeAssets="all" Condition="'$(UsingToolVisualStudioIbcTraining)' == 'true'"/>
</ItemGroup>
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- checkout: self
clean: true
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
variables:
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
runAsPublic: ${{ parameters.runAsPublic }}
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals Build.Server.Amd64.VS2019
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
parameters:
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
# in the default public locations.
internalRuntimeDownloadArgs=
- if [ '$(dotnetclimsrc-read-sas-token-base64)' != '$''(dotnetclimsrc-read-sas-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) --runtimesourcefeed https://dotnetclimsrc.blob.core.windows.net/dotnet --runtimesourcefeedkey $(dotnetclimsrc-read-sas-token-base64)'
+ if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
buildConfig=Release
InstallDirectory = "$ToolsDir"
}
}
+ if ($env:NativeToolsOnMachine) {
+ Write-Host "Variable NativeToolsOnMachine detected, enabling native tool path promotion..."
+ $nativeArgs += @{ PathPromotion = $true }
+ }
& "$PSScriptRoot/init-tools-native.ps1" @nativeArgs
}
}
"python3": "3.7.1"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.22314.7",
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22314.7",
- "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22314.7",
- "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.22314.7",
+ "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.22411.3",
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22411.3",
+ "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.22411.3",
+ "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.22411.3",
"Microsoft.Build.NoTargets": "3.1.0",
"Microsoft.Build.Traversal": "3.0.23",
"Microsoft.NET.Sdk.IL": "6.0.0-rc.1.21415.6"