github.com/rothwerx/packer@v0.9.0/Makefile (about) 1 TEST?=$(shell go list ./... | grep -v vendor) 2 # Get the current full sha from git 3 GITSHA:=$(shell git rev-parse HEAD) 4 # Get the current local branch name from git (if we can, this may be blank) 5 GITBRANCH:=$(shell git symbolic-ref --short HEAD 2>/dev/null) 6 7 default: deps generate test dev 8 9 ci: deps test 10 11 release: deps test releasebin package 12 13 bin: deps 14 @echo "WARN: 'make bin' is for debug / test builds only. Use 'make release' for release builds." 15 @sh -c "$(CURDIR)/scripts/build.sh" 16 17 releasebin: deps 18 @grep 'const VersionPrerelease = "dev"' version.go > /dev/null ; if [ $$? -eq 0 ]; then \ 19 echo "ERROR: You must remove prerelease tags from version.go prior to release."; \ 20 exit 1; \ 21 fi 22 @sh -c "$(CURDIR)/scripts/build.sh" 23 24 package: 25 $(if $(VERSION),,@echo 'VERSION= needed to release; Use make package skip compilation'; exit 1) 26 @sh -c "$(CURDIR)/scripts/dist.sh $(VERSION)" 27 28 deps: 29 go get github.com/mitchellh/gox 30 go get golang.org/x/tools/cmd/stringer 31 go get golang.org/x/tools/cmd/vet 32 33 dev: deps 34 @grep 'const VersionPrerelease = ""' version.go > /dev/null ; if [ $$? -eq 0 ]; then \ 35 echo "ERROR: You must add prerelease tags to version.go prior to making a dev build."; \ 36 exit 1; \ 37 fi 38 @PACKER_DEV=1 sh -c "$(CURDIR)/scripts/build.sh" 39 40 fmt: 41 go fmt `go list ./... | grep -v vendor` 42 43 # generate runs `go generate` to build the dynamically generated 44 # source files. 45 generate: deps 46 go generate . 47 go fmt command/plugin.go 48 49 test: deps 50 @go test $(TEST) $(TESTARGS) -timeout=15s 51 @go vet $(TEST) ; if [ $$? -eq 1 ]; then \ 52 echo "ERROR: Vet found problems in the code."; \ 53 exit 1; \ 54 fi 55 56 # testacc runs acceptance tests 57 testacc: deps generate 58 @echo "WARN: Acceptance tests will take a long time to run and may cost money. Ctrl-C if you want to cancel." 59 PACKER_ACC=1 go test -v $(TEST) $(TESTARGS) -timeout=45m 60 61 testrace: deps 62 @go test -race $(TEST) $(TESTARGS) -timeout=15s 63 64 updatedeps: 65 go get -u github.com/mitchellh/gox 66 go get -u golang.org/x/tools/cmd/stringer 67 go get -u golang.org/x/tools/cmd/vet 68 @echo "INFO: Packer deps are managed by godep. See CONTRIBUTING.md" 69 70 # This is used to add new dependencies to packer. If you are submitting a PR 71 # that includes new dependencies you will need to run this. 72 vendor: 73 godep restore 74 godep save 75 76 .PHONY: bin checkversion ci default deps generate releasebin test testacc testrace updatedeps