mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 00:54:43 +01:00 
			
		
		
		
	Move go-licenses to generate and separate generate into a frontend and backend component (#21061)
The `go-licenses` make task introduced in #21034 is being run on make vendor and occasionally causes an empty go-licenses file if the vendors need to change. This should be moved to the generate task as it is a generated file. Now because of this change we also need to split generation into two separate steps: 1. `generate-backend` 2. `generate-frontend` In the future it would probably be useful to make `generate-swagger` part of `generate-frontend` but it's not tolerated with our .drone.yml Ref #21034 Signed-off-by: Andrew Thornton <art27@cantab.net> Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
		
							parent
							
								
									0232601734
								
							
						
					
					
						commit
						8080e23c9b
					
				
							
								
								
									
										27
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Makefile
									
									
									
									
									
								
							| @ -111,6 +111,8 @@ WEBPACK_DEST_ENTRIES := public/js public/css public/fonts public/img/webpack pub | |||||||
| BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go | BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go | ||||||
| BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST)) | BINDATA_HASH := $(addsuffix .hash,$(BINDATA_DEST)) | ||||||
| 
 | 
 | ||||||
|  | GENERATED_GO_DEST := modules/charset/invisible_gen.go modules/charset/ambiguous_gen.go | ||||||
|  | 
 | ||||||
| SVG_DEST_DIR := public/img/svg | SVG_DEST_DIR := public/img/svg | ||||||
| 
 | 
 | ||||||
| AIR_TMP_DIR := .air | AIR_TMP_DIR := .air | ||||||
| @ -130,9 +132,12 @@ GO_DIRS := cmd tests models modules routers build services tools | |||||||
| 
 | 
 | ||||||
| GO_SOURCES := $(wildcard *.go) | GO_SOURCES := $(wildcard *.go) | ||||||
| GO_SOURCES += $(shell find $(GO_DIRS) -type f -name "*.go" -not -path modules/options/bindata.go -not -path modules/public/bindata.go -not -path modules/templates/bindata.go) | GO_SOURCES += $(shell find $(GO_DIRS) -type f -name "*.go" -not -path modules/options/bindata.go -not -path modules/public/bindata.go -not -path modules/templates/bindata.go) | ||||||
|  | GO_SOURCES += $(GENERATED_GO_DEST) | ||||||
|  | GO_SOURCES_NO_BINDATA := $(GO_SOURCES) | ||||||
| 
 | 
 | ||||||
| ifeq ($(filter $(TAGS_SPLIT),bindata),bindata) | ifeq ($(filter $(TAGS_SPLIT),bindata),bindata) | ||||||
| 	GO_SOURCES += $(BINDATA_DEST) | 	GO_SOURCES += $(BINDATA_DEST) | ||||||
|  | 	GENERATED_GO_DEST += $(BINDATA_DEST) | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| # Force installation of playwright dependencies by setting this flag
 | # Force installation of playwright dependencies by setting this flag
 | ||||||
| @ -259,7 +264,7 @@ clean: | |||||||
| fmt: | fmt: | ||||||
| 	@MISSPELL_PACKAGE=$(MISSPELL_PACKAGE) GOFUMPT_PACKAGE=$(GOFUMPT_PACKAGE) $(GO) run build/code-batch-process.go gitea-fmt -w '{file-list}' | 	@MISSPELL_PACKAGE=$(MISSPELL_PACKAGE) GOFUMPT_PACKAGE=$(GOFUMPT_PACKAGE) $(GO) run build/code-batch-process.go gitea-fmt -w '{file-list}' | ||||||
| 	$(eval TEMPLATES := $(shell find templates -type f -name '*.tmpl')) | 	$(eval TEMPLATES := $(shell find templates -type f -name '*.tmpl')) | ||||||
| 	@# strip whitespace after '{{' and before `}}` unless there is only whitespace before it  | 	@# strip whitespace after '{{' and before `}}` unless there is only whitespace before it | ||||||
| 	@$(SED_INPLACE) -e 's/{{[ 	]\{1,\}/{{/g' -e '/^[ 	]\{1,\}}}/! s/[ 	]\{1,\}}}/}}/g' $(TEMPLATES) | 	@$(SED_INPLACE) -e 's/{{[ 	]\{1,\}/{{/g' -e '/^[ 	]\{1,\}}}/! s/[ 	]\{1,\}}}/}}/g' $(TEMPLATES) | ||||||
| 
 | 
 | ||||||
