pulumi/Makefile
Luke Hoban 771a30c688 Save build artifacts aftifacts for Go builds
In the places we run `go build`, we should use
`go build -i` to save the `.a` files generated
during the build.  This ensures the artifacts
are availble for other Go tools (linters, IDEs), and
should also improve build speeds.
2017-06-07 17:03:07 -07:00

75 lines
1.8 KiB
Makefile

PROJECT=github.com/pulumi/lumi
PROJECT_PKGS=$(shell go list ./cmd/... ./pkg/... | grep -v /vendor/)
.PHONY: default
default: banner lint_quiet vet test install
.PHONY: all
all: banner_all lint_quiet vet test install lumijs lumipkg lumijspkg awspkg
.PHONY: banner
banner:
@echo "\033[1;37m============\033[0m"
@echo "\033[1;37mLumi (Quick)\033[0m"
@echo "\033[1;37m============\033[0m"
@echo "\033[0;33mRunning quick build; to run full tests, run 'make all'\033[0m"
@echo "\033[0;33mRemember to do this before checkin, otherwise your CI will fail\033[0m"
.PHONY: banner_all
banner_all:
@echo "\033[1;37m============\033[0m"
@echo "\033[1;37mLumi (Full)\033[0m"
@echo "\033[1;37m============\033[0m"
.PHONY: install
install:
@echo "\033[0;32mINSTALL:\033[0m"
@go install ${PROJECT}/cmd/lumi
@go install ${PROJECT}/cmd/lumidl
.PHONY: lint
lint:
@echo "\033[0;32mLINT:\033[0m"
@golint -set_exit_status cmd/...
@golint -set_exit_status pkg/...
.PHONY: lint_quiet
lint_quiet:
@echo "\033[0;32mLINT (quiet):\033[0m"
@echo "`golint cmd/... | grep -v "or be unexported"`"
@echo "`golint pkg/... | grep -v "or be unexported"`"
@test -z "$$(golint cmd/... | grep -v 'or be unexported')"
@test -z "$$(golint pkg/... | grep -v 'or be unexported')"
@echo "\033[0;33mgolint was run quietly; to run with noisy errors, run 'make lint'\033[0m"
.PHONY: vet
vet:
@echo "\033[0;32mVET:\033[0m"
@go tool vet -printf=false cmd/ pkg/
.PHONY: test
test:
@echo "\033[0;32mTEST:\033[0m"
@go test -cover ${PROJECT_PKGS}
.PHONY: lumijs
lumijs:
@cd ./cmd/lumijs && $(MAKE)
.PHONY: lumipkg
lumipkg:
@cd ./lib/lumi && $(MAKE)
.PHONY: lumijspkg
lumijspkg:
@cd ./lib/lumijs && $(MAKE)
.PHONY: awspkg
awspkg:
@cd ./lib/aws && $(MAKE)
.PHONY: verify
verify:
@cd ./lib/aws && $(MAKE) verify