3471b9cc36e7df6874ee2fda79e0fc5288780e15
[demo.git] / vnfs / DAaaS / collectd-operator / Makefile
1 # SPDX-license-identifier: Apache-2.0
2 ##############################################################################
3 # Copyright (c) 2019 Intel Corporation
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 GOPATH := $(shell realpath "$(PWD)/../../../../../")
11 COP = ${PWD}/build/_output/bin/collectd-operator
12 IMAGE_NAME = dcr.cluster.local:31976/collectd-operator:latest
13
14 export GOPATH ...
15 export GO111MODULE=on
16
17 .PHONY: clean plugins
18
19
20 all: clean
21         GOOS=linux GOARCH=amd64
22         #@go build -o ${COP} -gcflags all=-trimpath=${GOPATH} -asmflags all=-trimpath=${GOPATH} -mod=vendor demo/vnfs/DAaaS/collectd-operator/cmd/manager
23         @operator-sdk build ${IMAGE_NAME} --verbose
24
25 # 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
26 # no need to create a static binary with additional flags. However, for generating binary, additional build flags are necessary. This if used with
27 # mock plugin errors out for unit tests. So the seperation avoids the error.
28
29 build: clean test cover
30 deploy: build publish
31
32 publish:
33         @docker push ${IMAGE_NAME}
34 .PHONY: test
35 test: clean
36         @go test -v ./...
37
38 format:
39         @go fmt ./...
40
41 clean:
42         @echo "Deleting the collectd-operator binary"
43         @rm -rf ${PWD}/build/_output/bin/collectd-operator
44         if [ -x "${OUTDIR}" ]; then \
45         rm -r ${OUTDIR}; \
46     fi \
47         @echo "Deleting the collectd-operator docker image"
48         @docker rmi ${IMAGE_NAME}
49
50 .PHONY: cover
51 cover:
52         @go test ./... -coverprofile=coverage.out
53         @go tool cover -html=coverage.out -o coverage.html