X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vnfs%2FDAaaS%2Fmicroservices%2Fcollectd-operator%2FMakefile;h=9c023521c2c8c4847b0ae2d4fa3d7125f43eb5be;hb=d614d3d6cc1d40664215f79fc2c2f38af03a9996;hp=0b07b4b767a4fd782531b49e072ae33e68d1c756;hpb=b7be24e3abb6d85e7e1745486509fdf6be010f72;p=demo.git diff --git a/vnfs/DAaaS/microservices/collectd-operator/Makefile b/vnfs/DAaaS/microservices/collectd-operator/Makefile index 0b07b4b7..9c023521 100644 --- a/vnfs/DAaaS/microservices/collectd-operator/Makefile +++ b/vnfs/DAaaS/microservices/collectd-operator/Makefile @@ -12,48 +12,64 @@ VERSION := $(shell git describe --tags) BUILD := $(shell git rev-parse --short HEAD) PROJECTNAME := $(shell basename "$(PWD)") -GOPATH := $(shell realpath "$(PWD)/../../../../../../") -COP = ${PWD}/build/_output/bin/collectd-operator -IMAGE_NAME = dcr.cluster.local/collectd-operator:latest +ROOTPATH := $(shell realpath "$(PWD)/../") +COP := ${PWD}/build/_output/bin/collectd-operator +COP_LOCAL := ${COP}-local +ifndef IMAGE_NAME +override IMAGE_NAME := dcr.cluster.local:32644/collectd-operator:latest +endif -export GOPATH ... export GO111MODULE=on .PHONY: clean plugins -## all: Generate the k8s and openapi artifacts using operator-sdk -all: clean vendor +## build: Generate the k8s and openapi artifacts using operator-sdk +build: clean format GOOS=linux GOARCH=amd64 operator-sdk generate k8s --verbose operator-sdk generate openapi --verbose - #@go build -o ${COP} -gcflags all=-trimpath=${GOPATH} -asmflags all=-trimpath=${GOPATH} -mod=vendor demo/vnfs/DAaaS/microservices/collectd-operator/cmd/manager + @go build -o ${COP_LOCAL} collectd-operator/cmd/manager @operator-sdk build ${IMAGE_NAME} --verbose # The following is done this way as each patch on CI runs build and each merge runs deploy. So for build we don't need to build binary and hence # no need to create a static binary with additional flags. However, for generating binary, additional build flags are necessary. This if used with # mock plugin errors out for unit tests. So the seperation avoids the error. -## build: clean the -build: clean test cover -deploy: build publish -vendor: - @go mod vendor +## all: Delete the image, binary, complete build, test and run coverage +all: build test cover +## debug: Build local binary for debugging +debug: + @echo "Deleting ${COP_LOCAL} binary" + @rm -rf ${COP_LOCAL} + operator-sdk generate k8s --verbose + operator-sdk generate openapi --verbose + @echo "Building ${COP_LOCAL} binary" + @go build -o ${COP_LOCAL} collectd-operator/cmd/manager + +## deploy: Build Dockerfile and publish to repository +deploy: build test publish + +## publish: Push docker image to repository publish: @docker push ${IMAGE_NAME} .PHONY: test +## test: run tests test: clean @go test -v ./... - +## format: format source code format: @go fmt ./... +## clean: clean build artifacts, image, binary clean: @echo "Deleting the collectd-operator binary" - @rm -rf ${PWD}/build/_output/bin/collectd-operator + @rm -rf ${COP} + @rm -rf ${COP_LOCAL} @echo "Deleting the collectd-operator docker image" - @docker rmi ${IMAGE_NAME} + @docker 2>/dev/null rmi ${IMAGE_NAME} | true .PHONY: cover +## cover: run tests and generate coverage report cover: @go test ./... -coverprofile=coverage.out @go tool cover -html=coverage.out -o coverage.html @@ -62,7 +78,7 @@ cover: ## help: Print help message help: Makefile @echo - @echo " Requires -\\t Operator SDK v0.8.0+, go1.12.5+" + @echo " Requires Operator SDK v0.8.0+, go1.12.5+" @echo @echo " Choose a command run in "$(PROJECTNAME)":" @echo