Skip to content

Commit c3f52ae

Browse files
committed
fix
1 parent a25081f commit c3f52ae

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

Makefile

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -165,10 +165,8 @@ ifdef DEPS_PLAYWRIGHT
165165
endif
166166

167167
SWAGGER_SPEC := templates/swagger/v1_json.tmpl
168-
SWAGGER_SPEC_S_TMPL := s|"basePath": *"/api/v1"|"basePath": "{{AppSubUrl \| JSEscape}}/api/v1"|g
169-
SWAGGER_SPEC_S_JSON := s|"basePath": *"{{AppSubUrl \| JSEscape}}/api/v1"|"basePath": "/api/v1"|g
168+
SWAGGER_SPEC_INPUT := templates/swagger/v1_input.json
170169
SWAGGER_EXCLUDE := code.gitea.io/sdk
171-
SWAGGER_NEWLINE_COMMAND := -e '$$a\'
172170

173171
TEST_MYSQL_HOST ?= mysql:3306
174172
TEST_MYSQL_DBNAME ?= testgitea
@@ -271,10 +269,8 @@ endif
271269
.PHONY: generate-swagger
272270
generate-swagger: $(SWAGGER_SPEC) ## generate the swagger spec from code comments
273271

274-
$(SWAGGER_SPEC): $(GO_SOURCES_NO_BINDATA)
275-
$(GO) run $(SWAGGER_PACKAGE) generate spec -x "$(SWAGGER_EXCLUDE)" -o './$(SWAGGER_SPEC)'
276-
$(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)'
277-
$(SED_INPLACE) $(SWAGGER_NEWLINE_COMMAND) './$(SWAGGER_SPEC)'
272+
$(SWAGGER_SPEC): $(GO_SOURCES_NO_BINDATA) $(SWAGGER_SPEC_INPUT)
273+
$(GO) run $(SWAGGER_PACKAGE) generate spec --exclude "$(SWAGGER_EXCLUDE)" --input "$(SWAGGER_SPEC_INPUT)" --output './$(SWAGGER_SPEC)'
278274

279275
.PHONY: swagger-check
280276
swagger-check: generate-swagger
@@ -287,9 +283,11 @@ swagger-check: generate-swagger
287283

288284
.PHONY: swagger-validate
289285
swagger-validate: ## check if the swagger spec is valid
290-
$(SED_INPLACE) '$(SWAGGER_SPEC_S_JSON)' './$(SWAGGER_SPEC)'
286+
# swagger strongly insists that the "basePath" must start with a slash, but we are using Golang template "{{...}}"
287+
$(SED_INPLACE) -e 's|"basePath": *".*"|"basePath": "/api/v1"|g' './$(SWAGGER_SPEC)'
288+
# FIXME: there are some warnings
291289
$(GO) run $(SWAGGER_PACKAGE) validate './$(SWAGGER_SPEC)'
292-
$(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)'
290+
git restore './$(SWAGGER_SPEC)'
293291

294292
.PHONY: checks
295293
checks: checks-frontend checks-backend ## run various consistency checks
@@ -298,7 +296,7 @@ checks: checks-frontend checks-backend ## run various consistency checks
298296
checks-frontend: lockfile-check svg-check ## check frontend files
299297

300298
.PHONY: checks-backend
301-
checks-backend: tidy-check swagger-check fmt-check swagger-validate security-check ## check backend files
299+
checks-backend: tidy-check swagger-check fmt-check security-check ## check backend files
302300

303301
.PHONY: lint
304302
lint: lint-frontend lint-backend lint-spell ## lint everything

routers/api/v1/api.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
// This documentation describes the Gitea API.
88
//
99
// Schemes: https, http
10-
// BasePath: /api/v1
11-
// Version: {{AppVer | JSEscape}}
1210
// License: MIT http://opensource.org/licenses/MIT
1311
//
1412
// Consumes:

templates/swagger/v1_input.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info": {
3+
"version": "{{AppVer | JSEscape}}"
4+
},
5+
"basePath": "{{AppSubUrl | JSEscape}}/api/v1"
6+
}

0 commit comments

Comments
 (0)