github.com/spg/deis@v1.7.3/builder/Makefile (about) 1 include ../includes.mk 2 3 # the filepath to this repository, relative to $GOPATH/src 4 repo_path = github.com/deis/deis/builder 5 6 GO_FILES = types.go utils.go utils_test.go 7 GO_PACKAGES = src tests 8 GO_PACKAGES_REPO_PATH = $(addprefix $(repo_path)/,$(GO_PACKAGES)) 9 10 COMPONENT = $(notdir $(repo_path)) 11 IMAGE = $(IMAGE_PREFIX)$(COMPONENT):$(BUILD_TAG) 12 DEV_IMAGE = $(DEV_REGISTRY)/$(IMAGE) 13 BINARIES := extract-domain extract-types extract-version generate-buildhook get-app-config get-app-values publish-release-controller yaml2json-procfile 14 BINARY_DEST_DIR := rootfs/usr/bin 15 16 build: check-docker 17 for i in $(BINARIES); do \ 18 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 godep go build -a -installsuffix cgo -ldflags '-s' -o $(BINARY_DEST_DIR)/$$i src/$$i.go || exit 1; \ 19 $(call check-static-binary,$(BINARY_DEST_DIR)/$$i) \ 20 done 21 docker build -t $(IMAGE) rootfs 22 23 clean: check-docker check-registry 24 for i in $(BINARIES); do \ 25 rm -rf $(BINARY_DEST_DIR)/$$i ; \ 26 done 27 docker rmi $(IMAGE) 28 29 full-clean: check-docker check-registry clean 30 docker images -q $(IMAGE_PREFIX)$(COMPONENT) | xargs docker rmi -f 31 32 install: check-deisctl 33 deisctl install $(COMPONENT) 34 35 uninstall: check-deisctl 36 deisctl uninstall $(COMPONENT) 37 38 start: check-deisctl 39 deisctl start $(COMPONENT) 40 41 stop: check-deisctl 42 deisctl stop $(COMPONENT) 43 44 restart: stop start 45 46 run: install start 47 48 dev-release: push set-image 49 50 push: check-registry 51 docker tag -f $(IMAGE) $(DEV_IMAGE) 52 docker push $(DEV_IMAGE) 53 54 set-image: check-deisctl 55 deisctl config $(COMPONENT) set image=$(DEV_IMAGE) 56 57 release: 58 docker push $(IMAGE) 59 60 deploy: build dev-release restart 61 62 test: test-style test-unit test-functional 63 64 test-unit: 65 godep go test -v . 66 67 test-functional: 68 @docker history deis/test-etcd >/dev/null 2>&1 || docker pull deis/test-etcd:latest 69 godep go test -v ./tests/... 70 71 test-style: 72 # display output, then check 73 $(GOFMT) $(GO_PACKAGES) $(GO_FILES) 74 @$(GOFMT) $(GO_PACKAGES) $(GO_FILES) | read; if [ $$? == 0 ]; then echo "gofmt check failed."; exit 1; fi 75 $(GOVET) $(repo_path) $(GO_PACKAGES_REPO_PATH) 76 $(GOLINT) ./...