|
1 | | -PROJECT_URL=github.com/gatewayd-io/gatewayd |
2 | | -CONFIG_PACKAGE=${PROJECT_URL}/config |
| 1 | +PLUGIN_NAME=gatewayd-plugin-js |
| 2 | +PROJECT_URL=github.com/gatewayd-io/$(PLUGIN_NAME) |
| 3 | +CONFIG_PACKAGE=${PROJECT_URL}/plugin |
3 | 4 | LAST_TAGGED_COMMIT=$(shell git rev-list --tags --max-count=1) |
4 | 5 | VERSION=$(shell git describe --tags ${LAST_TAGGED_COMMIT}) |
5 | | -TIMESTAMP=$(shell date -u +"%FT%T%z") |
6 | | -VERSION_DETAILS=${TIMESTAMP}/${LAST_TAGGED_COMMIT_SHORT} |
7 | | -EXTRA_LDFLAGS=-X ${CONFIG_PACKAGE}.Version=${VERSION} -X ${CONFIG_PACKAGE}.VersionDetails=${VERSION_DETAILS} |
8 | | -FILES=gatewayd-plugin-js checksum.txt gatewayd_plugin.yaml README.md LICENSE |
| 6 | +EXTRA_LDFLAGS=-X ${CONFIG_PACKAGE}.Version=$(shell echo ${VERSION} | sed 's/^v//') |
| 7 | +FILES=$(PLUGIN_NAME) checksum.txt gatewayd_plugin.yaml README.md LICENSE |
9 | 8 |
|
10 | 9 | tidy: |
11 | 10 | @go mod tidy |
12 | 11 |
|
13 | | -test: |
14 | | - @go test -v ./... |
| 12 | +build: tidy |
| 13 | + @go build -ldflags "-s -w" |
15 | 14 |
|
16 | 15 | checksum: |
17 | | - @sha256sum -b gatewayd-plugin-js |
| 16 | + @sha256sum -b $(PLUGIN_NAME) |
18 | 17 |
|
19 | 18 | update-all: |
20 | 19 | @go get -u ./... |
| 20 | + @go mod tidy |
21 | 21 |
|
22 | 22 | build-dev: tidy |
23 | | - @CGO_ENABLED=0 go build |
| 23 | + @go build |
| 24 | + |
| 25 | +test: |
| 26 | + @go test -v ./... |
24 | 27 |
|
25 | 28 | create-build-dir: |
26 | 29 | @mkdir -p dist |
27 | 30 |
|
28 | | -build-linux-amd64: tidy |
29 | | - @echo "Building gatewayd ${VERSION} for linux-amd64" |
30 | | - @mkdir -p dist/linux-amd64 |
31 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/linux-amd64/ |
32 | | - @GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/linux-amd64/gatewayd-plugin-js |
33 | | - @sha256sum dist/linux-amd64/gatewayd-plugin-js | sed 's/dist\/linux-amd64\///g' >> dist/linux-amd64/checksum.txt |
34 | | - @tar czf dist/gatewayd-plugin-js-linux-amd64-${VERSION}.tar.gz -C ./dist/linux-amd64/ ${FILES} |
35 | | - @sha256sum dist/gatewayd-plugin-js-linux-amd64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt |
36 | | - |
37 | | -build-linux-arm64: |
38 | | - @echo "Building gatewayd ${VERSION} for linux-arm64" |
39 | | - @mkdir -p dist/linux-arm64 |
40 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/linux-arm64/ |
41 | | - @GOOS=linux GOARCH=arm64 CGO_ENABLED=0 CC=aarch64-linux-gnu-gcc go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/linux-arm64/gatewayd-plugin-js |
42 | | - @sha256sum dist/linux-arm64/gatewayd-plugin-js | sed 's/dist\/linux-arm64\///g' >> dist/linux-arm64/checksum.txt |
43 | | - @tar czf dist/gatewayd-plugin-js-linux-arm64-${VERSION}.tar.gz -C ./dist/linux-arm64/ ${FILES} |
44 | | - @sha256sum dist/gatewayd-plugin-js-linux-arm64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt |
45 | | - |
46 | | -build-darwin-amd64: |
47 | | - @echo "Building gatewayd ${VERSION} for darwin-arm64" |
48 | | - @mkdir -p dist/darwin-amd64 |
49 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/darwin-amd64/ |
50 | | - @GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/darwin-amd64/gatewayd-plugin-js |
51 | | - @shasum -a 256 dist/darwin-amd64/gatewayd-plugin-js | sed 's/dist\/darwin-amd64\///g' >> dist/darwin-amd64/checksum.txt |
52 | | - @tar czf dist/gatewayd-plugin-js-darwin-amd64-${VERSION}.tar.gz -C ./dist/darwin-amd64/ ${FILES} |
53 | | - @shasum -a 256 dist/gatewayd-plugin-js-darwin-amd64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt |
54 | | - |
55 | | -build-darwin-arm64: |
56 | | - @echo "Building gatewayd ${VERSION} for darwin-arm64" |
57 | | - @mkdir -p dist/darwin-arm64 |
58 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/darwin-arm64/ |
59 | | - @GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/darwin-arm64/gatewayd-plugin-js |
60 | | - @shasum -a 256 dist/darwin-arm64/gatewayd-plugin-js | sed 's/dist\/darwin-arm64\///g' >> dist/darwin-arm64/checksum.txt |
61 | | - @tar czf dist/gatewayd-plugin-js-darwin-arm64-${VERSION}.tar.gz -C ./dist/darwin-arm64/ ${FILES} |
62 | | - @shasum -a 256 dist/gatewayd-plugin-js-darwin-arm64-${VERSION}.tar.gz | sed 's/dist\///g' >> dist/checksums.txt |
63 | | - |
64 | | -build-windows-amd64: |
65 | | - @echo "Building gatewayd ${VERSION} for windows-amd64" |
66 | | - @mkdir -p dist/windows-amd64 |
67 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/windows-amd64/ |
68 | | - @GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/windows-amd64/gatewayd-plugin-js.exe |
69 | | - @sha256sum dist/windows-amd64/gatewayd-plugin-js.exe | sed 's/dist\/windows-amd64\///g' >> dist/windows-amd64/checksum.txt |
70 | | - @zip -r dist/gatewayd-plugin-js-windows-amd64-${VERSION}.zip -j ./dist/windows-amd64/ |
71 | | - @sha256sum dist/gatewayd-plugin-js-windows-amd64-${VERSION}.zip | sed 's/dist\///g' >> dist/checksums.txt |
72 | | - |
73 | | -build-windows-arm64: |
74 | | - @echo "Building gatewayd ${VERSION} for windows-arm64" |
75 | | - @mkdir -p dist/windows-arm64 |
76 | | - @cp README.md LICENSE gatewayd_plugin.yaml ./dist/windows-arm64/ |
77 | | - @GOOS=windows GOARCH=arm64 CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o dist/windows-arm64/gatewayd-plugin-js.exe |
78 | | - @sha256sum dist/windows-arm64/gatewayd-plugin-js.exe | sed 's/dist\/windows-arm64\///g' >> dist/windows-arm64/checksum.txt |
79 | | - @zip -r dist/gatewayd-plugin-js-windows-arm64-${VERSION}.zip -j ./dist/windows-arm64/ |
80 | | - @sha256sum dist/gatewayd-plugin-js-windows-arm64-${VERSION}.zip | sed 's/dist\///g' >> dist/checksums.txt |
81 | | - |
82 | | -build-release: tidy create-build-dir build-linux-amd64 build-linux-arm64 build-darwin-amd64 build-darwin-arm64 build-windows-amd64 build-windows-arm64 |
| 31 | +build-release: tidy create-build-dir |
| 32 | + @echo "Building ${PLUGIN_NAME} ${VERSION} for release" |
| 33 | + @$(MAKE) build-platform GOOS=linux GOARCH=amd64 OUTPUT_DIR=dist/linux-amd64 |
| 34 | + @$(MAKE) build-platform GOOS=linux GOARCH=arm64 OUTPUT_DIR=dist/linux-arm64 |
| 35 | + @$(MAKE) build-platform GOOS=darwin GOARCH=amd64 OUTPUT_DIR=dist/darwin-amd64 |
| 36 | + @$(MAKE) build-platform GOOS=darwin GOARCH=arm64 OUTPUT_DIR=dist/darwin-arm64 |
| 37 | + @$(MAKE) build-platform GOOS=windows GOARCH=amd64 OUTPUT_DIR=dist/windows-amd64 |
| 38 | + @$(MAKE) build-platform GOOS=windows GOARCH=arm64 OUTPUT_DIR=dist/windows-arm64 |
| 39 | + |
| 40 | +build-platform: tidy |
| 41 | + @echo "Building ${PLUGIN_NAME} ${VERSION} for $(GOOS)-$(GOARCH)" |
| 42 | + @mkdir -p $(OUTPUT_DIR) |
| 43 | + @cp README.md LICENSE gatewayd_plugin.yaml $(OUTPUT_DIR)/ |
| 44 | + @GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go build -trimpath -ldflags "-s -w ${EXTRA_LDFLAGS}" -o $(OUTPUT_DIR)/$(PLUGIN_NAME) |
| 45 | + @sha256sum $(OUTPUT_DIR)/$(PLUGIN_NAME) | sed 's#$(OUTPUT_DIR)/##g' >> $(OUTPUT_DIR)/checksum.txt |
| 46 | + @if [ "$(GOOS)" = "windows" ]; then \ |
| 47 | + zip -q -r dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.zip -j $(OUTPUT_DIR)/; \ |
| 48 | + else \ |
| 49 | + tar czf dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.tar.gz -C $(OUTPUT_DIR)/ ${FILES}; \ |
| 50 | + fi |
| 51 | + @sha256sum dist/$(PLUGIN_NAME)-$(GOOS)-$(GOARCH)-${VERSION}.* | sed '#dist/##g' >> dist/checksums.txt |
0 commit comments