|
5 | 5 | [Parameter(Mandatory = $false)][switch] $SkipTests |
6 | 6 | ) |
7 | 7 |
|
| 8 | +# These make CI builds faster |
| 9 | +$env:DOTNET_MULTILEVEL_LOOKUP = "0" |
| 10 | +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = "true" |
| 11 | +$env:NUGET_XMLDOC_MODE = "skip" |
| 12 | + |
8 | 13 | $ErrorActionPreference = "Stop" |
9 | 14 | $ProgressPreference = "SilentlyContinue" |
10 | 15 |
|
@@ -52,13 +57,33 @@ else { |
52 | 57 |
|
53 | 58 | if ($installDotNetSdk -eq $true) { |
54 | 59 |
|
55 | | - $installScript = Join-Path (Join-Path "$(Convert-Path "$PSScriptRoot")" ".dotnetcli") "install.ps1" |
56 | | - [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" |
57 | | - Invoke-WebRequest "https://dot.net/v1/dotnet-install.ps1" -OutFile $installScript -UseBasicParsing |
58 | | - & $installScript -Version "$dotnetVersion" |
| 60 | + if (($null -ne $env:TF_BUILD)) { |
| 61 | + $env:DOTNET_INSTALL_DIR = Join-Path $env:ProgramFiles "dotnet" |
| 62 | + } else { |
| 63 | + $env:DOTNET_INSTALL_DIR = Join-Path "$(Convert-Path "$PSScriptRoot")" ".dotnetcli" |
| 64 | + } |
| 65 | + |
| 66 | + $sdkPath = Join-Path $env:DOTNET_INSTALL_DIR "sdk\$dotnetVersion" |
| 67 | + |
| 68 | + if (($null -ne $env:TF_BUILD) -or (!(Test-Path $sdkPath))) { |
| 69 | + if (!(Test-Path $env:DOTNET_INSTALL_DIR)) { |
| 70 | + mkdir $env:DOTNET_INSTALL_DIR | Out-Null |
| 71 | + } |
| 72 | + $installScript = Join-Path $env:DOTNET_INSTALL_DIR "install.ps1" |
| 73 | + [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor "Tls12" |
| 74 | + Invoke-WebRequest "https://dot.net/v1/dotnet-install.ps1" -OutFile $installScript -UseBasicParsing |
| 75 | + & $installScript -Version "$dotnetVersion" -InstallDir "$env:DOTNET_INSTALL_DIR" -NoPath |
| 76 | + } |
| 77 | +} |
| 78 | +else { |
| 79 | + $env:DOTNET_INSTALL_DIR = Split-Path -Path (Get-Command dotnet.exe).Path |
59 | 80 | } |
60 | 81 |
|
61 | | -$dotnet = "dotnet" |
| 82 | +$dotnet = Join-Path "$env:DOTNET_INSTALL_DIR" "dotnet.exe" |
| 83 | + |
| 84 | +if (($installDotNetSdk -eq $true) -And ($null -eq $env:TF_BUILD)) { |
| 85 | + $env:PATH = "$env:DOTNET_INSTALL_DIR;$env:PATH" |
| 86 | +} |
62 | 87 |
|
63 | 88 | function DotNetPack { |
64 | 89 | param([string]$Project) |
|
0 commit comments