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  #>