Skip to content

Commit 96508fa

Browse files
authored
Merge pull request #71 from IBM/makefile-upd-multibuilds
Make file updated with multi build support
2 parents 15e07df + 8c6c8b0 commit 96508fa

File tree

4 files changed

+136
-20
lines changed

4 files changed

+136
-20
lines changed

GNUmakefile

+3
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ testacc: dev
3232

3333
generate: install-packer-sdc
3434
@go generate ./...
35+
36+
bin:
37+
@PKR_RELEASE=1 sh -c "'$(CURDIR)/scripts/build.sh'"

go.mod

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/hashicorp/hcl/v2 v2.14.1
99
github.com/hashicorp/packer-plugin-sdk v0.2.9
1010
github.com/zclconf/go-cty v1.9.1
11-
golang.org/x/crypto v0.5.0
11+
golang.org/x/crypto v0.7.0
1212
)
1313

1414
require (
@@ -58,7 +58,7 @@ require (
5858
github.com/hashicorp/go-secure-stdlib/strutil v0.1.1 // indirect
5959
github.com/hashicorp/go-sockaddr v1.0.2 // indirect
6060
github.com/hashicorp/go-uuid v1.0.2 // indirect
61-
github.com/hashicorp/go-version v1.4.0 // indirect
61+
github.com/hashicorp/go-version v1.6.0 // indirect
6262
github.com/hashicorp/golang-lru v0.5.4 // indirect
6363
github.com/hashicorp/hcl v1.0.0 // indirect
6464
github.com/hashicorp/serf v0.9.7 // indirect
@@ -99,12 +99,12 @@ require (
9999
go.mongodb.org/mongo-driver v1.10.0 // indirect
100100
go.opencensus.io v0.23.0 // indirect
101101
go.uber.org/atomic v1.9.0 // indirect
102-
golang.org/x/net v0.5.0 // indirect
102+
golang.org/x/net v0.8.0 // indirect
103103
golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a // indirect
104-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
105-
golang.org/x/sys v0.4.0 // indirect
106-
golang.org/x/term v0.4.0 // indirect
107-
golang.org/x/text v0.6.0 // indirect
104+
golang.org/x/sync v0.1.0 // indirect
105+
golang.org/x/sys v0.6.0 // indirect
106+
golang.org/x/term v0.6.0 // indirect
107+
golang.org/x/text v0.8.0 // indirect
108108
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 // indirect
109109
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
110110
google.golang.org/api v0.74.0 // indirect

go.sum

+20-13
Original file line numberDiff line numberDiff line change
@@ -405,8 +405,8 @@ github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
405405
github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
406406
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
407407
github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
408-
github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4=
409-
github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
408+
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
409+
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
410410
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
411411
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
412412
github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
@@ -736,8 +736,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
736736
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
737737
golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
738738
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
739-
golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE=
740-
golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU=
739+
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
740+
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
741741
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
742742
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
743743
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -778,6 +778,7 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
778778
golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
779779
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
780780
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
781+
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
781782
golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
782783
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
783784
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -837,8 +838,9 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su
837838
golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
838839
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
839840
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
840-
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
841-
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
841+
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
842+
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
843+
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
842844
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
843845
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
844846
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -869,8 +871,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
869871
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
870872
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
871873
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
872-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
873874
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
875+
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
876+
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
874877
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
875878
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
876879
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -957,13 +960,15 @@ golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBc
957960
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
958961
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
959962
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
960-
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
961-
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
963+
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
964+
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
965+
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
962966
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
963967
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
964968
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
965-
golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg=
966-
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
969+
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
970+
golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
971+
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
967972
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
968973
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
969974
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -973,8 +978,9 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
973978
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
974979
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
975980
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
976-
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
977-
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
981+
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
982+
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
983+
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
978984
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
979985
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
980986
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1041,6 +1047,7 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
10411047
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
10421048
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
10431049
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
1050+
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
10441051
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
10451052
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
10461053
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

scripts/build.sh

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#!/usr/bin/env bash
2+
#
3+
# This script builds the application from source for multiple platforms.
4+
5+
# Get the parent directory of where this script is.
6+
SOURCE="${BASH_SOURCE[0]}"
7+
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
8+
DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
9+
10+
# Change into that directory
11+
cd "$DIR"
12+
13+
# Package which has the version information, required to set the Version, GitCommit info
14+
VERSION_PACKAGE="github.com/terraform-providers/packer-plugin-ibmcloud/version"
15+
16+
# Get the git commit
17+
GIT_COMMIT=$(git rev-parse HEAD)
18+
GIT_DIRTY=$(test -n "`git status --porcelain`" && echo "+CHANGES" || true)
19+
20+
# Determine the arch/os combos we're building for
21+
XC_ARCH=${XC_ARCH:-"amd64" "arm64" "arm"}
22+
XC_OS=${XC_OS:-linux darwin windows}
23+
XC_EXCLUDE_OSARCH="!darwin/386 !windows/arm64 !windows/arm !darwin/arm"
24+
25+
# Delete the old dir
26+
echo "==> Removing old directory..."
27+
rm -f bin/*
28+
rm -rf pkg/*
29+
mkdir -p bin/
30+
mkdir -p pkg/
31+
32+
# If its dev mode, only build for ourself
33+
if [ "${PKR_DEV}x" != "x" ]; then
34+
XC_OS=$(go env GOOS)
35+
XC_ARCH=$(go env GOARCH)
36+
fi
37+
38+
if ! which gox > /dev/null; then
39+
echo "==> Installing gox..."
40+
go get -u github.com/mitchellh/gox
41+
fi
42+
43+
# instruct gox to build statically linked binaries
44+
export CGO_ENABLED=0
45+
46+
# Allow LD_FLAGS to be appended during development compilations
47+
LD_FLAGS="-X ${VERSION_PACKAGE}.GitCommit=${GIT_COMMIT}${GIT_DIRTY} $LD_FLAGS"
48+
49+
# In release mode we don't want debug information in the binary
50+
if [[ -n "${PKR_RELEASE}" ]]; then
51+
LD_FLAGS="-X ${VERSION_PACKAGE}.GitCommit=${GIT_COMMIT}${GIT_DIRTY} -X ${VERSION_PACKAGE}.VersionPrerelease= -s -w"
52+
fi
53+
54+
# Build!
55+
echo "==> Building..."
56+
gox \
57+
-os="${XC_OS}" \
58+
-arch="${XC_ARCH}" \
59+
-osarch="${XC_EXCLUDE_OSARCH}" \
60+
-ldflags "${LD_FLAGS}" \
61+
-output "pkg/{{.OS}}_{{.Arch}}/packer-plugin-ibmcloud" \
62+
.
63+
64+
# Move all the compiled things to the $GOPATH/bin
65+
GOPATH=${GOPATH:-$(go env GOPATH)}
66+
case $(uname) in
67+
CYGWIN*)
68+
GOPATH="$(cygpath $GOPATH)"
69+
;;
70+
esac
71+
OLDIFS=$IFS
72+
IFS=: MAIN_GOPATH=($GOPATH)
73+
IFS=$OLDIFS
74+
75+
# Create GOPATH/bin if it's doesn't exists
76+
if [ ! -d $MAIN_GOPATH/bin ]; then
77+
echo "==> Creating GOPATH/bin directory..."
78+
mkdir -p $MAIN_GOPATH/bin
79+
fi
80+
81+
# Copy our OS/Arch to the bin/ directory
82+
DEV_PLATFORM="./pkg/$(go env GOOS)_$(go env GOARCH)"
83+
if [[ -d "${DEV_PLATFORM}" ]]; then
84+
for F in $(find ${DEV_PLATFORM} -mindepth 1 -maxdepth 1 -type f); do
85+
cp ${F} bin/
86+
cp ${F} ${MAIN_GOPATH}/bin/
87+
done
88+
fi
89+
90+
if [ "${PKR_DEV}x" = "x" ]; then
91+
# Zip and copy to the dist dir
92+
echo "==> Packaging..."
93+
for PLATFORM in $(find ./pkg -mindepth 1 -maxdepth 1 -type d); do
94+
OSARCH=$(basename ${PLATFORM})
95+
echo "--> ${OSARCH}"
96+
97+
pushd $PLATFORM >/dev/null 2>&1
98+
zip ../${OSARCH}.zip ./*
99+
popd >/dev/null 2>&1
100+
done
101+
fi
102+
103+
# Done!
104+
echo
105+
echo "==> Results:"
106+
ls -hl bin/

0 commit comments

Comments
 (0)