|
1 | 1 | SHORT_NAME ?= fluentbit |
2 | 2 | BUILD_TAG ?= git-$(shell git rev-parse --short HEAD) |
3 | 3 | BUILD_DATE := $(shell date --rfc-3339=ns | tr " " T) |
| 4 | +SHELL_SCRIPTS = $(wildcard rootfs/usr/local/bin/*) |
4 | 5 | DRYCC_REGISTRY ?= ${DEV_REGISTRY} |
5 | 6 | IMAGE_PREFIX ?= drycc |
6 | 7 | PLATFORM ?= linux/amd64,linux/arm64 |
7 | 8 | REPO_PATH := github.com/drycc/${SHORT_NAME} |
8 | | -DEV_ENV_BUILD = go build -ldflags "-X 'main.Revision=$(BUILD_TAG)' -X 'main.BuildDate=$(BUILD_DATE)'" -buildmode=c-shared -o _dist/out_drycc.so . |
| 9 | +DEV_ENV_BUILD = go build -ldflags "-X 'main.Revision=$(BUILD_TAG)' -X 'main.BuildDate=$(BUILD_DATE)'" -buildmode=c-shared -o _dist/out_drycc.so plugin/out_drycc.go |
9 | 10 | DEV_ENV_IMAGE := ${DEV_REGISTRY}/drycc/go-dev |
10 | 11 | DEV_ENV_WORK_DIR := /opt/drycc/go/src/${REPO_PATH} |
11 | 12 | DEV_ENV_PREFIX := docker run --rm -v ${CURDIR}:${DEV_ENV_WORK_DIR} -w ${DEV_ENV_WORK_DIR} |
12 | 13 |
|
13 | 14 | include versioning.mk |
14 | 15 |
|
| 16 | + |
15 | 17 | build: docker-build |
16 | 18 | push: docker-push |
17 | 19 |
|
18 | | -bootstrap: |
| 20 | +check-docker: |
| 21 | + @if [ -z $$(which docker) ]; then \ |
| 22 | + echo "Missing docker client which is required for development"; \ |
| 23 | + exit 2; \ |
| 24 | + fi |
| 25 | + |
| 26 | +bootstrap: check-docker |
19 | 27 | $(DEV_ENV_PREFIX) $(DEV_ENV_IMAGE) go mod vendor |
20 | 28 |
|
21 | | -build-binary: |
| 29 | +build-binary: check-docker |
22 | 30 | $(DEV_ENV_PREFIX) $(DEV_ENV_IMAGE) $(DEV_ENV_BUILD) |
23 | 31 |
|
24 | | -docker-build: |
| 32 | +docker-build: check-docker |
25 | 33 | docker build --build-arg CODENAME=${CODENAME} --build-arg BUILD_TAG=${BUILD_TAG} --build-arg BUILD_DATE=${BUILD_DATE} -t ${IMAGE} . |
26 | 34 | docker tag ${IMAGE} ${MUTABLE_IMAGE} |
27 | 35 |
|
28 | | -docker-buildx: |
| 36 | +docker-buildx: check-docker |
29 | 37 | docker buildx build --platform ${PLATFORM} --build-arg CODENAME=${CODENAME} --build-arg BUILD_TAG=${BUILD_TAG} --build-arg BUILD_DATE=${BUILD_DATE} -t ${IMAGE} . --push |
30 | 38 |
|
31 | | -test: docker-build |
32 | | - _scripts/tests.sh test-unit ${IMAGE} |
| 39 | +test: test-style |
| 40 | + |
| 41 | +test-style: check-docker |
| 42 | + $(DEV_ENV_PREFIX) $(DEV_ENV_IMAGE) make style-check |
| 43 | + |
| 44 | +style-check: |
| 45 | + gofmt -l -w -s plugin |
| 46 | + go vet plugin |
| 47 | + lint |
| 48 | + shellcheck $(SHELL_SCRIPTS) |
33 | 49 |
|
34 | 50 | clean: |
35 | 51 | rm -rf _dist |
0 commit comments