Add 'bin/ensure-up-to-date' script and update Shippable CI (#136)

* Create 'bin/ensure-up-to-date' script

* Update shippable config

* Do no longer copy 'CI/pom.xml.shippable' to 'pom.xml'
* Fix paths in CI/pom.xml.shippable

* shippable: remove write to file

* shippable: move order

* Run 'bin/ruby-petstore.sh' to update 'samples/'

* Add Kotlin scripts to the list
This commit is contained in:
Jérémie Bresson 2018-05-24 16:18:35 +02:00 committed by Jim Schubert
parent 9040f49311
commit 00f176ad95
7 changed files with 91 additions and 60 deletions

View File

@ -120,7 +120,7 @@
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>google_checkstyle.xml</configLocation>
<configLocation>../google_checkstyle.xml</configLocation>
<!-- Don't include generated sources a la http://stackoverflow.com/a/30406454 -->
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<encoding>UTF-8</encoding>
@ -355,7 +355,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/android/volley</module>
<module>../samples/client/petstore/android/volley</module>
</modules>
</profile>
<profile>
@ -367,7 +367,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/bash</module>
<module>../samples/client/petstore/bash</module>
</modules>
</profile>
<profile>
@ -379,7 +379,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/clojure</module>
<module>../samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
@ -391,7 +391,7 @@
</property>
</activation>
<modules>
<!--<module>samples/client/petstore/haskell-http-client</module>-->
<!--<module>../samples/client/petstore/haskell-http-client</module>-->
</modules>
</profile>
<profile>
@ -403,7 +403,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client/tests-integration</module>
<module>../samples/client/petstore/haskell-http-client/tests-integration</module>
</modules>
</profile>
<profile>
@ -415,7 +415,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey1</module>
<module>../samples/client/petstore/java/jersey1</module>
</modules>
</profile>
<profile>
@ -427,7 +427,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2</module>
<module>../samples/client/petstore/java/jersey2</module>
</modules>
</profile>
<profile>
@ -439,7 +439,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/jersey2-java6</module>
<module>../samples/client/petstore/java/jersey2-java6</module>
</modules>
</profile>
<profile>
@ -451,7 +451,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson</module>
<module>../samples/client/petstore/java/okhttp-gson</module>
</modules>
</profile>
<profile>
@ -463,7 +463,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/okhttp-gson/parcelableModel</module>
<module>../samples/client/petstore/java/okhttp-gson/parcelableModel</module>
</modules>
</profile>
<profile>
@ -475,7 +475,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit</module>
<module>../samples/client/petstore/java/retrofit</module>
</modules>
</profile>
<profile>
@ -487,7 +487,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2</module>
<module>../samples/client/petstore/java/retrofit2</module>
</modules>
</profile>
<profile>
@ -499,7 +499,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/retrofit2rx</module>
<module>../samples/client/petstore/java/retrofit2rx</module>
</modules>
</profile>
<profile>
@ -511,7 +511,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/java/feign</module>
<module>../samples/client/petstore/java/feign</module>
</modules>
</profile>
<profile>
@ -523,7 +523,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/javascript</module>
<module>../samples/client/petstore/javascript</module>
</modules>
</profile>
<profile>
@ -535,7 +535,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/scala</module>
<module>../samples/client/petstore/scala</module>
</modules>
</profile>
<profile>
@ -547,7 +547,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/java-msf4/</module>
<module>../samples/server/petstore/java-msf4/</module>
</modules>
</profile>
<profile>
@ -559,7 +559,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-cxf</module>
<module>../samples/server/petstore/jaxrs-cxf</module>
</modules>
</profile>
<profile>
@ -571,7 +571,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/default</module>
<module>../samples/server/petstore/jaxrs-resteasy/default</module>
</modules>
</profile>
<profile>
@ -583,7 +583,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/joda</module>
<module>../samples/server/petstore/jaxrs-resteasy/joda</module>
</modules>
</profile>
<profile>
@ -595,7 +595,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap</module>
<module>../samples/server/petstore/jaxrs-resteasy/eap</module>
</modules>
</profile>
<profile>
@ -607,7 +607,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs-resteasy/eap-joda</module>
<module>../samples/server/petstore/jaxrs-resteasy/eap-joda</module>
</modules>
</profile>
<profile>
@ -619,7 +619,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey2</module>
<module>../samples/server/petstore/jaxrs/jersey2</module>
</modules>
</profile>
<profile>
@ -631,7 +631,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/jaxrs/jersey1</module>
<module>../samples/server/petstore/jaxrs/jersey1</module>
</modules>
</profile>
<profile>
@ -643,7 +643,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/tests/default</module>
<module>../samples/client/petstore/typescript-fetch/tests/default</module>
</modules>
</profile>
<profile>
@ -655,7 +655,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/default</module>
<module>../samples/client/petstore/typescript-fetch/builds/default</module>
</modules>
</profile>
<profile>
@ -667,7 +667,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
<module>../samples/client/petstore/typescript-fetch/builds/es6-target</module>
</modules>
</profile>
<profile>
@ -679,7 +679,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
<module>../samples/client/petstore/typescript-fetch/builds/with-npm-version</module>
</modules>
</profile>
<profile>
@ -691,7 +691,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-angularjs/npm</module>
<module>../samples/client/petstore/typescript-angularjs/npm</module>
</modules>
</profile>
<profile>
@ -703,7 +703,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/typescript-node/npm</module>
<module>../samples/client/petstore/typescript-node/npm</module>
</modules>
</profile>
<profile>
@ -715,7 +715,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/python</module>
<module>../samples/client/petstore/python</module>
</modules>
</profile>
<profile>
@ -727,7 +727,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/ruby</module>
<module>../samples/client/petstore/ruby</module>
</modules>
</profile>
<profile>
@ -739,7 +739,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/go</module>
<module>../samples/client/petstore/go</module>
</modules>
</profile>
<profile>
@ -751,7 +751,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/spring-mvc</module>
<module>../samples/server/petstore/spring-mvc</module>
</modules>
</profile>
<profile>
@ -763,7 +763,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-beanvalidation</module>
<module>../samples/server/petstore/springboot-beanvalidation</module>
</modules>
</profile>
<profile>
@ -775,7 +775,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot-reactive</module>
<module>../samples/server/petstore/springboot-reactive</module>
</modules>
</profile>
<profile>
@ -787,7 +787,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/springboot</module>
<module>../samples/server/petstore/springboot</module>
</modules>
</profile>
<profile>
@ -799,7 +799,7 @@
</property>
</activation>
<modules>
<module>samples/client/petstore/spring-cloud</module>
<module>../samples/client/petstore/spring-cloud</module>
</modules>
</profile>
<profile>
@ -811,7 +811,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/scalatra</module>
<module>../samples/server/petstore/scalatra</module>
</modules>
</profile>
<profile>
@ -823,7 +823,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/java-inflector</module>
<module>../samples/server/petstore/java-inflector</module>
</modules>
</profile>
<profile>
@ -835,7 +835,7 @@
</property>
</activation>
<modules>
<module>samples/server/petstore/undertow</module>
<module>../samples/server/petstore/undertow</module>
</modules>
</profile>
<profile>
@ -848,19 +848,19 @@
</activation>
<modules>
<!-- clients -->
<module>samples/client/petstore/elixir</module>
<!--<module>samples/client/petstore/haskell-http-client</module>-->
<module>samples/client/petstore/erlang-client</module>
<module>../samples/client/petstore/elixir</module>
<!--<module>../samples/client/petstore/haskell-http-client</module>-->
<module>../samples/client/petstore/erlang-client</module>
<!-- servers -->
<module>samples/server/petstore/erlang-server</module>
<module>../samples/server/petstore/erlang-server</module>
</modules>
</profile>
</profiles>
<modules>
<module>modules/openapi-generator</module>
<module>modules/openapi-generator-cli</module>
<module>modules/openapi-generator-maven-plugin</module>
<module>modules/openapi-generator-online</module>
<module>../modules/openapi-generator</module>
<module>../modules/openapi-generator-cli</module>
<module>../modules/openapi-generator-maven-plugin</module>
<module>../modules/openapi-generator-online</module>
</modules>
<reporting>
<outputDirectory>target/site</outputDirectory>

30
bin/ensure-up-to-date Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
# this bash script run the scripts for the 'mature' generators
# it ensures that all changes are commited into the 'samples/' folder
echo "# START SCRIPT: $0"
echo "IMPORTANT: this script should be run by the CI (e.g. Shippable) to ensure that the 'samples/' folder is up to date."
echo "Please press CTRL+C to stop or the script will continue in 5 seconds."
sleep 5
# LIST OF SCRIPTS:
./bin/ruby-petstore.sh
./bin/java-petstore-all.sh
./bin/spring-all-pestore.sh
./bin/kotlin-client-petstore.sh
./bin/kotlin-client-string.sh
./bin/kotlin-client-threetenbp.sh
./bin/kotlin-server-petstore.sh
# Check:
if [ -n "$(git status --porcelain)" ]; then
echo "UNCOMMITTED CHANGES ERROR"
echo "There are uncommitted changes in working tree after execution of 'bin/ensure-up-to-date'"
git status
echo "Please run 'bin/ensure-up-to-date' locally and commit changes"
exit 1
else
echo "Git working tree is clean"
fi

View File

@ -63,6 +63,7 @@ Class | Method | HTTP request | Description
- [org.openapitools.client.models.ApiResponse](docs/ApiResponse.md)
- [org.openapitools.client.models.Category](docs/Category.md)
- [org.openapitools.client.models.Order](docs/Order.md)
- [org.openapitools.client.models.Pet](docs/Pet.md)
- [org.openapitools.client.models.Tag](docs/Tag.md)
- [org.openapitools.client.models.User](docs/User.md)

View File

@ -408,7 +408,7 @@ Name | Type | Description | Notes
**enum_query_string** | **String**| Query parameter enum test (string) | [optional] [default to &#39;-efg&#39;]
**enum_query_integer** | **Integer**| Query parameter enum test (double) | [optional]
**enum_query_double** | **Float**| Query parameter enum test (double) | [optional]
**enum_form_string_array** | **Array&lt;String&gt;**| Form parameter enum test (string array) | [optional] [default to &#39;$&#39;]
**enum_form_string_array** | [**Array&lt;String&gt;**](String.md)| Form parameter enum test (string array) | [optional] [default to &#39;$&#39;]
**enum_form_string** | **String**| Form parameter enum test (string) | [optional] [default to &#39;-efg&#39;]
### Return type

View File

@ -35,7 +35,7 @@ data class Order (
* Order Status
* Values: placed,approved,delivered
*/
enum class Status(val value: kotlin.Any){
enum class Status(val value: kotlin.String){
placed("placed"),

View File

@ -37,7 +37,7 @@ data class Pet (
* pet status in the store
* Values: available,pending,sold
*/
enum class Status(val value: kotlin.Any){
enum class Status(val value: kotlin.String){
available("available"),

View File

@ -10,6 +10,10 @@ build:
- $HOME/.stack
- $SHIPPABLE_REPO_DIR/samples/client/petstore/elixir/deps
ci:
- mvn --quiet clean install -f CI/pom.xml.shippable
# ensure all modifications created by 'mature' generators are in the git repo
- ./bin/ensure-up-to-date
# prepare enviroment for tests
- sudo apt-get update -qq
# install stack
- curl -sSL https://get.haskellstack.org/ | sh
@ -27,10 +31,6 @@ build:
- elixir --version
- mix --version
# test samples defined in pom.xml
- cp CI/pom.xml.shippable pom.xml
- mvn --quiet clean install
- mvn --quiet verify -P samples
# generate all petstore sampless (client, servers, doc)
- ./bin/run-all-petstore 2>&1 > run-all-petstore.log
post_ci:
- tail run-all-petstore.log
- mvn --quiet verify -P samples -f CI/pom.xml.shippable
# generate all petstore samples (client, servers, doc)
- ./bin/run-all-petstore