github.com/teknogeek/dnscontrol/v2@v2.10.1-0.20200227202244-ae299b55ba42/build.ps1 (about) 1 param ( 2 [string]$SHA = "" 3 ) 4 5 if ($SHA -eq ""){ 6 $SHA = (git rev-parse HEAD) | Out-String 7 $SHA = $SHA.Replace([System.Environment]::NewLine,"") 8 } 9 10 11 $PKG = "github.com/StackExchange/dnscontrol" 12 $DATE = [int][double]::Parse((Get-Date -UFormat %s)) 13 $FLAGS="-mod=readonly -s -w -X main.SHA=$SHA -X main.BuildTime=$DATE" 14 Write-Host $FLAGS 15 16 $OrigGOOS = $env:GOOS 17 18 $env:GO111MODULE = "on" 19 20 Write-Host 'Building Linux' 21 $env:GOOS = "linux" 22 go build -o dnscontrol-Linux -ldflags "$FLAGS" $PKG 23 24 Write-Host 'Building Windows' 25 $env:GOOS = "windows" 26 go build -o dnscontrol.exe -ldflags "$FLAGS" $PKG 27 28 Write-Host 'Building Darwin' 29 $env:GOOS = "darwin" 30 go build -o dnscontrol-Darwin -ldflags "$FLAGS" $PKG 31 32 $env:GOOS = $OrigGOOS 33 34 #No compression if building on windows 35 <# 36 if [ "$COMPRESS" = "1" ] 37 then 38 echo 'Compressing executables' 39 upx dnscontrol.exe 40 upx dnscontrol-Linux 41 upx dnscontrol-Darwin 42 fi 43 #>