golint has updated or dropped support for old Go versions several times, causing breaks in our build. Vendor it locally to prevent this.
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.1 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:
 | |
| 	@glide up -v
 | |
| 	@glide-vc --use-lock-file --no-tests --only-code
 | |
| 
 | |
| test:
 | |
| 	@go test -v -i $(shell go list ./... | grep -v '/vendor/')
 | |
| 	@go test -v $(shell go list ./... | grep -v '/vendor/')
 | |
| 
 | |
| testrace:
 | |
| 	@go test -v -i --race $(shell go list ./... | grep -v '/vendor/')
 | |
| 	@go test -v --race $(shell go list ./... | grep -v '/vendor/')
 | |
| 
 | |
| vet:
 | |
| 	@go vet $(shell go list ./... | grep -v '/vendor/')
 | |
| 
 | |
| fmt:
 | |
| 	@./scripts/gofmt $(shell go list ./... | grep -v '/vendor/')
 | |
| 
 | |
| lint: bin/golint
 | |
| 	@for package in $(shell go list ./... | grep -v '/vendor/' | grep -v '/api' | grep -v '/server/internal'); do \
 | |
|       ./bin/golint -set_exit_status $$package $$i || exit 1; \
 | |
| 	done
 | |
| 
 | |
| .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
 |