From 6ed2a1bb9ba878059eaf23e499e73f1b9e7a7bfe Mon Sep 17 00:00:00 2001 From: Dileep Ranganathan Date: Wed, 22 May 2019 16:47:14 -0700 Subject: [PATCH] Makefile for Collectd-Operator Create Makefile for collectd-operator Updated .gitignore with coverage and other common ignorable files. Issue-ID: ONAPARC-461 Signed-off-by: Dileep Ranganathan Change-Id: I6cbcaa5da1fe8ced58519e123ff548f5cf8da2b4 --- vnfs/DAaaS/collectd-operator/.gitignore | 2 -- vnfs/DAaaS/collectd-operator/Makefile | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 vnfs/DAaaS/collectd-operator/Makefile diff --git a/vnfs/DAaaS/collectd-operator/.gitignore b/vnfs/DAaaS/collectd-operator/.gitignore index a7976e1e..4ff0bf71 100644 --- a/vnfs/DAaaS/collectd-operator/.gitignore +++ b/vnfs/DAaaS/collectd-operator/.gitignore @@ -20,8 +20,6 @@ vendor src/github.com src/golang.org - - # Temporary Build Files build/_output build/_test diff --git a/vnfs/DAaaS/collectd-operator/Makefile b/vnfs/DAaaS/collectd-operator/Makefile new file mode 100644 index 00000000..3471b9cc --- /dev/null +++ b/vnfs/DAaaS/collectd-operator/Makefile @@ -0,0 +1,53 @@ +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2019 Intel Corporation +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +GOPATH := $(shell realpath "$(PWD)/../../../../../") +COP = ${PWD}/build/_output/bin/collectd-operator +IMAGE_NAME = dcr.cluster.local:31976/collectd-operator:latest + +export GOPATH ... +export GO111MODULE=on + +.PHONY: clean plugins + + +all: clean + GOOS=linux GOARCH=amd64 + #@go build -o ${COP} -gcflags all=-trimpath=${GOPATH} -asmflags all=-trimpath=${GOPATH} -mod=vendor demo/vnfs/DAaaS/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 test cover +deploy: build publish + +publish: + @docker push ${IMAGE_NAME} +.PHONY: test +test: clean + @go test -v ./... + +format: + @go fmt ./... + +clean: + @echo "Deleting the collectd-operator binary" + @rm -rf ${PWD}/build/_output/bin/collectd-operator + if [ -x "${OUTDIR}" ]; then \ + rm -r ${OUTDIR}; \ + fi \ + @echo "Deleting the collectd-operator docker image" + @docker rmi ${IMAGE_NAME} + +.PHONY: cover +cover: + @go test ./... -coverprofile=coverage.out + @go tool cover -html=coverage.out -o coverage.html -- 2.16.6