mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.0 KiB
84 lines
2.0 KiB
ifndef GOPATH
|
|
$(error No GOPATH set)
|
|
endif
|
|
|
|
BIN_DIR := bin
|
|
DIST_DIR := _dist
|
|
GO_PACKAGES := cmd dm
|
|
MAIN_GO := cmd/helm.go
|
|
HELM_BIN := $(BIN_DIR)/helm
|
|
PATH_WITH_HELM = PATH="$(shell pwd)/$(BIN_DIR):$(PATH)"
|
|
|
|
VERSION := $(shell git describe --tags --abbrev=0 2>/dev/null)+$(shell git rev-parse --short HEAD)
|
|
|
|
export GO15VENDOREXPERIMENT=1
|
|
|
|
ifndef VERSION
|
|
VERSION := git-$(shell git rev-parse --short HEAD)
|
|
endif
|
|
|
|
build: $(MAIN_GO)
|
|
go build -o $(HELM_BIN) -ldflags "-X github.com/helm/helm/cmd.version=${VERSION}" $<
|
|
|
|
bootstrap:
|
|
go get -u github.com/golang/lint/golint github.com/mitchellh/gox
|
|
glide install
|
|
|
|
build-all:
|
|
gox -verbose \
|
|
-ldflags "-X main.version=${VERSION}" \
|
|
-os="linux darwin " \
|
|
-arch="amd64 386" \
|
|
-output="$(DIST_DIR)/{{.OS}}-{{.Arch}}/{{.Dir}}" .
|
|
|
|
clean:
|
|
rm -rf $(DIST_DIR) $(BIN_DIR)
|
|
|
|
dist: build-all
|
|
@cd $(DIST_DIR) && \
|
|
find * -type d -exec zip -jr helm-$(VERSION)-{}.zip {} \; && \
|
|
cd -
|
|
|
|
install: build
|
|
install -d ${DESTDIR}/usr/local/bin/
|
|
install -m 755 $(HELM_BIN) ${DESTDIR}/usr/local/bin/helm
|
|
|
|
prep-bintray-json:
|
|
# TRAVIS_TAG is set to the tag name if the build is a tag
|
|
ifdef TRAVIS_TAG
|
|
@jq '.version.name |= "$(VERSION)"' _scripts/ci/bintray-template.json | \
|
|
jq '.package.repo |= "helm"' > _scripts/ci/bintray-ci.json
|
|
else
|
|
@jq '.version.name |= "$(VERSION)"' _scripts/ci/bintray-template.json \
|
|
> _scripts/ci/bintray-ci.json
|
|
endif
|
|
|
|
quicktest:
|
|
$(PATH_WITH_HELM) go test -short $(addprefix ./,$(GO_PACKAGES))
|
|
|
|
test: test-style
|
|
$(PATH_WITH_HELM) go test -v ./ $(addprefix ./,$(GO_PACKAGES))
|
|
|
|
test-style:
|
|
@if [ $(shell gofmt -e -l -s *.go $(GO_PACKAGES)) ]; then \
|
|
echo "gofmt check failed:"; gofmt -e -l -s *.go $(GO_PACKAGES); exit 1; \
|
|
fi
|
|
@for i in . $(GO_PACKAGES); do \
|
|
golint $$i; \
|
|
done
|
|
@for i in . $(GO_PACKAGES); do \
|
|
go vet github.com/helm/helm/$$i; \
|
|
done
|
|
|
|
.PHONY: bootstrap \
|
|
build \
|
|
build-all \
|
|
clean \
|
|
dist \
|
|
install \
|
|
prep-bintray-json \
|
|
quicktest \
|
|
test \
|
|
test-charts \
|
|
test-style
|