forked from newrelic/infrastructure-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
win_build.ps1
59 lines (49 loc) · 1.01 KB
/
win_build.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<#
.SYNOPSIS
This script tests builds the New Relic Infrastructure Agent
#>
param (
# Target architecture: amd64 (default) or 386
[ValidateSet("amd64", "386")]
[string]$arch="amd64",
# Skip tests
[switch]$skipTests=$false
)
echo "--- Checking dependencies"
echo "Checking Go..."
go version
if (-not $?)
{
echo "Can't find Go"
exit -1
}
if (-Not $skipTests) {
echo "--- Running tests"
go test .\pkg\... .\cmd\... .\internal\...
if (-not $?)
{
echo "Failed running tests"
exit -1
}
}
echo "--- Running Build"
$goFiles = go list .\cmd\...
go build -v $goFiles
if (-not $?)
{
echo "Failed building files"
exit -1
}
$goMains = @(
".\cmd\newrelic-infra"
".\cmd\newrelic-infra-ctl"
".\cmd\newrelic-infra-service"
)
echo "--- Running Full Build"
Foreach ($pkg in $goMains)
{
$fileName = ([io.fileinfo]$pkg).BaseName
echo "creating $fileName"
$exe = ".\target\bin\windows_$arch\$fileName.exe"
go build -o $exe $pkg
}