Go 1.9 removed "./..." matching the vendor directory while Go 1.10 added build and test caching. This means we no longer need to grep out vendored matches (except for golint which doesn't implement the same behavior), and we no longer need to pre-build packages with "go build -i". https://golang.org/doc/go1.9#vendor-dotdotdot https://golang.org/doc/go1.10#build
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| PROJ=dex
 | |
| ORG_PATH=github.com/dexidp
 | |
| REPO_PATH=$(ORG_PATH)/$(PROJ)
 | |
| export PATH := $(PWD)/bin:$(PATH)
 | |
| 
 | |
| VERSION ?= $(shell ./scripts/git-version)
 | |
| 
 | |
| DOCKER_REPO=quay.io/dexidp/dex
 | |
| DOCKER_IMAGE=$(DOCKER_REPO):$(VERSION)
 | |
| 
 | |
| $( shell mkdir -p bin )
 | |
| 
 | |
| user=$(shell id -u -n)
 | |
| group=$(shell id -g -n)
 | |
| 
 | |
| export GOBIN=$(PWD)/bin
 | |
| 
 | |
| LD_FLAGS="-w -X $(REPO_PATH)/version.Version=$(VERSION)"
 | |
| 
 | |
| build: bin/dex bin/example-app bin/grpc-client
 | |
| 
 | |
| bin/dex:
 | |
| 	@go install -v -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/dex
 | |
| 
 | |
| bin/example-app:
 | |
| 	@go install -v -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/example-app
 | |
| 
 | |
| bin/grpc-client:
 | |
| 	@go install -v -ldflags $(LD_FLAGS) $(REPO_PATH)/examples/grpc-client
 | |
| 
 | |
| .PHONY: release-binary
 | |
| release-binary:
 | |
| 	@go build -o /go/bin/dex -v -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/dex
 | |
| 
 | |
| .PHONY: revendor
 | |
| revendor:
 | |
| 	@go mod tidy -v
 | |
| 	@go mod vendor -v
 | |
| 	@go mod verify
 | |
| 
 | |
| test:
 | |
| 	@go test -v ./...
 | |
| 
 | |
| testrace:
 | |
| 	@go test -v --race ./...
 | |
| 
 | |
| vet:
 | |
| 	@go vet ./...
 | |
| 
 | |
| fmt:
 | |
| 	@./scripts/gofmt ./...
 | |
| 
 | |
| lint: bin/golint
 | |
| 	@./bin/golint -set_exit_status $(shell go list ./...)
 | |
| 
 | |
| .PHONY: docker-image
 | |
| docker-image:
 | |
| 	@sudo docker build -t $(DOCKER_IMAGE) .
 | |
| 
 | |
| .PHONY: proto
 | |
| proto: bin/protoc bin/protoc-gen-go
 | |
| 	@./bin/protoc --go_out=plugins=grpc:. --plugin=protoc-gen-go=./bin/protoc-gen-go api/*.proto
 | |
| 	@./bin/protoc --go_out=. --plugin=protoc-gen-go=./bin/protoc-gen-go server/internal/*.proto
 | |
| 
 | |
| .PHONY: verify-proto
 | |
| verify-proto: proto
 | |
| 	@./scripts/git-diff
 | |
| 
 | |
| bin/protoc: scripts/get-protoc
 | |
| 	@./scripts/get-protoc bin/protoc
 | |
| 
 | |
| bin/protoc-gen-go:
 | |
| 	@go install -v $(REPO_PATH)/vendor/github.com/golang/protobuf/protoc-gen-go
 | |
| 
 | |
| bin/golint:
 | |
| 	@go install -v $(REPO_PATH)/vendor/golang.org/x/lint/golint
 | |
| 
 | |
| clean:
 | |
| 	@rm -rf bin/
 | |
| 
 | |
| testall: testrace vet fmt lint
 | |
| 
 | |
| FORCE:
 | |
| 
 | |
| .PHONY: test testrace vet fmt lint testall
 |