github.com/goharbor/go-client@v0.210.0/Makefile (about) 1 SHELL := /usr/bin/env bash 2 3 .DEFAULT_GOAL := help 4 5 DOCKERCMD=$(shell which docker) 6 SWAGGER_VERSION=v0.30.3 7 SWAGGER := $(DOCKERCMD) run --rm -t -u "$(shell id -u):$(shell id -g)" -v $(shell pwd):/src -w /src quay.io/goswagger/swagger:$(SWAGGER_VERSION) 8 9 ifeq ($(VERSION),) 10 VERSION := v2.10.0 11 endif 12 13 HARBOR_2.0_SPEC=api/v2.0/swagger.yaml 14 HARBOR_CLIENT_2.0_DIR=pkg/sdk/v2.0 15 HARBOR_2.0_SPEC_URL=https://raw.githubusercontent.com/goharbor/harbor/$(VERSION)/api/v2.0/swagger.yaml 16 17 ## -------------------------------------- 18 ## Help 19 ## -------------------------------------- 20 21 help: ## Display this help 22 @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) 23 24 ## -------------------------------------- 25 ## Client 26 ## -------------------------------------- 27 28 .PHONY: update-spec 29 update-spec: ## update all swagger spec files 30 @echo "Downloading spec from Harbor with version: $(VERSION)" 31 @wget ${HARBOR_2.0_SPEC_URL} -O ${HARBOR_2.0_SPEC} 32 33 .PHONY: gen-harbor-api 34 gen-harbor-api: update-spec ## generate goswagger client for harbor 35 @$(SWAGGER) generate client -f ${HARBOR_2.0_SPEC} --target=$(HARBOR_CLIENT_2.0_DIR) --template=stratoscale --additional-initialism=CVE --additional-initialism=GC --additional-initialism=OIDC 36 37 .PHONY: cleanup 38 cleanup: 39 rm --recursive --force pkg/sdk/v2.0/models pkg/sdk/v2.0/client 40 41 .PHONY: test 42 test: ## run the test 43 go test ./... 44 45 get-go-version: 46 @echo "$(VERSION)" | sed -E "s/v([0-9]+)\.([0-9]+)\.([0-9]+)/v0.\1\2.\3/g" - 47 48 all: cleanup gen-harbor-api