| .PHONY: vet | .PHONY: vet | ||||||
| @ -278,7 +283,9 @@ TAGS_PREREQ := $(TAGS_EVIDENCE) | |||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| .PHONY: generate-swagger | .PHONY: generate-swagger | ||||||
| generate-swagger: | generate-swagger: $(SWAGGER_SPEC) | ||||||
|  | 
 | ||||||
|  | $(SWAGGER_SPEC): $(GO_SOURCES_NO_BINDATA) | ||||||
| 	$(GO) run $(SWAGGER_PACKAGE) generate spec -x "$(SWAGGER_EXCLUDE)" -o './$(SWAGGER_SPEC)' | 	$(GO) run $(SWAGGER_PACKAGE) generate spec -x "$(SWAGGER_EXCLUDE)" -o './$(SWAGGER_SPEC)' | ||||||
| 	$(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)' | 	$(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)' | ||||||
| 	$(SED_INPLACE) $(SWAGGER_NEWLINE_COMMAND) './$(SWAGGER_SPEC)' | 	$(SED_INPLACE) $(SWAGGER_NEWLINE_COMMAND) './$(SWAGGER_SPEC)' | ||||||
| @ -398,7 +405,6 @@ unit-test-coverage: | |||||||
| tidy: | tidy: | ||||||
| 	$(eval MIN_GO_VERSION := $(shell grep -Eo '^go\s+[0-9]+\.[0-9.]+' go.mod | cut -d' ' -f2)) | 	$(eval MIN_GO_VERSION := $(shell grep -Eo '^go\s+[0-9]+\.[0-9.]+' go.mod | cut -d' ' -f2)) | ||||||
| 	$(GO) mod tidy -compat=$(MIN_GO_VERSION) | 	$(GO) mod tidy -compat=$(MIN_GO_VERSION) | ||||||
| 	@$(MAKE) --no-print-directory assets/go-licenses.json |  | ||||||
| 
 | 
 | ||||||
| .PHONY: vendor | .PHONY: vendor | ||||||
| vendor: tidy | vendor: tidy | ||||||
| @ -702,16 +708,25 @@ install: $(wildcard *.go) | |||||||
| build: frontend backend | build: frontend backend | ||||||
| 
 | 
 | ||||||
| .PHONY: frontend | .PHONY: frontend | ||||||
| frontend: $(WEBPACK_DEST) | frontend: generate-frontend $(WEBPACK_DEST) | ||||||
| 
 | 
 | ||||||
| .PHONY: backend | .PHONY: backend | ||||||
| backend: go-check generate $(EXECUTABLE) | backend: go-check generate-backend $(EXECUTABLE) | ||||||
| 
 | 
 | ||||||
|  | # We generate the backend before the frontend in case we in future we want to generate things in the frontend from generated files in backend
 | ||||||
| .PHONY: generate | .PHONY: generate | ||||||
| generate: $(TAGS_PREREQ) | generate: generate-backend generate-frontend | ||||||
|  | 
 | ||||||
|  | .PHONY: generate-backend | ||||||
|  | generate-backend: $(TAGS_PREREQ) generate-go | ||||||
|  | 
 | ||||||
|  | generate-go: $(TAGS_PREREQ) | ||||||
| 	@echo "Running go generate..." | 	@echo "Running go generate..." | ||||||
| 	@CC= GOOS= GOARCH= $(GO) generate -tags '$(TAGS)' $(GO_PACKAGES) | 	@CC= GOOS= GOARCH= $(GO) generate -tags '$(TAGS)' $(GO_PACKAGES) | ||||||
| 
 | 
 | ||||||
