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 | ||||
| 
 | ||||
| TAGS ?= | ||||
| TAGS_EVIDENCE := $(MAKE_EVIDENCE_DIR)/tags | ||||
| 
 | ||||
| TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'gitea-temp') | ||||
| 
 | ||||
|  | @ -168,8 +169,17 @@ fmt: | |||
| vet: | ||||
| 	$(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 | ||||
| generate: fomantic webpack | ||||
| generate: fomantic webpack $(TAGS_PREREQ) | ||||
| 	GO111MODULE=on $(GO) generate -mod=vendor -tags '$(TAGS)' $(PACKAGES) | ||||
| 
 | ||||
| .PHONY: generate-swagger | ||||
|  | @ -425,14 +435,14 @@ migrations.sqlite.test: $(GO_SOURCES) | |||
| .PHONY: check | ||||
| check: test | ||||
| 
 | ||||
| .PHONY: install | ||||
| .PHONY: install $(TAGS_PREREQ) | ||||
| install: $(wildcard *.go) | ||||
| 	$(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' | ||||
| 
 | ||||
| .PHONY: build | ||||
| 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 $@ | ||||
| 
 | ||||
| .PHONY: release | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue