add TAGS variable prereq on make targets that use it (#10219)
Write out TAGS to .make_evidence/tags and compare it to the previous invocation. If they differ, insert the evidence file into the prereqs of targets that use TAGS. I made it .PHONY so it always builds. I did not include the prereq on release tasks, asssuming the will always do a clean build. Fixes: https://github.com/go-gitea/gitea/issues/10196 Co-authored-by: techknowlogick <matti@mdranta.net> Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
This commit is contained in:
parent
bfd62b6f01
commit
d9c79986ea
1 changed files with 13 additions and 3 deletions
16
Makefile
16
Makefile
|
@ -70,6 +70,7 @@ FOMANTIC_DEST_DIR := public/fomantic
|
||||||
FOMANTIC_EVIDENCE := $(MAKE_EVIDENCE_DIR)/fomantic
|
FOMANTIC_EVIDENCE := $(MAKE_EVIDENCE_DIR)/fomantic
|
||||||
|
|
||||||
TAGS ?=
|
TAGS ?=
|
||||||
|
TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags
|
||||||
|
|
||||||
TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'gitea-temp')
|
TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'gitea-temp')
|
||||||
|
|
||||||
|
@ -168,8 +169,17 @@ fmt:
|
||||||
vet:
|
vet:
|
||||||
$(GO) vet $(PACKAGES)
|
$(GO) vet $(PACKAGES)
|
||||||
|
|
||||||
|
.PHONY: $(TAGS_EVIDENCE)
|
||||||
|
$(TAGS_EVIDENCE):
|
||||||
|
@mkdir -p $(MAKE_EVIDENCE_DIR)
|
||||||
|
@echo "$(TAGS)" > $(TAGS_EVIDENCE)
|
||||||
|
|
||||||
|
ifneq "$(TAGS)" "$(shell cat $(TAGS_EVIDENCE) 2>/dev/null)"
|
||||||
|
TAGS_PREREQ := $(TAGS_EVIDENCE)
|
||||||
|
endif
|
||||||
|
|
||||||
.PHONY: generate
|
.PHONY: generate
|
||||||
generate: fomantic webpack
|
generate: fomantic webpack $(TAGS_PREREQ)
|
||||||
GO111MODULE=on $(GO) generate -mod=vendor -tags '$(TAGS)' $(PACKAGES)
|
GO111MODULE=on $(GO) generate -mod=vendor -tags '$(TAGS)' $(PACKAGES)
|
||||||
|
|
||||||
.PHONY: generate-swagger
|
.PHONY: generate-swagger
|
||||||
|
@ -425,14 +435,14 @@ migrations.sqlite.test: $(GO_SOURCES)
|
||||||
.PHONY: check
|
.PHONY: check
|
||||||
check: test
|
check: test
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: install $(TAGS_PREREQ)
|
||||||
install: $(wildcard *.go)
|
install: $(wildcard *.go)
|
||||||
$(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
|
$(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build: go-check generate $(EXECUTABLE)
|
build: go-check generate $(EXECUTABLE)
|
||||||
|
|
||||||
$(EXECUTABLE): $(GO_SOURCES)
|
$(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ)
|
||||||
GO111MODULE=on $(GO) build -mod=vendor $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
|
GO111MODULE=on $(GO) build -mod=vendor $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
|
||||||
|
|
||||||
.PHONY: release
|
.PHONY: release
|
||||||
|
|
Loading…
Add table
Reference in a new issue