|  | .PHONY: generate-frontend | ||||||
|  | generate-frontend: $(TAGS_PREREQ) go-licenses | ||||||
|  | 
 | ||||||
| $(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ) | $(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ) | ||||||
| 	CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ | 	CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -110,6 +110,17 @@ func runTemplate(t *template.Template, filename string, data interface{}) error | |||||||
| 		verbosef("Bad source:\n%s", buf.String()) | 		verbosef("Bad source:\n%s", buf.String()) | ||||||
| 		return fmt.Errorf("unable to format source: %w", err) | 		return fmt.Errorf("unable to format source: %w", err) | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	old, err := os.ReadFile(filename) | ||||||
|  | 	if err != nil && !os.IsNotExist(err) { | ||||||
|  | 		return fmt.Errorf("failed to read old file %s because %w", filename, err) | ||||||
|  | 	} else if err == nil { | ||||||
|  | 		if bytes.Equal(bs, old) { | ||||||
|  | 			// files are the same don't rewrite it. | ||||||
|  | 			return nil | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	file, err := os.Create(filename) | 	file, err := os.Create(filename) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("failed to create file %s because %w", filename, err) | 		return fmt.Errorf("failed to create file %s because %w", filename, err) | ||||||
|  | |||||||
| @ -63,6 +63,17 @@ func runTemplate(t *template.Template, filename string, data interface{}) error | |||||||
| 		verbosef("Bad source:\n%s", buf.String()) | 		verbosef("Bad source:\n%s", buf.String()) | ||||||
| 		return fmt.Errorf("unable to format source: %w", err) | 		return fmt.Errorf("unable to format source: %w", err) | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	old, err := os.ReadFile(filename) | ||||||
|  | 	if err != nil && !os.IsNotExist(err) { | ||||||
|  | 		return fmt.Errorf("failed to read old file %s because %w", filename, err) | ||||||
|  | 	} else if err == nil { | ||||||
|  | 		if bytes.Equal(bs, old) { | ||||||
|  | 			// files are the same don't rewrite it. | ||||||
|  | 			return nil | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	file, err := os.Create(filename) | 	file, err := os.Create(filename) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("failed to create file %s because %w", filename, err) | 		return fmt.Errorf("failed to create file %s because %w", filename, err) | ||||||
|  | |||||||
| @ -26,7 +26,6 @@ import ( | |||||||
| 	"code.gitea.io/gitea/modules/structs" | 	"code.gitea.io/gitea/modules/structs" | ||||||
| 
 | 
 | ||||||
| 	"github.com/google/uuid" | 	"github.com/google/uuid" | ||||||
| 
 |  | ||||||
| 	"gopkg.in/yaml.v2" | 	"gopkg.in/yaml.v2" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ | |||||||
| 	</div> | 	</div> | ||||||
| 	<a class="ui segment language-stats"> | 	<a class="ui segment language-stats"> | ||||||
| 		{{range .LanguageStats}} | 		{{range .LanguageStats}} | ||||||
| 		<div class="bar tooltip" style="width: {{.Percentage}}%; background-color: {{.Color}}" data-placement="top" data-content={{ .Language }}> </div> | 		<div class="bar tooltip" style="width: {{.Percentage}}%; background-color: {{.Color}}" data-placement="top" data-content={{.Language}}> </div> | ||||||
| 		{{end}} | 		{{end}} | ||||||
| 	</a> | 	</a> | ||||||
| 	{{end}} | 	{{end}} | ||||||
|  | |||||||
| @ -10,6 +10,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,6 +13,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
| 
 | 
 | ||||||
| 	"code.gitea.io/gitea/tests" | 	"code.gitea.io/gitea/tests" | ||||||
|  | 
 | ||||||
| 	"github.com/stretchr/testify/assert" | 	"github.com/stretchr/testify/assert" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user