Skip to content

Commit

Permalink
Optimize cli build, use submodules for deps
Browse files Browse the repository at this point in the history
Change-Id: I98805df2c26e6f4c6044faf9296af356f8848f55
Reviewed-on: http://bellevue-ci.eng.vmware.com:8080/9619
Compute-Verified: jenkins <[email protected]>
Upgrade-Verified: jenkins <[email protected]>
CS-Verified: jenkins <[email protected]>
Closures-Verified: jenkins <[email protected]>
Bellevue-Verified: jenkins <[email protected]>
Reviewed-by: Angel Ivanov <[email protected]>
  • Loading branch information
jvassev committed May 3, 2017
1 parent 4ed8b98 commit a82a435
Show file tree
Hide file tree
Showing 11 changed files with 57 additions and 157 deletions.
19 changes: 19 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[submodule "cli/src/github.com/inconshreveable/mousetrap"]
path = cli/src/github.com/inconshreveable/mousetrap
url = https://github.com/inconshreveable/mousetrap.git

[submodule "cli/src/github.com/mitchellh/go-homedir"]
path = cli/src/github.com/mitchellh/go-homedir
url = https://github.com/mitchellh/go-homedir.git

[submodule "cli/src/github.com/spf13/cobra"]
path = cli/src/github.com/spf13/cobra
url = https://github.com/spf13/cobra.git

[submodule "cli/src/github.com/spf13/pflag"]
path = cli/src/github.com/spf13/pflag
url = https://github.com/spf13/pflag.git

[submodule "cli/src/golang.org/x/crypto"]
path = cli/src/golang.org/x/crypto
url = https://github.com/golang/crypto.git
7 changes: 2 additions & 5 deletions cli/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
bin
src/bin
src/github.com
src/golang.org
pkg
bin/
pkg/
79 changes: 31 additions & 48 deletions cli/src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,52 +7,35 @@
# and license terms. Your use of these subcomponents is subject to the terms and
# conditions of the subcomponent's license, as noted in the LICENSE file.

BINARY=admiral
BINARY_WIN=admiral.exe
BUILD_PACKAGE=admiral
VERSION=$(shell perl -lne 'print "$$&" if /(?<=<version>).*?(?=<\/version>)/' ../../pom.xml | head -1)
LDFLAGS=-ldflags "-X admiral/cmd.version=${VERSION}"

LINUX_BUILD_AMD64=env GOPATH=$(CURDIR)/.. GOOS=linux GOARCH=amd64 go build ${LDFLAGS} -o ../bin/linux-amd64/${BINARY} ${BUILD_PACKAGE}
LINUX_BUILD_i386=env GOPATH=$(CURDIR)/.. GOOS=linux GOARCH=386 go build ${LDFLAGS} -o ../bin/linux-i386/${BINARY} ${BUILD_PACKAGE}
DARWIN_BUILD_AMD64=env GOPATH=$(CURDIR)/.. GOOS=darwin GOARCH=amd64 go build ${LDFLAGS} -o ../bin/darwin-amd64/${BINARY} ${BUILD_PACKAGE}
DARWIN_BUILD_i386=env GOPATH=$(CURDIR)/.. GOOS=darwin GOARCH=386 go build ${LDFLAGS} -o ../bin/darwin-i386/${BINARY} ${BUILD_PACKAGE}
WINDOWS_BUILD_AMD64=env GOPATH=$(CURDIR)/.. GOOS=windows GOARCH=amd64 go build ${LDFLAGS} -o ../bin/windows-amd64/${BINARY_WIN} ${BUILD_PACKAGE}
WINDOWS_BUILD_i386=env GOPATH=$(CURDIR)/.. GOOS=windows GOARCH=386 go build ${LDFLAGS} -o ../bin/windows-i386/${BINARY_WIN} ${BUILD_PACKAGE}

TEST_INTEGRATION=env GOPATH=$(CURDIR)/.. go test -v -p=1 -tags=integration admiral/...
TEST_E2E=env GOPATH=$(CURDIR)/.. go test -v -p=1 -tags=e2e admiral/...

all:
make clean
make linux
make darwin
make windows

linux:
./prepare.sh
#linux-amd64 build
${LINUX_BUILD_AMD64}
#linux-i386 build
${LINUX_BUILD_i386}

darwin:
./prepare.sh
#darwin-amd64 build
${DARWIN_BUILD_AMD64}
#darwin-i386 build
${DARWIN_BUILD_i386}

windows:
./prepare.sh
#windows-amd64 build
${WINDOWS_BUILD_AMD64}
#windows-i386 build
${WINDOWS_BUILD_i386}

test:
${TEST_INTEGRATION}
${TEST_E2E}

BUILD_PACKAGE :=admiral
VERSION :=$(shell perl -lne 'print "$$&" if /(?<=<version>).*?(?=<\/version>)/' ../../pom.xml | head -1)
LDFLAGS :=-ldflags "-X admiral/cmd.version=$(VERSION)"
GOPATH :=$(CURDIR)/..


all: linux darwin windows

prepare:
GOPATH=$(GOPATH) go env

deps: prepare
git submodule init && git submodule update

linux: deps
GOPATH=$(GOPATH) GOOS=linux GOARCH=amd64 go install $(LDFLAGS) $(BUILD_PACKAGE)
GOPATH=$(GOPATH) GOOS=linux GOARCH=386 go install $(LDFLAGS) $(BUILD_PACKAGE)

darwin: deps
GOPATH=$(GOPATH) GOOS=darwin GOARCH=amd64 go install $(LDFLAGS) $(BUILD_PACKAGE)
GOPATH=$(GOPATH) GOOS=darwin GOARCH=386 go install $(LDFLAGS) $(BUILD_PACKAGE)

windows: deps
GOPATH=$(GOPATH) GOOS=windows GOARCH=amd64 go install $(LDFLAGS) $(BUILD_PACKAGE)
GOPATH=$(GOPATH) GOOS=windows GOARCH=386 go install $(LDFLAGS) $(BUILD_PACKAGE)

test: deps
GOPATH=$(GOPATH) go test -v -p=1 -tags=integration admiral/...
GOPATH=$(GOPATH) go test -v -p=1 -tags=e2e admiral/...

clean:
$(shell rm -rf ../bin)
rm -rf ../bin ../pkg
22 changes: 0 additions & 22 deletions cli/src/github-checkout.sh

This file was deleted.

1 change: 1 addition & 0 deletions cli/src/github.com/inconshreveable/mousetrap
Submodule mousetrap added at 76626a
1 change: 1 addition & 0 deletions cli/src/github.com/mitchellh/go-homedir
Submodule go-homedir added at 756f7b
1 change: 1 addition & 0 deletions cli/src/github.com/spf13/cobra
Submodule cobra added at 9c28e4
1 change: 1 addition & 0 deletions cli/src/github.com/spf13/pflag
Submodule pflag added at 7b17cc
25 changes: 0 additions & 25 deletions cli/src/golang-checkout.sh

This file was deleted.

1 change: 1 addition & 0 deletions cli/src/golang.org/x/crypto
Submodule crypto added at e31123
57 changes: 0 additions & 57 deletions cli/src/prepare.sh

This file was deleted.

0 comments on commit a82a435

Please sign in to comment.