mirror of
				https://github.com/go-delve/delve.git
				synced 2025-11-01 03:42:59 +08:00 
			
		
		
		
	 1962c3a627
			
		
	
	1962c3a627
	
	
	
		
			
			Bintray is shutting down and the URL we used to install mingw is no longer available. Use chocolatey instead.
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
| param (
 | |
|     [Parameter(Mandatory = $true)][string]$version,
 | |
|     [Parameter(Mandatory = $true)][string]$arch
 | |
| )
 | |
| 
 | |
| # Install Chocolatey
 | |
| #Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
 | |
| 
 | |
| # Install MinGW.
 | |
| choco install -y mingw
 | |
| 
 | |
| # Install Procdump
 | |
| if (-Not(Test-Path "C:\procdump"))
 | |
| {
 | |
|     mkdir C:\procdump
 | |
|     Invoke-WebRequest -UserAgent wget -Uri https://download.sysinternals.com/files/Procdump.zip -OutFile C:\procdump\procdump.zip
 | |
|     &7z x -oC:\procdump\ C:\procdump\procdump.zip > $null
 | |
| }
 | |
| 
 | |
| $env:PATH += ";C:\procdump;C:\mingw64\bin"
 | |
| 
 | |
| function GetGo($version) {
 | |
|     $env:GOROOT = "C:\go\$version"
 | |
|     if (-Not(Test-Path $env:GOROOT))
 | |
|     {
 | |
|         $file = "$version.windows-$arch.zip"
 | |
|         $url = "https://dl.google.com/go/$file"
 | |
|         Invoke-WebRequest -UserAgent wget -Uri $url -OutFile $file
 | |
|         &7z x -oC:\go $file > $null
 | |
|         Move-Item -Path C:\go\go -Destination $env:GOROOT -force
 | |
|     }
 | |
| }
 | |
| 
 | |
| if ($version -eq "gotip") {
 | |
|     Exit 0
 | |
|     $latest = Invoke-WebRequest -Uri https://golang.org/VERSION?m=text -UseBasicParsing | Select-Object -ExpandProperty Content
 | |
|     GetGo $latest
 | |
|     $env:GOROOT_BOOTSTRAP = $env:GOROOT
 | |
|     $env:GOROOT = "C:\go\go-tip"
 | |
|     Write-Host "Building Go with GOROOT_BOOTSTRAP $env:GOROOT_BOOTSTRAP"
 | |
|     if (-Not(Test-Path $env:GOROOT)) {
 | |
|         git clone https://go.googlesource.com/go C:\go\go-tip
 | |
|         Push-Location -Path C:\go\go-tip\src
 | |
|     } else {
 | |
|         Push-Location -Path C:\go\go-tip\src
 | |
|         git pull
 | |
|     }
 | |
|     .\make.bat
 | |
|     Pop-Location
 | |
| } else {
 | |
|     # Install Go
 | |
|     Write-Host "Finding latest patch version for $version"
 | |
|     $version = Invoke-WebRequest -Uri 'https://golang.org/dl/?mode=json&include=all' -UseBasicParsing | foreach {$_.Content} | ConvertFrom-Json | foreach {$_.version} | Select-String -Pattern "^$version($|\.|beta|rc)" | Select-Object -First 1 | foreach {$_.Line}
 | |
|     Write-Host "Go $version on $arch"
 | |
|     GetGo $version
 | |
| }
 | |
| 
 | |
| $env:GOPATH = "C:\gopath"
 | |
| $env:PATH += ";$env:GOROOT\bin;$env:GOPATH\bin"
 | |
| Write-Host $env:PATH
 | |
| Write-Host $env:GOROOT
 | |
| Write-Host $env:GOPATH
 | |
| 
 | |
| go version
 | |
| go env
 | |
| go run _scripts/make.go test
 |