From b3eb398fef49293156658e6f9e09a78eaca45c51 Mon Sep 17 00:00:00 2001 From: Shashank Kumar Shankar Date: Fri, 31 Aug 2018 15:06:02 -0700 Subject: Update building process The building process differed from the build.sh script and Makefile. In other words, the docker images were created with different instructions than development process. This patch centralizes these instructions in a single source for building binaries. Change-Id: Ib214d335b0e696be6a1a09d3cb8126a75bdf2da4 Issue-ID: MULTICLOUD-301 Signed-off-by: Shashank Kumar Shankar Signed-off-by: Victor Morales --- src/k8splugin/Makefile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/k8splugin') diff --git a/src/k8splugin/Makefile b/src/k8splugin/Makefile index 586eca9c..3aa8223f 100644 --- a/src/k8splugin/Makefile +++ b/src/k8splugin/Makefile @@ -16,11 +16,20 @@ export GOPATH ... .PHONY: plugins -build: clean dep plugins tests -deploy: clean dep plugins build_binary tests -build_binary: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -tags netgo -ldflags '-w' -o ./k8plugin ./cmd/main.go +all: clean dep + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildmode=plugin -a -tags netgo -o ./deployment.so ./plugins/deployment/plugin.go + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildmode=plugin -a -tags netgo -o ./namespace.so ./plugins/namespace/plugin.go + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildmode=plugin -a -tags netgo -o ./service.so ./plugins/service/plugin.go + + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -tags netgo -o ./k8plugin ./cmd/main.go + +# 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 dep plugins tests +deploy: build tests: go test -v ./... -cover -- cgit 1.2.3-korg