-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,76 @@ | ||
SHELL = /bin/bash -euo pipefail | ||
PKGS = $(shell go list ./... | grep -v vendor) | ||
BIN = $(shell basename $(shell go list -m)) | ||
BINPATH = $(PWD)/bin | ||
COMMIT = $(shell git rev-parse --verify HEAD) | ||
DATE = $(shell date +%Y-%m-%dT%T%Z) | ||
GO111MODULE = on | ||
GOFLAGS = -mod=vendor | ||
MODULE = $(shell go list -m) | ||
PACKAGES = $(shell go list ./...) | ||
PATHS = $(shell go list ./... | sed -e "s|$(shell go list -m)/\{0,1\}||g") | ||
SHELL = /bin/bash -euo pipefail | ||
TIMEOUT = 1s | ||
BIN = $(shell basename $(shell pwd)) | ||
|
||
export PATH := $(BINPATH):$(PATH) | ||
|
||
.DEFAULT_GOAL = test-with-coverage | ||
|
||
.PHONY: env | ||
env: | ||
@echo "BIN: $(BIN)" | ||
@echo "BINPATH: $(BINPATH)" | ||
@echo "COMMIT: $(COMMIT)" | ||
@echo "DATE: $(DATE)" | ||
@echo "GO111MODULE: $(GO111MODULE)" | ||
@echo "GOFLAGS: $(GOFLAGS)" | ||
@echo "MODULE: $(MODULE)" | ||
@echo "PACKAGES: $(PACKAGES)" | ||
@echo "PATH: $(PATH)" | ||
@echo "PATHS: $(PATHS)" | ||
@echo "SHELL: $(SHELL)" | ||
@echo "TIMEOUT: $(TIMEOUT)" | ||
|
||
|
||
.PHONY: deps | ||
deps: | ||
@go mod tidy && go mod vendor && go mod verify | ||
|
||
.PHONY: update | ||
update: | ||
@go get -mod= -u | ||
|
||
|
||
.PHONY: format | ||
format: | ||
@goimports -local $(dirname $(go list -m)) -ungroup -w . | ||
@goimports -local $(dir $(shell go list -m)) -ungroup -w $(PATHS) | ||
|
||
.PHONY: generate | ||
generate: | ||
@go generate $(PKGS) | ||
@go generate $(PACKAGES) | ||
|
||
.PHONY: update | ||
update: | ||
@go get -mod= -u | ||
|
||
.PHONY: refresh | ||
refresh: generate format | ||
refresh: update deps generate format | ||
|
||
|
||
.PHONY: test | ||
test: | ||
@go test -race -timeout $(TIMEOUT) $(PKGS) | ||
@go test -race -timeout $(TIMEOUT) $(PACKAGES) | ||
|
||
.PHONY: test-with-coverage | ||
test-with-coverage: | ||
@go test -cover -timeout $(TIMEOUT) $(PKGS) | column -t | sort -r | ||
@go test -cover -timeout $(TIMEOUT) $(PACKAGES) | column -t | sort -r | ||
|
||
.PHONY: test-with-coverage-profile | ||
test-with-coverage-profile: | ||
@go test -cover -covermode count -coverprofile c.out -timeout $(TIMEOUT) $(PKGS) | ||
@go test -cover -covermode count -coverprofile c.out -timeout $(TIMEOUT) $(PACKAGES) | ||
|
||
.PHONY: test-smoke | ||
test-smoke: | ||
@echo not implemented yet | ||
@echo nothing to do | ||
|
||
|
||
.PHONY: build | ||
build: | ||
@go build -o bin/$(BIN) . | ||
@go build -o bin/$(BIN) -ldflags "-s -w -X main.commit=$(COMMIT) -X main.date=$(DATE)" . | ||
|
||
.PHONY: dist | ||
dist: | ||
@godownloader .goreleaser.yml > .github/install.sh | ||
|
||
.PHONY: install | ||
install: | ||
@go build -o $(GOPATH)/bin/$(BIN) . |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,19 @@ | ||
module github.com/kamilsk/forward | ||
|
||
require ( | ||
github.com/Netflix/go-expect v0.0.0-20180928190340-9d1f4485533b // indirect | ||
github.com/Netflix/go-expect v0.0.0-20190729225929-0e00d9168667 // indirect | ||
github.com/golang/mock v1.3.1 | ||
github.com/google/gops v0.3.6 | ||
github.com/hinshun/vt10x v0.0.0-20180809195222-d55458df857c // indirect | ||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect | ||
github.com/kr/pty v1.1.8 // indirect | ||
github.com/mattn/go-colorable v0.1.2 // indirect | ||
github.com/mattn/go-isatty v0.0.9 // indirect | ||
github.com/pkg/errors v0.8.1 | ||
github.com/spf13/cobra v0.0.5 | ||
github.com/stretchr/testify v1.4.0 | ||
go.octolab.org/toolkit/cli v0.0.2 | ||
gopkg.in/AlecAivazis/survey.v1 v1.8.4 | ||
go.octolab.org/toolkit/cli v0.0.3 | ||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 // indirect | ||
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456 // indirect | ||
gopkg.in/AlecAivazis/survey.v1 v1.8.5 | ||
) |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.