[master] Update dependencies from dotnet/arcade (#1882)
* Update dependencies from https://github.com/dotnet/arcade build 20190505.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19255.2 * Update dependencies from https://github.com/dotnet/arcade build 20190506.12 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19256.12
This commit is contained in:
parent
b0aadfd29c
commit
5f2491ef20
9 changed files with 134 additions and 32 deletions
|
@ -72,9 +72,9 @@
|
|||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19254.1">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19256.12">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>1b8589bbf53b9a5e819460798eff59830f39a3be</Sha>
|
||||
<Sha>c31fac9f6899094226cb5cd77c85b8f60ecafa3d</Sha>
|
||||
</Dependency>
|
||||
</ToolsetDependencies>
|
||||
</Dependencies>
|
||||
|
|
|
@ -35,7 +35,7 @@ usage()
|
|||
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
|
||||
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
|
||||
echo ""
|
||||
echo "Command line arguments starting with '/p:' are passed through to MSBuild."
|
||||
echo "Command line arguments not listed above are passed thru to msbuild."
|
||||
echo "Arguments can also be passed in with a single hyphen."
|
||||
}
|
||||
|
||||
|
@ -137,22 +137,8 @@ while [[ $# > 0 ]]; do
|
|||
node_reuse=$2
|
||||
shift
|
||||
;;
|
||||
-p:*|/p:*)
|
||||
properties="$properties $1"
|
||||
;;
|
||||
-m:*|/m:*)
|
||||
properties="$properties $1"
|
||||
;;
|
||||
-bl:*|/bl:*)
|
||||
properties="$properties $1"
|
||||
;;
|
||||
-dl:*|/dl:*)
|
||||
properties="$properties $1"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid argument: $1"
|
||||
usage
|
||||
exit 1
|
||||
properties="$properties $1"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
2
eng/common/dotnet-install.cmd
Normal file
2
eng/common/dotnet-install.cmd
Normal file
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet-install.ps1""" %*"
|
22
eng/common/dotnet-install.ps1
vendored
Normal file
22
eng/common/dotnet-install.ps1
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
[CmdletBinding(PositionalBinding=$false)]
|
||||
Param(
|
||||
[string] $verbosity = "minimal",
|
||||
[string] $architecture = "",
|
||||
[string] $version = "Latest",
|
||||
[string] $runtime = "dotnet"
|
||||
)
|
||||
|
||||
. $PSScriptRoot\tools.ps1
|
||||
|
||||
try {
|
||||
$dotnetRoot = Join-Path $RepoRoot ".dotnet"
|
||||
InstallDotNet $dotnetRoot $version $architecture $runtime $true
|
||||
}
|
||||
catch {
|
||||
Write-Host $_
|
||||
Write-Host $_.Exception
|
||||
Write-Host $_.ScriptStackTrace
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
|
||||
ExitWithExitCode 0
|
49
eng/common/dotnet-install.sh
vendored
Normal file
49
eng/common/dotnet-install.sh
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
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 )"
|
||||
|
||||
version='Latest'
|
||||
architecture=''
|
||||
runtime='dotnet'
|
||||
while [[ $# > 0 ]]; do
|
||||
opt="$(echo "$1" | awk '{print tolower($0)}')"
|
||||
case "$opt" in
|
||||
-version|-v)
|
||||
shift
|
||||
version="$1"
|
||||
;;
|
||||
-architecture|-a)
|
||||
shift
|
||||
architecture="$1"
|
||||
;;
|
||||
-runtime|-r)
|
||||
shift
|
||||
runtime="$1"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid argument: $1"
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
. "$scriptroot/tools.sh"
|
||||
dotnetRoot="$repo_root/.dotnet"
|
||||
InstallDotNet $dotnetRoot $version "$architecture" $runtime true || {
|
||||
local exit_code=$?
|
||||
echo "dotnet-install.sh failed (exit code '$exit_code')." >&2
|
||||
ExitWithExitCode $exit_code
|
||||
}
|
||||
|
||||
ExitWithExitCode 0
|
|
@ -90,6 +90,9 @@ jobs:
|
|||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
||||
|
||||
variables:
|
||||
- ${{ if eq(parameters.enableTelemetry, 'true') }}:
|
||||
- name: DOTNET_CLI_TELEMETRY_PROFILE
|
||||
value: '$(Build.Repository.Uri)'
|
||||
- ${{ each variable in parameters.variables }}:
|
||||
# handle name-value variable syntax
|
||||
# example:
|
||||
|
|
|
@ -108,7 +108,7 @@ function InitializeDotNetCli([bool]$install) {
|
|||
}
|
||||
|
||||
# Find the first path on %PATH% that contains the dotnet.exe
|
||||
if ($useInstalledDotNetCli -and ($env:DOTNET_INSTALL_DIR -eq $null)) {
|
||||
if ($useInstalledDotNetCli -and (-not $globalJsonHasRuntimes) -and ($env:DOTNET_INSTALL_DIR -eq $null)) {
|
||||
$dotnetCmd = Get-Command "dotnet.exe" -ErrorAction SilentlyContinue
|
||||
if ($dotnetCmd -ne $null) {
|
||||
$env:DOTNET_INSTALL_DIR = Split-Path $dotnetCmd.Path -Parent
|
||||
|
@ -119,7 +119,7 @@ function InitializeDotNetCli([bool]$install) {
|
|||
|
||||
# Use dotnet installation specified in DOTNET_INSTALL_DIR if it contains the required SDK version,
|
||||
# otherwise install the dotnet CLI and SDK to repo local .dotnet directory to avoid potential permission issues.
|
||||
if (($env:DOTNET_INSTALL_DIR -ne $null) -and (Test-Path(Join-Path $env:DOTNET_INSTALL_DIR "sdk\$dotnetSdkVersion"))) {
|
||||
if ((-not $globalJsonHasRuntimes) -and ($env:DOTNET_INSTALL_DIR -ne $null) -and (Test-Path(Join-Path $env:DOTNET_INSTALL_DIR "sdk\$dotnetSdkVersion"))) {
|
||||
$dotnetRoot = $env:DOTNET_INSTALL_DIR
|
||||
} else {
|
||||
$dotnetRoot = Join-Path $RepoRoot ".dotnet"
|
||||
|
@ -152,7 +152,7 @@ function InitializeDotNetCli([bool]$install) {
|
|||
}
|
||||
|
||||
function GetDotNetInstallScript([string] $dotnetRoot) {
|
||||
$installScript = "$dotnetRoot\dotnet-install.ps1"
|
||||
$installScript = Join-Path $dotnetRoot "dotnet-install.ps1"
|
||||
if (!(Test-Path $installScript)) {
|
||||
Create-Directory $dotnetRoot
|
||||
Invoke-WebRequest "https://dot.net/v1/dotnet-install.ps1" -OutFile $installScript
|
||||
|
@ -162,9 +162,21 @@ function GetDotNetInstallScript([string] $dotnetRoot) {
|
|||
}
|
||||
|
||||
function InstallDotNetSdk([string] $dotnetRoot, [string] $version, [string] $architecture = "") {
|
||||
InstallDotNet $dotnetRoot $version $architecture
|
||||
}
|
||||
|
||||
function InstallDotNet([string] $dotnetRoot, [string] $version, [string] $architecture = "", [string] $runtime = "", [bool] $skipNonVersionedFiles = $false) { $installScript = GetDotNetInstallScript $dotnetRoot
|
||||
$installScript = GetDotNetInstallScript $dotnetRoot
|
||||
$archArg = if ($architecture) { $architecture } else { "<auto>" }
|
||||
& $installScript -Version $version -InstallDir $dotnetRoot -Architecture $archArg
|
||||
$installParameters = @{
|
||||
Version = $version
|
||||
InstallDir = $dotnetRoot
|
||||
}
|
||||
|
||||
if ($architecture) { $installParameters.Architecture = $architecture }
|
||||
if ($runtime) { $installParameters.Runtime = $runtime }
|
||||
if ($skipNonVersionedFiles) { $installParameters.SkipNonVersionedFiles = $skipNonVersionedFiles }
|
||||
|
||||
& $installScript @installParameters
|
||||
if ($lastExitCode -ne 0) {
|
||||
Write-Host "Failed to install dotnet cli (exit code '$lastExitCode')." -ForegroundColor Red
|
||||
ExitWithExitCode $lastExitCode
|
||||
|
@ -429,6 +441,7 @@ function InitializeToolset() {
|
|||
$bl = if ($binaryLog) { "/bl:" + (Join-Path $LogDir "ToolsetRestore.binlog") } else { "" }
|
||||
|
||||
'<Project Sdk="Microsoft.DotNet.Arcade.Sdk"/>' | Set-Content $proj
|
||||
|
||||
MSBuild $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile
|
||||
|
||||
$path = Get-Content $toolsetLocationFile -TotalCount 1
|
||||
|
@ -522,6 +535,8 @@ $ToolsDir = Join-Path $RepoRoot ".tools"
|
|||
$LogDir = Join-Path (Join-Path $ArtifactsDir "log") $configuration
|
||||
$TempDir = Join-Path (Join-Path $ArtifactsDir "tmp") $configuration
|
||||
$GlobalJson = Get-Content -Raw -Path (Join-Path $RepoRoot "global.json") | ConvertFrom-Json
|
||||
# true if global.json contains a "runtimes" section
|
||||
$globalJsonHasRuntimes = if ($GlobalJson.tools.PSObject.Properties.Name -Match 'runtimes') { $true } else { $false }
|
||||
|
||||
Create-Directory $ToolsetDir
|
||||
Create-Directory $TempDir
|
||||
|
@ -534,4 +549,4 @@ if ($ci) {
|
|||
|
||||
$env:TEMP = $TempDir
|
||||
$env:TMP = $TempDir
|
||||
}
|
||||
}
|
|
@ -101,7 +101,7 @@ function InitializeDotNetCli {
|
|||
fi
|
||||
|
||||
# Find the first path on $PATH that contains the dotnet.exe
|
||||
if [[ "$use_installed_dotnet_cli" == true && -z "${DOTNET_INSTALL_DIR:-}" ]]; then
|
||||
if [[ "$use_installed_dotnet_cli" == true && $global_json_has_runtimes == false && -z "${DOTNET_INSTALL_DIR:-}" ]]; then
|
||||
local dotnet_path=`command -v dotnet`
|
||||
if [[ -n "$dotnet_path" ]]; then
|
||||
ResolvePath "$dotnet_path"
|
||||
|
@ -115,10 +115,11 @@ function InitializeDotNetCli {
|
|||
|
||||
# Use dotnet installation specified in DOTNET_INSTALL_DIR if it contains the required SDK version,
|
||||
# otherwise install the dotnet CLI and SDK to repo local .dotnet directory to avoid potential permission issues.
|
||||
if [[ -n "${DOTNET_INSTALL_DIR:-}" && -d "$DOTNET_INSTALL_DIR/sdk/$dotnet_sdk_version" ]]; then
|
||||
if [[ $global_json_has_runtimes == false && -n "${DOTNET_INSTALL_DIR:-}" && -d "$DOTNET_INSTALL_DIR/sdk/$dotnet_sdk_version" ]]; then
|
||||
dotnet_root="$DOTNET_INSTALL_DIR"
|
||||
else
|
||||
dotnet_root="$repo_root/.dotnet"
|
||||
|
||||
export DOTNET_INSTALL_DIR="$dotnet_root"
|
||||
|
||||
if [[ ! -d "$DOTNET_INSTALL_DIR/sdk/$dotnet_sdk_version" ]]; then
|
||||
|
@ -149,16 +150,34 @@ function InitializeDotNetCli {
|
|||
function InstallDotNetSdk {
|
||||
local root=$1
|
||||
local version=$2
|
||||
local architecture=""
|
||||
if [[ $# == 3 ]]; then
|
||||
architecture=$3
|
||||
fi
|
||||
InstallDotNet "$root" "$version" $architecture
|
||||
}
|
||||
|
||||
function InstallDotNet {
|
||||
local root=$1
|
||||
local version=$2
|
||||
|
||||
GetDotNetInstallScript "$root"
|
||||
local install_script=$_GetDotNetInstallScript
|
||||
|
||||
local arch_arg=""
|
||||
if [[ $# == 3 ]]; then
|
||||
arch_arg="--architecture $3"
|
||||
local archArg=''
|
||||
if [[ "$#" -ge "3" ]]; then
|
||||
archArg="--architecture $3"
|
||||
fi
|
||||
local runtimeArg=''
|
||||
if [[ "$#" -ge "4" ]]; then
|
||||
runtimeArg="--runtime $4"
|
||||
fi
|
||||
|
||||
bash "$install_script" --version $version --install-dir "$root" $arch_arg || {
|
||||
local skipNonVersionedFilesArg=""
|
||||
if [[ "$#" -ge "5" ]]; then
|
||||
skipNonVersionedFilesArg="--skip-non-versioned-files"
|
||||
fi
|
||||
bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg || {
|
||||
local exit_code=$?
|
||||
echo "Failed to install dotnet SDK (exit code '$exit_code')." >&2
|
||||
ExitWithExitCode $exit_code
|
||||
|
@ -323,6 +342,12 @@ log_dir="$artifacts_dir/log/$configuration"
|
|||
temp_dir="$artifacts_dir/tmp/$configuration"
|
||||
|
||||
global_json_file="$repo_root/global.json"
|
||||
# determine if global.json contains a "runtimes" entry
|
||||
global_json_has_runtimes=false
|
||||
dotnetlocal_key=`grep -m 1 "runtimes" "$global_json_file"` || true
|
||||
if [[ -n "$dotnetlocal_key" ]]; then
|
||||
global_json_has_runtimes=true
|
||||
fi
|
||||
|
||||
# HOME may not be defined in some scenarios, but it is required by NuGet
|
||||
if [[ -z $HOME ]]; then
|
||||
|
@ -337,4 +362,4 @@ mkdir -p "$log_dir"
|
|||
if [[ $ci == true ]]; then
|
||||
export TEMP="$temp_dir"
|
||||
export TMP="$temp_dir"
|
||||
fi
|
||||
fi
|
|
@ -3,6 +3,6 @@
|
|||
"dotnet": "3.0.100-preview4-011223"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19254.1"
|
||||
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19256.12"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue