.DEFAULT_GOAL := build # Keep the GoFrame framework and CLI versions managed explicitly. .PHONY: up up: cli.install @echo "GoFrame CLI is pinned by hack/hack-cli.mk; run 'go get github.com/gogf/gf/v2@' explicitly when upgrading the framework." # Build binary using configuration from hack/config.yaml. .PHONY: build build: cli.install @$(GF_CMD) build -ew # Parse api and generate controller/sdk. .PHONY: ctrl ctrl: cli.install @$(GF_CMD) gen ctrl -m # Generate Go files for DAO/DO/Entity. .PHONY: dao dao: cli.install @$(GF_CMD) gen dao # Parse current project go files and generate enums go file. .PHONY: enums enums: cli.install @$(GF_CMD) gen enums # Generate Go files for Service. .PHONY: service service: cli.install @$(GF_CMD) gen service # Build docker image. .PHONY: image image: cli.install $(eval _TAG = $(shell git rev-parse --short HEAD)) ifneq (, $(shell git status --porcelain 2>/dev/null)) $(eval _TAG = $(_TAG).dirty) endif $(eval _TAG = $(if ${TAG}, ${TAG}, $(_TAG))) $(eval _PUSH = $(if ${PUSH}, ${PUSH}, )) @$(GF_CMD) docker ${_PUSH} -tn $(DOCKER_NAME):${_TAG}; # Build docker image and automatically push to docker repo. .PHONY: image.push image.push: cli.install @make image PUSH=-p; # Deploy image and yaml to current kubectl environment. .PHONY: deploy deploy: cli.install $(eval _TAG = $(if ${TAG}, ${TAG}, develop)) @set -e; \ mkdir -p $(ROOT_DIR)/temp/kustomize;\ cd $(ROOT_DIR)/manifest/deploy/kustomize/overlays/${_ENV};\ kustomize build > $(ROOT_DIR)/temp/kustomize.yaml;\ kubectl apply -f $(ROOT_DIR)/temp/kustomize.yaml; \ if [ $(DEPLOY_NAME) != "" ]; then \ kubectl patch -n $(NAMESPACE) deployment/$(DEPLOY_NAME) -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"$(shell date +%s)\"}}}}}"; \ fi; # Parsing protobuf files and generating go files. .PHONY: pb pb: cli.install @$(GF_CMD) gen pb # Generate protobuf files for database tables. .PHONY: pbentity pbentity: cli.install @$(GF_CMD) gen pbentity