From 2bcd9471c9b7efcf8f832f2855e2bc2221c75e03 Mon Sep 17 00:00:00 2001 From: Antoine GIRARD Date: Thu, 15 Jun 2017 15:51:23 +0200 Subject: [PATCH] Separate generate swagger + fix sed os specific (#1791) * Separate generate-swagger * Remove go generate rules * Add missing definition replacement + remove use of -i sed flag for compatibility with mac os default sed version. This is a little hacky a better solution could be use. * Use custom SED_INPLACE depending of platform detection * Use SED_INPLACE for swagger-ui also --- Makefile | 25 ++++++++++++++++++++++--- routers/api/v1/api.go | 4 ---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index a0f73658a..70018cd55 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,18 @@ DIST := dist IMPORT := code.gitea.io/gitea + +SED_INPLACE := sed -i + +ifeq ($(OS), Windows_NT) + EXECUTABLE := gitea.exe +else + EXECUTABLE := gitea + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Darwin) + SED_INPLACE := sed -i '' + endif +endif + BINDATA := modules/{options,public,templates}/bindata.go STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less) JAVASCRIPTS := @@ -59,11 +72,17 @@ generate: @hash go-bindata > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ go get -u github.com/jteeuwen/go-bindata/...; \ fi + go generate $(PACKAGES) + +.PHONY: generate-swagger +generate-swagger: @hash swagger > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ go get -u github.com/go-swagger/go-swagger/cmd/swagger; \ fi - go generate $(PACKAGES) - + swagger generate spec -o ./public/swagger.v1.json + $(SED_INPLACE) "s;\".ref\": \"#/definitions/GPGKey\";\"type\": \"object\";g" ./public/swagger.v1.json + $(SED_INPLACE) "s;^ \".ref\": \"#/definitions/Repository\"; \"type\": \"object\";g" ./public/swagger.v1.json + .PHONY: errcheck errcheck: @hash errcheck > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ @@ -241,7 +260,7 @@ swagger-ui: git clone --depth=10 -b v3.0.7 --single-branch https://github.com/swagger-api/swagger-ui.git /tmp/swagger-ui mv /tmp/swagger-ui/dist public/assets/swagger-ui rm -Rf /tmp/swagger-ui - sed -i "s;http://petstore.swagger.io/v2/swagger.json;../../swagger.v1.json;g" public/assets/swagger-ui/index.html + $(SED_INPLACE) "s;http://petstore.swagger.io/v2/swagger.json;../../swagger.v1.json;g" public/assets/swagger-ui/index.html .PHONY: assets assets: javascripts stylesheets diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index aa7d8a562..0e356b1f9 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -2,10 +2,6 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -//go:generate swagger generate spec -o ../../../public/swagger.v1.json -//go:generate sed -i "s;\".ref\": \"#/definitions/GPGKey\";\"type\": \"object\";g" ../../../public/swagger.v1.json -//go:generate sed -i "s;^ \".ref\": \"#/definitions/Repository\"; \"type\": \"object\";g" ../../../public/swagger.v1.json - // Package v1 Gitea API. // // This provide API interface to communicate with this Gitea instance.