@@ -28,6 +28,20 @@ GIT_DESCRIBE?=$(shell git describe --tags --always)
28
28
GIT_IMPORT =github.com/hashicorp/consul/version
29
29
GOLDFLAGS =-X $(GIT_IMPORT ) .GitCommit=$(GIT_COMMIT )$(GIT_DIRTY ) -X $(GIT_IMPORT ) .GitDescribe=$(GIT_DESCRIBE )
30
30
31
+ ifeq ($(FORCE_REBUILD ) ,1)
32
+ NOCACHE =--no-cache
33
+ else
34
+ NOCACHE =
35
+ endif
36
+
37
+ DOCKER_BUILD_QUIET? =1
38
+ ifeq (${DOCKER_BUILD_QUIET},1)
39
+ QUIET =-q
40
+ else
41
+ QUIET =
42
+ endif
43
+
44
+ CONSUL_DEV_IMAGE? =consul-dev
31
45
GO_BUILD_TAG? =consul-build-go
32
46
UI_BUILD_TAG? =consul-build-ui
33
47
UI_LEGACY_BUILD_TAG? =consul-build-ui-legacy
@@ -37,6 +51,18 @@ DIST_TAG?=1
37
51
DIST_BUILD? =1
38
52
DIST_SIGN? =1
39
53
54
+ ifdef DIST_VERSION
55
+ DIST_VERSION_ARG =-v $(DIST_VERSION )
56
+ else
57
+ DIST_VERSION_ARG =
58
+ endif
59
+
60
+ ifdef DIST_RELEASE_DATE
61
+ DIST_DATE_ARG =-d $(DIST_RELEASE_DATE )
62
+ else
63
+ DIST_DATE_ARG =
64
+ endif
65
+
40
66
export GO_BUILD_TAG
41
67
export UI_BUILD_TAG
42
68
export UI_LEGACY_BUILD_TAG
@@ -57,7 +83,11 @@ bin: tools
57
83
dev : changelogfmt vendorfmt dev-build
58
84
59
85
dev-build :
60
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh consul-local -o ' $(GOOS)' -a ' $(GOARCH)'
86
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-local.sh
87
+
88
+ dev-docker :
89
+ @$(SHELL )
90
+ @docker build -t ' $(CONSUL_DEV_IMAGE)' --build-arg ' GIT_COMMIT=$(GIT_COMMIT)' --build-arg ' GIT_DIRTY=$(GIT_DIRTY)' --build-arg ' GIT_DESCRIBE=$(GIT_DESCRIBE)' -f $(CURDIR ) /build-support/docker/Consul-Dev.dockerfile $(CURDIR )
61
91
62
92
vendorfmt :
63
93
@echo " --> Formatting vendor/vendor.json"
@@ -70,14 +100,14 @@ changelogfmt:
70
100
71
101
# linux builds a linux package independent of the source platform
72
102
linux :
73
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh consul -local -o linux -a amd64
103
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-local.sh -o linux -a amd64
74
104
75
105
# dist builds binaries for all platforms and packages them for distribution
76
106
dist :
77
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh release -t ' $(DIST_TAG)' -b ' $(DIST_BUILD)' -S ' $(DIST_SIGN)'
107
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/release .sh -t ' $(DIST_TAG)' -b ' $(DIST_BUILD)' -S ' $(DIST_SIGN) ' ' $(DIST_VERSION_ARG) ' ' $(DIST_DATE_ARG )'
78
108
79
109
publish :
80
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh publish
110
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/publish .sh -g -w
81
111
82
112
cov :
83
113
gocov test $(GOFILES ) | gocov-html > /tmp/coverage.html
@@ -143,37 +173,40 @@ tools:
143
173
144
174
version :
145
175
@echo -n " Version: "
146
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh version
176
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/version .sh
147
177
@echo -n " Version + release: "
148
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh version -R
178
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/version .sh -r
149
179
@echo -n " Version + git: "
150
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh version -G
180
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/version .sh -g
151
181
@echo -n " Version + release + git: "
152
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build .sh version -R -G
182
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/version .sh -r -g
153
183
154
- docker-images :
155
- @ $( MAKE ) -C build-support/docker images
184
+
185
+ docker-images : go-build-image ui- build-image ui-legacy-build-image
156
186
157
187
go-build-image :
158
- @$(MAKE ) -C build-support/docker go-build-image
188
+ @echo " Building Golang build container"
189
+ @docker build $(NOCACHE ) $(QUIET ) --build-arg ' GOTOOLS=$(GOTOOLS)' -t $(GO_BUILD_TAG ) - < build-support/docker/Build-Go.dockerfile
159
190
160
191
ui-build-image :
161
- @$(MAKE ) -C build-support/docker ui-build-image
192
+ @echo " Building UI build container"
193
+ @docker build $(NOCACHE ) $(QUIET ) -t $(UI_BUILD_TAG ) - < build-support/docker/Build-UI.dockerfile
162
194
163
195
ui-legacy-build-image :
164
- @$(MAKE ) -C build-support/docker ui-legacy-build-image
196
+ @echo " Building Legacy UI build container"
197
+ @docker build $(NOCACHE ) $(QUIET ) -t $(UI_LEGACY_BUILD_TAG ) - < build-support/docker/Build-UI-Legacy.dockerfile
165
198
166
199
static-assets-docker : go-build-image
167
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh assetfs
200
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-docker .sh static-assets
168
201
169
202
consul-docker : go-build-image
170
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh consul
203
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-docker .sh consul
171
204
172
205
ui-docker : ui-build-image
173
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh ui
206
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-docker .sh ui
174
207
175
208
ui-legacy-docker : ui-legacy-build-image
176
- @$(SHELL ) $(CURDIR ) /build-support/scripts/build.sh ui-legacy
209
+ @$(SHELL ) $(CURDIR ) /build-support/scripts/build-docker .sh ui-legacy
177
210
178
211
179
212
.PHONY : all ci bin dev dist cov test cover format vet ui static-assets tools vendorfmt
0 commit comments