github.com/pmoroney/dnscontrol@v0.2.4-0.20171024134423-fad98f73f44a/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="-s -w -X main.SHA=$SHA -X main.BuildTime=$DATE"
    14  Write-Host $FLAGS
    15  
    16  $OrigGOOS = $env:GOOS
    17  
    18  Write-Host 'Building Linux'
    19  $env:GOOS = "linux"
    20  go build -o dnscontrol-Linux -ldflags "$FLAGS" $PKG
    21  
    22  Write-Host 'Building Windows'
    23  $env:GOOS = "windows"
    24  go build -o dnscontrol.exe -ldflags "$FLAGS" $PKG
    25  
    26  Write-Host 'Building Darwin'
    27  $env:GOOS = "darwin"
    28  go build -o dnscontrol-Darwin -ldflags "$FLAGS" $PKG
    29  
    30  $env:GOOS = $OrigGOOS
    31  
    32  #No compression if building on windows
    33  <#
    34  if [ "$COMPRESS" = "1" ]
    35  then
    36      echo 'Compressing executables'
    37      upx dnscontrol.exe
    38      upx dnscontrol-Linux
    39      upx dnscontrol-Darwin
    40  fi
    41  #>