Skip to content

Commit

Permalink
[DFI-965] changed swagger generation method (#240)
Browse files Browse the repository at this point in the history
  • Loading branch information
g3co authored Dec 3, 2020
1 parent 9a91bd6 commit cf6d017
Show file tree
Hide file tree
Showing 3 changed files with 132 additions and 179 deletions.
34 changes: 27 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,34 @@ swagger-ui-deps:
go get -u github.com/swaggo/swag/cmd/[email protected]
go get github.com/g3co/go-swagger-merger

swagger-ui-build:
swagger_auto_dir=$(swagger_dir)"/swagger-auto"
modules_dir = ./x
swagger-ui-build: $(modules_dir)/*
@echo "--> Building Swagger API specificaion, merging it to Cosmos SDK"

@echo "-> Build swagger.yaml (that takes time)"
swag init --dir . --output $(swagger_dir) --generalInfo ./cmd/dnode/main.go --parseDependency

@echo "-> Merging swagger files"
go-swagger-merger -o ./cmd/dncli/docs/swagger.yaml $(swagger_dir)/swagger.yaml $(cosmos_dir)/client/lcd/swagger-auto/swagger.yaml
@echo "-> Build swagger.yaml"
rm -rf $(swagger_auto_dir)
mkdir -p $(swagger_auto_dir)/x
@echo "swagger: '2.0'"> $(swagger_auto_dir)/swagger.yaml

# generate swagger files for the each module
# creates tmp dirs for sdk types in the each dir and removes it after work
for file in $^ ; do \
cp -r $(cosmos_dir)/types ./$${file}/tmp_sdk; \
mkdir -p ./$${file}/tmp_auth; \
cp $(cosmos_dir)/x/auth/types/stdtx.go ./$${file}/tmp_auth; \
swag init --dir ./$${file} --output $(swagger_auto_dir)/$${file} --generalInfo ./module.go; \
rm -rf ./$${file}/tmp_sdk ./$${file}/tmp_auth; \
done

# merge autogenerated module swaggers
for file in $(swagger_auto_dir)/x/* ; do \
go-swagger-merger -o $(swagger_auto_dir)/swagger.yaml $(swagger_auto_dir)/swagger.yaml $${file}/swagger.yaml; \
done

# merge with the cosmos-sdk swagger
go-swagger-merger -o ./cmd/dncli/docs/swagger.yaml \
$(cosmos_dir)/client/lcd/swagger-auto/swagger.yaml \
$(swagger_auto_dir)/swagger.yaml

@echo "-> Building swagger.go file"
echo "// Code generated by Makefile. DO NOT EDIT.\n" > ./cmd/dncli/docs/swagger.go
Expand Down
Loading

0 comments on commit cf6d017

Please sign in to comment.