1*cc02d7e2SAndroid Build Coastguard Worker #!/usr/bin/env powershell 2*cc02d7e2SAndroid Build Coastguard Worker # Install dotnet SDK needed to build C# projects on Windows 3*cc02d7e2SAndroid Build Coastguard Worker 4*cc02d7e2SAndroid Build Coastguard Worker Set-StrictMode -Version 2 5*cc02d7e2SAndroid Build Coastguard Worker $ErrorActionPreference = 'Stop' 6*cc02d7e2SAndroid Build Coastguard Worker # Disable progress bar to avoid getting the 7*cc02d7e2SAndroid Build Coastguard Worker # '"Access is denied" 0x5 occurred while reading the console output buffer' 8*cc02d7e2SAndroid Build Coastguard Worker # error when running on kokoro (i.e. in non-interactive mode) 9*cc02d7e2SAndroid Build Coastguard Worker $global:ProgressPreference = 'SilentlyContinue' 10*cc02d7e2SAndroid Build Coastguard Worker 11*cc02d7e2SAndroid Build Coastguard Worker trap { 12*cc02d7e2SAndroid Build Coastguard Worker $ErrorActionPreference = "Continue" 13*cc02d7e2SAndroid Build Coastguard Worker Write-Error $_ 14*cc02d7e2SAndroid Build Coastguard Worker exit 1 15*cc02d7e2SAndroid Build Coastguard Worker } 16*cc02d7e2SAndroid Build Coastguard Worker 17*cc02d7e2SAndroid Build Coastguard Worker # avoid "Unknown error on a send" in Invoke-WebRequest 18*cc02d7e2SAndroid Build Coastguard Worker [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 19*cc02d7e2SAndroid Build Coastguard Worker 20*cc02d7e2SAndroid Build Coastguard Worker $InstallScriptUrl = 'https://dot.net/v1/dotnet-install.ps1' 21*cc02d7e2SAndroid Build Coastguard Worker $InstallScriptPath = Join-Path "$env:TEMP" 'dotnet-install.ps1' 22*cc02d7e2SAndroid Build Coastguard Worker 23*cc02d7e2SAndroid Build Coastguard Worker # Download install script 24*cc02d7e2SAndroid Build Coastguard Worker Write-Host "Downloading install script: $InstallScriptUrl => $InstallScriptPath" 25*cc02d7e2SAndroid Build Coastguard Worker Invoke-WebRequest -Uri $InstallScriptUrl -OutFile $InstallScriptPath 26*cc02d7e2SAndroid Build Coastguard Worker 27*cc02d7e2SAndroid Build Coastguard Worker # Installed versions should be kept in sync with 28*cc02d7e2SAndroid Build Coastguard Worker # templates/tools/dockerfile/csharp_dotnetcli_deps.include 29*cc02d7e2SAndroid Build Coastguard Worker &$InstallScriptPath -Version 3.1.415 30*cc02d7e2SAndroid Build Coastguard Worker &$InstallScriptPath -Version 6.0.100 31