Include formatting check to the make test
(and thus also check
) rule (#1366)
* Include formatting check to the `make check` rule ... and give it its own standalone target too (make fmt-check) Show diff on fmt-check failure Do not allow running "fmt-check" with incompatible go version Also simplify the `fmt` rule * Forbid running "make fmt" with Go version != 1.7 or 1.8 * Ignore bindata.go for spelling and formatting checks also remove duplicated variable assignment for GOFILES * Run `make fmt`
This commit is contained in:
parent
6ec07a6bd7
commit
f6b58964d7
3 changed files with 21 additions and 7 deletions
22
Makefile
22
Makefile
|
@ -4,6 +4,8 @@ BINDATA := modules/{options,public,templates}/bindata.go
|
||||||
STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less)
|
STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less)
|
||||||
JAVASCRIPTS :=
|
JAVASCRIPTS :=
|
||||||
DOCKER_TAG := gitea/gitea:latest
|
DOCKER_TAG := gitea/gitea:latest
|
||||||
|
GOFILES := $(shell find . -name "*.go" -type f -not -path "./vendor/*" -not -path "*/bindata.go")
|
||||||
|
GOFMT ?= gofmt -s
|
||||||
|
|
||||||
GOFLAGS := -i -v
|
GOFLAGS := -i -v
|
||||||
EXTRA_GOFLAGS ?=
|
EXTRA_GOFLAGS ?=
|
||||||
|
@ -12,7 +14,6 @@ LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/'
|
||||||
|
|
||||||
PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell go list ./... | grep -v /vendor/))
|
PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell go list ./... | grep -v /vendor/))
|
||||||
SOURCES ?= $(shell find . -name "*.go" -type f)
|
SOURCES ?= $(shell find . -name "*.go" -type f)
|
||||||
GOFILES := $(shell find . -name "*.go" -type f -not -path "./vendor/*")
|
|
||||||
|
|
||||||
TAGS ?=
|
TAGS ?=
|
||||||
|
|
||||||
|
@ -42,9 +43,12 @@ clean:
|
||||||
go clean -i ./...
|
go clean -i ./...
|
||||||
rm -rf $(EXECUTABLE) $(DIST) $(BINDATA)
|
rm -rf $(EXECUTABLE) $(DIST) $(BINDATA)
|
||||||
|
|
||||||
|
required-gofmt-version:
|
||||||
|
@go version | grep -q '\(1.7\|1.8\)' || { echo "We require go version 1.7 or 1.8 to format code" >&2 && exit 1; }
|
||||||
|
|
||||||
.PHONY: fmt
|
.PHONY: fmt
|
||||||
fmt:
|
fmt: required-gofmt-version
|
||||||
find . -name "*.go" -type f -not -path "./vendor/*" | xargs gofmt -s -w
|
$(GOFMT) -w $(GOFILES)
|
||||||
|
|
||||||
.PHONY: vet
|
.PHONY: vet
|
||||||
vet:
|
vet:
|
||||||
|
@ -88,8 +92,18 @@ misspell:
|
||||||
fi
|
fi
|
||||||
misspell -w -i unknwon $(GOFILES)
|
misspell -w -i unknwon $(GOFILES)
|
||||||
|
|
||||||
|
.PHONY: fmt-check
|
||||||
|
fmt-check: required-gofmt-version
|
||||||
|
# get all go files and run go fmt on them
|
||||||
|
@diff=$$($(GOFMT) -d $(GOFILES)); \
|
||||||
|
if [ -n "$$diff" ]; then \
|
||||||
|
echo "Please run 'make fmt' and commit the result:"; \
|
||||||
|
echo "$${diff}"; \
|
||||||
|
exit 1; \
|
||||||
|
fi;
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test: fmt-check
|
||||||
go test $(PACKAGES)
|
go test $(PACKAGES)
|
||||||
|
|
||||||
.PHONY: test-coverage
|
.PHONY: test-coverage
|
||||||
|
|
|
@ -11,8 +11,8 @@ import (
|
||||||
"code.gitea.io/gitea/modules/markdown"
|
"code.gitea.io/gitea/modules/markdown"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/Unknwon/com"
|
"github.com/Unknwon/com"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRepo(t *testing.T) {
|
func TestRepo(t *testing.T) {
|
||||||
|
|
|
@ -177,7 +177,7 @@ var (
|
||||||
|
|
||||||
// Repository local settings
|
// Repository local settings
|
||||||
Local struct {
|
Local struct {
|
||||||
LocalCopyPath string
|
LocalCopyPath string
|
||||||
} `ini:"-"`
|
} `ini:"-"`
|
||||||
}{
|
}{
|
||||||
AnsiCharset: "",
|
AnsiCharset: "",
|
||||||
|
@ -214,7 +214,7 @@ var (
|
||||||
|
|
||||||
// Repository local settings
|
// Repository local settings
|
||||||
Local: struct {
|
Local: struct {
|
||||||
LocalCopyPath string
|
LocalCopyPath string
|
||||||
}{
|
}{
|
||||||
LocalCopyPath: "tmp/local-repo",
|
LocalCopyPath: "tmp/local-repo",
|
||||||
},
|
},
|
||||||
|
|
Reference in a new issue