summaryrefslogtreecommitdiffstats
path: root/src/k8splugin/Makefile
diff options
context:
space:
mode:
authorShashank Kumar Shankar <shashank.kumar.shankar@intel.com>2018-08-31 15:06:02 -0700
committerVictor Morales <victor.morales@intel.com>2018-08-31 09:33:25 -0700
commitb3eb398fef49293156658e6f9e09a78eaca45c51 (patch)
treef99084cab892c5ba8251e759c5a61f4d4f17b44b /src/k8splugin/Makefile
parent2f0b896a56c6297ce3434c8d5279b3440e437f18 (diff)
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 <shashank.kumar.shankar@intel.com> Signed-off-by: Victor Morales <victor.morales@intel.com>
Diffstat (limited to 'src/k8splugin/Makefile')
-rw-r--r--src/k8splugin/Makefile17
1 files changed, 13 insertions, 4 deletions
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