xref: /aosp_15_r20/external/grpc-grpc/src/csharp/install_dotnet_sdk.ps1 (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
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