@@ -3,41 +3,200 @@ DOCKER_BUILD_EXTRA_PARAMS:=
33DOCKER_BUILD_PARAMS: =--ssh default ${DOCKER_BUILD_EXTRA_PARAMS}
44CIMAGE_DEPLOYMENT_TAG: =figshare/user_documentation:deployment
55CIMAGE_LATEST_TAG: =figshare/user_documentation:latest
6+ API_URL: =api.figshare.network
7+ API_SCHEME: =https
68
7- build :
8- mkdocs build
9- .PHONY : build
109
11- publish :
12- mkdocs gh-deploy
13- .PHONY : publish
10+ install :
11+ cd swagger_documentation && pip install -r requirements.txt
12+ .PHONY : install
13+
14+ format :
15+ black -l 120 -t py39 ./swagger_documentation
16+ .PHONY : format
1417
1518server :
1619 cd swagger_documentation && python -m http.server 8000
1720.PHONY : server
1821
19- install :
20- pip install mkdocs
21- .PHONY : install
22+ # Swagger/OpenAPI targets
23+ swagger :
24+ cd swagger_documentation && python parse_swagger.py ${API_URL} ${API_SCHEME}
25+ .PHONY : swagger
2226
23- format :
24- black -l 120 -t py39 ./swagger_documentation
25- .PHONY : format
27+ docs :
28+ cd swagger_documentation/docs && python merge_docs_to_swagger.py
29+ .PHONY : docs
30+
31+ client_samples_generate :
32+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g html2 -o clients_generated_samples/
33+ .PHONY : client_samples_generate
34+
35+ client_samples_parse :
36+ cd swagger_documentation && python parse_client_sample_codes.py
37+ .PHONY : client_samples_parse
38+
39+ client_samples :
40+ make client_samples_generate client_samples_parse
41+ .PHONY : client_samples
2642
2743swagger_build :
28- cd swagger_documentation && make documentation
44+ make docs swagger client_samples clients
2945.PHONY : swagger_build
3046
31- swagger_install :
32- cd swagger_documentation && make install
33- .PHONY : swagger_install
47+ # Client generation targets
48+ generate_client_go :
49+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g go -o clients/go/
50+ generate_client_java :
51+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g java -o clients/java/
52+ generate_client_csharp :
53+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g csharp -o clients/csharp/
54+ generate_client_php :
55+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g php -o clients/php/
56+ generate_client_perl :
57+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g perl -o clients/perl/
58+ generate_client_python :
59+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g python -o clients/python/
60+ generate_client_python-flask :
61+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g python-flask -o clients/python-flask/
62+ generate_client_javascript :
63+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g javascript -o clients/javascript/
64+ generate_client_typescript-axios :
65+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g typescript-axios -o clients/typescript-axios/
66+ generate_client_nodejs-server :
67+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g nodejs-express-server -o clients/nodejs-server/
68+ generate_client_ruby :
69+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g ruby -o clients/ruby/
70+ generate_client_html2 :
71+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g html2 -o clients/html2/
72+ generate_client_swift :
73+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g swift5 -o clients/swift/
74+ generate_client_kotlin :
75+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g kotlin -o clients/kotlin/
76+ generate_client_rust :
77+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g rust -o clients/rust/
78+ generate_client_clojure :
79+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g clojure -o clients/clojure/
80+ generate_client_haskell :
81+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g haskell-http-client -o clients/haskell/
82+ generate_client_javascript-closure-angular :
83+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g javascript-closure-angular -o clients/javascript-closure-angular/
84+ generate_client_dynamic-html :
85+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g dynamic-html -o clients/dynamic-html/
86+ generate_client_go-server :
87+ cd swagger_documentation && java -jar openapi-generator-cli.jar generate -i swagger.json -g go-server -o clients/go-server/
88+
89+ # Client zip targets
90+ zip_client_go :
91+ cd swagger_documentation/clients/go && zip -r ../go.zip *
92+ zip_client_java :
93+ cd swagger_documentation/clients/java && zip -r ../java.zip *
94+ zip_client_csharp :
95+ cd swagger_documentation/clients/csharp && zip -r ../csharp.zip *
96+ zip_client_php :
97+ cd swagger_documentation/clients/php && zip -r ../php.zip *
98+ zip_client_perl :
99+ cd swagger_documentation/clients/perl && zip -r ../perl.zip *
100+ zip_client_python :
101+ cd swagger_documentation/clients/python && zip -r ../python.zip *
102+ zip_client_python-flask :
103+ cd swagger_documentation/clients/python-flask && zip -r ../python-flask.zip *
104+ zip_client_javascript :
105+ cd swagger_documentation/clients/javascript && zip -r ../javascript.zip *
106+ zip_client_typescript-axios :
107+ cd swagger_documentation/clients/typescript-axios && zip -r ../typescript-axios.zip *
108+ zip_client_nodejs-server :
109+ cd swagger_documentation/clients/nodejs-server && zip -r ../nodejs-server.zip *
110+ zip_client_ruby :
111+ cd swagger_documentation/clients/ruby && zip -r ../ruby.zip *
112+ zip_client_html2 :
113+ cd swagger_documentation/clients/html2 && zip -r ../html2.zip *
114+ zip_client_swift :
115+ cd swagger_documentation/clients/swift && zip -r ../swift.zip *
116+ zip_client_kotlin :
117+ cd swagger_documentation/clients/kotlin && zip -r ../kotlin.zip *
118+ zip_client_rust :
119+ cd swagger_documentation/clients/rust && zip -r ../rust.zip *
120+ zip_client_clojure :
121+ cd swagger_documentation/clients/clojure && zip -r ../clojure.zip *
122+ zip_client_haskell :
123+ cd swagger_documentation/clients/haskell && zip -r ../haskell.zip *
124+ zip_client_javascript-closure-angular :
125+ cd swagger_documentation/clients/javascript-closure-angular && zip -r ../javascript-closure-angular.zip *
126+ zip_client_dynamic-html :
127+ cd swagger_documentation/clients/dynamic-html && zip -r ../dynamic-html.zip *
128+ zip_client_go-server :
129+ cd swagger_documentation/clients/go-server && zip -r ../go-server.zip *
130+
131+ # Client delete targets
132+ delete_client_go :
133+ rm -rf swagger_documentation/clients/go/
134+ delete_client_java :
135+ rm -rf swagger_documentation/clients/java/
136+ delete_client_csharp :
137+ rm -rf swagger_documentation/clients/csharp/
138+ delete_client_php :
139+ rm -rf swagger_documentation/clients/php/
140+ delete_client_perl :
141+ rm -rf swagger_documentation/clients/perl/
142+ delete_client_python :
143+ rm -rf swagger_documentation/clients/python/
144+ delete_client_python-flask :
145+ rm -rf swagger_documentation/clients/python-flask/
146+ delete_client_javascript :
147+ rm -rf swagger_documentation/clients/javascript/
148+ delete_client_typescript-axios :
149+ rm -rf swagger_documentation/clients/typescript-axios/
150+ delete_client_nodejs-server :
151+ rm -rf swagger_documentation/clients/nodejs-server/
152+ delete_client_ruby :
153+ rm -rf swagger_documentation/clients/ruby/
154+ delete_client_html2 :
155+ rm -rf swagger_documentation/clients/html2/
156+ delete_client_swift :
157+ rm -rf swagger_documentation/clients/swift/
158+ delete_client_kotlin :
159+ rm -rf swagger_documentation/clients/kotlin/
160+ delete_client_rust :
161+ rm -rf swagger_documentation/clients/rust/
162+ delete_client_clojure :
163+ rm -rf swagger_documentation/clients/clojure/
164+ delete_client_haskell :
165+ rm -rf swagger_documentation/clients/haskell/
166+ delete_client_javascript-closure-angular :
167+ rm -rf swagger_documentation/clients/javascript-closure-angular/
168+ delete_client_dynamic-html :
169+ rm -rf swagger_documentation/clients/dynamic-html/
170+ delete_client_go-server :
171+ rm -rf swagger_documentation/clients/go-server/
172+
173+ # Aggregate client targets
174+ generate_client_dirs :
175+ make generate_client_go generate_client_java generate_client_csharp generate_client_php generate_client_perl generate_client_python generate_client_python-flask generate_client_javascript generate_client_typescript-axios generate_client_nodejs-server generate_client_ruby generate_client_html2 generate_client_swift generate_client_kotlin generate_client_rust generate_client_clojure generate_client_haskell generate_client_javascript-closure-angular generate_client_dynamic-html generate_client_go-server
176+ .PHONY : generate_client_dirs
177+
178+ zip_client_dirs :
179+ make zip_client_go zip_client_java zip_client_csharp zip_client_php zip_client_perl zip_client_python zip_client_python-flask zip_client_javascript zip_client_typescript-axios zip_client_nodejs-server zip_client_ruby zip_client_html2 zip_client_swift zip_client_kotlin zip_client_rust zip_client_clojure zip_client_haskell zip_client_javascript-closure-angular zip_client_dynamic-html zip_client_go-server
180+ .PHONY : zip_client_dirs
181+
182+ delete_client_dirs :
183+ make delete_client_go delete_client_java delete_client_csharp delete_client_php delete_client_perl delete_client_python delete_client_python-flask delete_client_javascript delete_client_typescript-axios delete_client_nodejs-server delete_client_ruby delete_client_html2 delete_client_swift delete_client_kotlin delete_client_rust delete_client_clojure delete_client_haskell delete_client_javascript-closure-angular delete_client_dynamic-html delete_client_go-server
184+ .PHONY : delete_client_dirs
185+
186+ clean :
187+ rm -rf swagger_documentation/clients/*
188+ .PHONY : clean
189+
190+ clients :
191+ make docs generate_client_dirs zip_client_dirs delete_client_dirs
192+ .PHONY : clients
34193
194+ # Docker targets
35195container-images :
36196 ${DOCKER_EXE} build ${DOCKER_BUILD_PARAMS} -t ${CIMAGE_DEPLOYMENT_TAG} --target deployment .
37197 ${DOCKER_EXE} build ${DOCKER_BUILD_PARAMS} -t ${CIMAGE_LATEST_TAG} .
38198.PHONY : container_images
39199
40200container-build :
41- ${DOCKER_EXE} run --rm -v $(PWD ) :/app ${CIMAGE_DEPLOYMENT_TAG} make build
42201 ${DOCKER_EXE} run --rm -v $(PWD ) :/app ${CIMAGE_DEPLOYMENT_TAG} make swagger_build
43202.PHONY : container_build
0 commit comments