diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b0ba09e394f..e84227bd6b5 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,7 +2,8 @@
- [ ] Read the [contribution guidelines](https://github.com/swagger-api/swagger-codegen/blob/master/CONTRIBUTING.md).
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh` and `./bin/security/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`.
-- [ ] Filed the PR against the correct branch: master for non-breaking changes and `2.3.0` branch for breaking (non-backward compatible) changes.
+- [ ] Filed the PR against the correct branch: `3.0.0` branch for changes related to OpenAPI spec 3.0. Default: `master`.
+- [ ] Copied the [technical committee](https://github.com/swagger-api/swagger-codegen/#swagger-codegen-technical-committee) to review the pull request if your PR is targeting a particular programming language.
### Description of the PR
diff --git a/.gitignore b/.gitignore
index 0d24b8c983a..c31b8389c19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.vscode
*.iml
out/
*.ipr
@@ -73,6 +74,7 @@ samples/client/petstore/java/okhttp-gson/build/
samples/client/petstore/java/feign/build/
samples/client/petstore/java/retrofit/build/
samples/client/petstore/java/retrofit2/build/
+samples/client/petstore/java/retrofit2/hello.txt
samples/client/petstore/java/retrofit2rx/build/
samples/client/petstore/java/default/build/
samples/client/petstore/scala/build/
@@ -88,6 +90,11 @@ samples/client/petstore/silex/SwaggerServer/venodr/
**/vendor/
**/composer.lock
+#PHP-Symfony
+samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/cache/
+samples/server/petstore/php-symfony/SymfonyBundle-php/Tests/logs/
+
+
# Perl
samples/client/petstore/perl/deep_module_test/
@@ -158,7 +165,25 @@ samples/client/petstore/typescript-fetch/**/dist/
samples/client/petstore/typescript-fetch/**/typings
samples/client/petstore/typescript-angular2/npm/npm-debug.log
samples/client/petstore/typescript-node/npm/npm-debug.log
+samples/client/petstore/typescript-aurelia/**/dist/
+samples/client/petstore/typescript-angular/tsd-debug.log
# aspnetcore
samples/server/petstore/aspnetcore/.vs/
effective.pom
+# kotlin
+samples/client/petstore/kotlin/src/main/kotlin/test/
+\?
+
+# haskell
+.stack-work
+.cabal-sandbox
+cabal.project.local
+
+# R
+.Rproj.user
+
+# elixir
+samples/client/petstore/elixir/_build/
+samples/client/petstore/elixir/deps/
+samples/client/petstore/elixir/mix.lock
diff --git a/.java-version b/.java-version
new file mode 100644
index 00000000000..010303b83ba
--- /dev/null
+++ b/.java-version
@@ -0,0 +1 @@
+oracle64-1.8.0.152
diff --git a/.travis.yml b/.travis.yml
index 0657f524586..f396f23ccd4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,8 @@
sudo: required
-language: objective-c
-osx_image: xcode8.2
+language: java
+jdk:
+ - oraclejdk8
+
cache:
directories:
- $HOME/.m2
@@ -22,10 +24,9 @@ cache:
- $HOME/samples/client/petstore/typescript-fetch/npm/with-npm-version/typings
- $HOME/samples/client/petstore/typescript-angular/node_modules
- $HOME/samples/client/petstore/typescript-angular/typings
- - $HOME/.cocoapods/repos/master
-# note: docker is not yet supported in iOS build
-#services:
-# - docker
+
+services:
+ - docker
# comment out the host table change to use the public petstore server
addons:
@@ -33,55 +34,38 @@ addons:
- petstore.swagger.io
before_install:
- - export SW=`pwd`
- - rvm list
- - rvm use 2.2.5
- - gem environment
- - gem install bundler -N --no-ri --no-rdoc
- - gem install cocoapods -v 1.2.1 -N --no-ri --no-rdoc
- - gem install xcpretty -N --no-ri --no-rdoc
- - pod --version
- # comment out below to avoid errors
- #- pod repo update
- - pod setup --silent > /dev/null
+ # required when sudo: required for the Ruby petstore tests
+ - gem install bundler
- npm install -g typescript
+ - npm install -g npm
- npm config set registry http://registry.npmjs.org/
- - brew install sbt
- - brew install leiningen
- - brew install bats
- - brew install curl
- - brew install python3
- - pip install virtualenv
- # start local petstore server
- - git clone -b docker --single-branch https://github.com/wing328/swagger-samples
- - cd swagger-samples/java/java-jersey-jaxrs
- - sudo mvn jetty:run &
- - cd $SW
- # NOTE: iOS build not support docker at the moment
+ - sudo pip install virtualenv
# to run petstore server locally via docker
- #- docker pull swaggerapi/petstore
- #- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
- #- docker ps -a
+ - docker pull swaggerapi/petstore
+ - docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
+ - docker ps -a
+ # Add bats test framework and cURL for Bash script integration tests
+ - sudo add-apt-repository ppa:duggan/bats --yes
+ - sudo apt-get update -qq
+ - sudo apt-get install -qq bats
+ - sudo apt-get install -qq curl
+ # comment out below as installation failed in travis
# Add rebar3 build tool and recent Erlang/OTP for Erlang petstore server tests.
# - Travis CI does not support rebar3 [yet](https://github.com/travis-ci/travis-ci/issues/6506#issuecomment-275189490).
# - Rely on `kerl` for [pre-compiled versions available](https://docs.travis-ci.com/user/languages/erlang#Choosing-OTP-releases-to-test-against). Rely on installation path chosen by [`travis-erlang-builder`](https://github.com/travis-ci/travis-erlang-builder/blob/e6d016b1a91ca7ecac5a5a46395bde917ea13d36/bin/compile#L18).
+ # - . ~/otp/18.2.1/activate && erl -version
+ #- curl -f -L -o ./rebar3 https://s3.amazonaws.com/rebar3/rebar3 && chmod +x ./rebar3 && ./rebar3 version && export PATH="${TRAVIS_BUILD_DIR}:$PATH"
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
# show java version
- java -version
- # show brew version
- - brew --version
- # show xcpretty version
- - xcpretty -v
- # show go version
- - go version
install:
# Add Godeps dependencies to GOPATH and PATH
- - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)"
- - export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace"
- - export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$PATH"
+ - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)"
+ - export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace"
+ - export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$PATH"
script:
# fail fast
@@ -94,17 +78,18 @@ script:
- /bin/bash ./bin/utils/detect_tab_in_java_class.sh
# run integration tests defined in maven pom.xml
- mvn -q --batch-mode verify -Psamples
-### docker-related tasks have been moved to CircleCI
+ # Below has been moved to CircleCI
# docker: build generator image and push to Docker Hub
#- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/swagger-generator && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME; fi; fi
## docker: build cli image and push to Docker Hub
#- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/swagger-codegen-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME; fi; fi
-#env:
-# - DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli
after_success:
# push a snapshot version to maven repo
- if [ $SONATYPE_USERNAME ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_BRANCH" = "master" ]; then
mvn clean deploy --settings .travis/settings.xml;
- echo "Finished mvn clean deploy";
+ echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
fi;
+
+env:
+ - DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli
diff --git a/.travis.yml.bash b/.travis.yml.bash
new file mode 100644
index 00000000000..f224cac3958
--- /dev/null
+++ b/.travis.yml.bash
@@ -0,0 +1,37 @@
+sudo: required
+language: java
+jdk:
+ - openjdk8
+
+cache:
+ directories:
+ - $HOME/.m2
+ - $HOME/.ivy2
+
+services:
+ - docker
+
+addons:
+ hosts:
+ - petstore.swagger.io
+
+before_install:
+ # to run petstore server locally via docker
+ - docker pull swaggerapi/petstore
+ - docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
+ - docker ps -a
+ # Add bats test framework and cURL for Bash script integration tests
+ - sudo add-apt-repository ppa:duggan/bats --yes
+ - sudo apt-get update -qq
+ - sudo apt-get install -qq bats
+ - sudo apt-get install -qq curl
+
+ # show host table to confirm petstore.swagger.io is mapped to localhost
+ - cat /etc/hosts
+
+script:
+ # fail fast
+ - set -e
+ # run integration tests defined in maven pom.xml
+ - cp pom.xml.bash pom.xml
+ - mvn --batch-mode verify -Psamples
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 970257aba6a..ab603bb2316 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -35,6 +35,7 @@ For a list of variables available in the template, please refer to this [page](h
### Style guide
Code change should conform to the programming style guide of the respective languages:
+- Ada: https://en.wikibooks.org/wiki/Ada_Style_Guide/Source_Code_Presentation
- Android: https://source.android.com/source/code-style.html
- Bash: https://github.com/bahamas10/bash-style-guide
- C#: https://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx
@@ -42,19 +43,23 @@ Code change should conform to the programming style guide of the respective lang
- C++ (Tizen): https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide#C.2B.2B_Coding_Style
- Clojure: https://github.com/bbatsov/clojure-style-guide
- Elixir: https://github.com/christopheradams/elixir_style_guide
+- Eiffel: https://www.eiffel.org/doc/eiffel/Coding%20Standards
- Erlang: https://github.com/inaka/erlang_guidelines
- Haskell: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
- Java: https://google.github.io/styleguide/javaguide.html
- JavaScript: https://github.com/airbnb/javascript/
+- Kotlin: https://kotlinlang.org/docs/reference/coding-conventions.html
- Groovy: http://groovy-lang.org/style-guide.html
- Go: https://github.com/golang/go/wiki/CodeReviewComments
- ObjC: https://github.com/NYTimes/objective-c-style-guide
- Perl: http://perldoc.perl.org/perlstyle.html
- PHP: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
+- PowerShell: https://msdn.microsoft.com/en-us/library/dd878270(v=vs.85).aspx
- Python: https://www.python.org/dev/peps/pep-0008/
+- R: https://google.github.io/styleguide/Rguide.xml
- Ruby: https://github.com/bbatsov/ruby-style-guide
- Scala: http://docs.scala-lang.org/style/
-- Swift: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html
+- Swift: [Apple Developer](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html)
- TypeScript: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
For other languages, feel free to suggest.
@@ -87,3 +92,4 @@ To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all t
- File a PR with meaningful title, description and commit messages. A good example is [PR-3306](https://github.com/swagger-api/swagger-codegen/pull/3306)
- Recommended git settings
- `git config --global core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
+- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
diff --git a/Dockerfile b/Dockerfile
index ec291fef4af..0e32bf8ae55 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,22 +1,31 @@
FROM jimschubert/8-jdk-alpine-mvn:1.0
-ENV GEN_DIR /opt/swagger-codegen
-
RUN set -x && \
apk add --no-cache bash
-RUN mkdir /opt
+ENV GEN_DIR /opt/swagger-codegen
+WORKDIR ${GEN_DIR}
+VOLUME ${MAVEN_HOME}/.m2/repository
-ADD . ${GEN_DIR}
+# Required from a licensing standpoint
+COPY ./LICENSE ${GEN_DIR}
-VOLUME ${MAVEN_HOME}/.m2/repository
+# Required to compile swagger-codegen
+COPY ./google_checkstyle.xml ${GEN_DIR}
-WORKDIR ${GEN_DIR}
+# Modules are copied individually here to allow for caching of docker layers between major.minor versions
+# NOTE: swagger-generator is not included here, it is available as swaggerapi/swagger-generator
+COPY ./modules/swagger-codegen-maven-plugin ${GEN_DIR}/modules/swagger-codegen-maven-plugin
+COPY ./modules/swagger-codegen-cli ${GEN_DIR}/modules/swagger-codegen-cli
+COPY ./modules/swagger-codegen ${GEN_DIR}/modules/swagger-codegen
+COPY ./pom.xml ${GEN_DIR}
+# Pre-compile swagger-codegen-cli
RUN mvn -am -pl "modules/swagger-codegen-cli" package
+# This exists at the end of the file to benefit from cached layers when modifying docker-entrypoint.sh.
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
-CMD ["build"]
+CMD ["help"]
diff --git a/README.md b/README.md
index 74249ca6a21..90d496b155a 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,19 @@
# Swagger Code Generator
-- Master: [](https://travis-ci.org/swagger-api/swagger-codegen)
+- Master (2.3.0): [](https://travis-ci.org/swagger-api/swagger-codegen)
[](https://app.shippable.com/projects/5782588a3be4f4faa56c5bea)
[](https://ci.appveyor.com/project/WilliamCheng/swagger-codegen-wh2wu)
[](https://circleci.com/gh/swagger-api/swagger-codegen)
-- 2.3.0: [](https://travis-ci.org/swagger-api/swagger-codegen)
-[](https://app.shippable.com/projects/5782588a3be4f4faa56c5bea)
-[](https://ci.appveyor.com/project/WilliamCheng/swagger-codegen-wh2wu)
-[](https://circleci.com/gh/swagger-api/swagger-codegen)
+- 3.0.0: [](https://travis-ci.org/swagger-api/swagger-codegen)
+[](https://app.shippable.com/projects/5782588a3be4f4faa56c5bea)
+[](https://ci.appveyor.com/project/WilliamCheng/swagger-codegen-wh2wu)
+[](https://circleci.com/gh/swagger-api/swagger-codegen)
[](https://maven-badges.herokuapp.com/maven-central/io.swagger/swagger-codegen-project)
[](http://issuestats.com/github/swagger-api/swagger-codegen) [](http://issuestats.com/github/swagger-api/swagger-codegen)
-:star::star::star: If you would like to contribute, please refer to [guidelines](https://github.com/swagger-api/swagger-codegen/blob/master/CONTRIBUTING.md) and a list of [open tasks](https://github.com/swagger-api/swagger-codegen/issues?q=is%3Aopen+is%3Aissue+label%3A%22Need+community+contribution%22).:star::star::star:
+:star::star::star: If you would like to contribute, please refer to [guidelines](https://github.com/swagger-api/swagger-codegen/blob/master/CONTRIBUTING.md) and a list of [open tasks](https://github.com/swagger-api/swagger-codegen/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
:notebook_with_decorative_cover: For more information, please refer to the [Wiki page](https://github.com/swagger-api/swagger-codegen/wiki) and [FAQ](https://github.com/swagger-api/swagger-codegen/wiki/FAQ) :notebook_with_decorative_cover:
@@ -24,8 +24,8 @@
## Overview
This is the swagger codegen project, which allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification). Currently, the following languages/frameworks are supported:
-- **API clients**: **ActionScript**, **Apex**, **Bash**, **C#** (.net 2.0, 4.0 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart**, **Elixir**, **Eiffel**, **Go**, **Groovy**, **Haskell**, **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy), **Kotlin**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **Ruby**, **Scala**, **Swift** (2.x, 3.x, 4.x), **Typescript** (Angular1.x, Angular2.x, Fetch, jQuery, Node)
-- **Server stubs**: **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go**, **Haskell**, **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework), **PHP** (Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Scala** ([Finch](https://github.com/finagle/finch), Scalatra)
+- **API clients**: **ActionScript**, **Ada**, **Apex**, **Bash**, **C#** (.net 2.0, 3.5 or later), **C++** (cpprest, Qt5, Tizen), **Clojure**, **Dart**, **Elixir**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java), **Kotlin**, **Lua**, **Node.js** (ES5, ES6, AngularJS with Google Closure Compiler annotations) **Objective-C**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust**, **Scala** (akka, http4s, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x), **Typescript** (Angular1.x, Angular2.x, Fetch, jQuery, Node)
+- **Server stubs**: **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed), **Erlang**, **Go**, **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, RestEasy, Play Framework), **PHP** (Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust**, **Scala** ([Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), Scalatra)
- **API documentation generators**: **HTML**, **Confluence Wiki**
- **Configuration files**: [**Apache2**](https://httpd.apache.org/)
- **Others**: **JMeter**
@@ -43,7 +43,7 @@ Check out [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) for addit
- [OS X Users](#os-x-users)
- [Building](#building)
- [Docker](#docker)
- - [Build and run](#build-and-run-using-docker)
+ - [Development in Docker](#development-in-docker)
- [Run docker in Vagrant](#run-docker-in-vagrant)
- [Public Docker image](#public-docker-image)
- [Homebrew](#homebrew)
@@ -62,13 +62,15 @@ Check out [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) for addit
- [To build a server stub](#to-build-a-server-stub)
- [To build the codegen library](#to-build-the-codegen-library)
- [Workflow Integration](#workflow-integration)
+ - [Maven Integration](#maven-integration)
+ - [Gradle Integration](#gradle-integration)
- [Github Integration](#github-integration)
- [Online Generators](#online-generators)
- [Guidelines for Contribution](https://github.com/swagger-api/swagger-codegen/wiki/Guidelines-for-Contribution)
- [Companies/Projects using Swagger Codegen](#companiesprojects-using-swagger-codegen)
- [Presentations/Videos/Tutorials/Books](#presentationsvideostutorialsbooks)
- [Swagger Codegen Core Team](#swagger-codegen-core-team)
- - [Swagger Codegen Evangelist](#swagger-codegen-evangelist)
+ - [Swagger Codegen Technical Committee](#swagger-codegen-technical-committee)
- [License](#license)
@@ -77,26 +79,29 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
Swagger Codegen Version | Release Date | OpenAPI Spec compatibility | Notes
-------------------------- | ------------ | -------------------------- | -----
-2.3.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-cli/2.3.0-SNAPSHOT/)| Jul/Aug 2017 | 1.0, 1.1, 1.2, 2.0 | Minor release with breaking changes
-[2.2.3](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.2) (**current stable**) | 2017-07-15 | 1.0, 1.1, 1.2, 2.0 | [tag v2.2.2](https://github.com/swagger-api/swagger-codegen/tree/v2.2.3)
+3.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-cli/3.0.0-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Major release with breaking changes
+2.3.0 (current master, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-cli/2.3.0-SNAPSHOT/)| Jul/Aug 2017 | 1.0, 1.1, 1.2, 2.0 | Minor release with breaking changes
+[2.2.3](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.3) (**current stable**) | 2017-07-15 | 1.0, 1.1, 1.2, 2.0 | [tag v2.2.3](https://github.com/swagger-api/swagger-codegen/tree/v2.2.3)
[2.2.2](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.2) | 2017-03-01 | 1.0, 1.1, 1.2, 2.0 | [tag v2.2.2](https://github.com/swagger-api/swagger-codegen/tree/v2.2.2)
[2.2.1](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.2.1) | 2016-08-07 | 1.0, 1.1, 1.2, 2.0 | [tag v2.2.1](https://github.com/swagger-api/swagger-codegen/tree/v2.2.1)
[2.1.6](https://github.com/swagger-api/swagger-codegen/releases/tag/v2.1.6) | 2016-04-06 | 1.0, 1.1, 1.2, 2.0 | [tag v2.1.6](https://github.com/swagger-api/swagger-codegen/tree/v2.1.6)
-2.0.17 | 2014-08-22 | 1.1, 1.2 | [tag v2.0.17](https://github.com/swagger-api/swagger-codegen/tree/v2.0.17)
+2.0.17 | 2014-08-22 | 1.1, 1.2 | [tag v2.0.17](https://github.com/swagger-api/swagger-codegen/tree/2.0.17)
1.0.4 | 2012-04-12 | 1.0, 1.1 | [tag v1.0.4](https://github.com/swagger-api/swagger-codegen/tree/swagger-codegen_2.9.1-1.1)
### Prerequisites
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 7 runtime at a minimum):
-```
-wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.2/swagger-codegen-cli-2.2.2.jar -O swagger-codegen-cli.jar
+```sh
+wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.3/swagger-codegen-cli-2.2.3.jar -O swagger-codegen-cli.jar
java -jar swagger-codegen-cli.jar help
```
+For Windows users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g. `Invoke-WebRequest -OutFile swagger-codegen-cli.jar http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.3/swagger-codegen-cli-2.2.3.jar`
+
On a mac, it's even easier with `brew`:
-```
+```sh
brew install swagger-codegen
```
@@ -110,7 +115,7 @@ To build from source, you need the following installed and available in your $PA
Don't forget to install Java 7 or 8. You probably have 1.6.
Export JAVA_HOME in order to use the supported Java version:
-```
+```sh
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=${JAVA_HOME}/bin:$PATH
```
@@ -118,7 +123,7 @@ export PATH=${JAVA_HOME}/bin:$PATH
### Building
After cloning the project, you can build it from source with this command:
-```
+```sh
mvn clean package
```
@@ -127,7 +132,7 @@ mvn clean package
To install, run `brew install swagger-codegen`
Here is an example usage:
-```
+```sh
swagger-codegen generate -i http://petstore.swagger.io/v2/swagger.json -l ruby -o /tmp/test/
```
@@ -140,7 +145,7 @@ in the docker container. It also maps `~/.m2/repository` to the appropriate cont
To execute `mvn package`:
-```
+```sh
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
./run-in-docker.sh mvn package
@@ -150,7 +155,7 @@ Build artifacts are now accessible in your working directory.
Once built, `run-in-docker.sh` will act as an executable for swagger-codegen-cli. To generate code, you'll need to output to a directory under `/gen` (e.g. `/gen/out`). For example:
-```
+```sh
./run-in-docker.sh help # Executes 'help' command for swagger-codegen-cli
./run-in-docker.sh langs # Executes 'langs' command for swagger-codegen-cli
./run-in-docker.sh /gen/bin/go-petstore.sh # Builds the Go client
@@ -160,7 +165,7 @@ Once built, `run-in-docker.sh` will act as an executable for swagger-codegen-cli
#### Run Docker in Vagrant
Prerequisite: install [Vagrant](https://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
- ```
+ ```sh
git clone http://github.com/swagger-api/swagger-codegen.git
cd swagger-codegen
vagrant up
@@ -181,7 +186,7 @@ The Swagger Generator image can act as a self-hosted web application and API for
Example usage (note this assumes `jq` is installed for command line processing of JSON):
-```
+```sh
# Start container and save the container id
CID=$(docker run -d swaggerapi/swagger-generator)
# allow for startup
@@ -208,7 +213,7 @@ To generate code with this image, you'll need to mount a local location as a vol
Example:
-```
+```sh
docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l go \
@@ -231,7 +236,7 @@ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
```
(if you're on Windows, replace the last command with `java -jar modules\swagger-codegen-cli\target\swagger-codegen-cli.jar generate -i http://petstore.swagger.io/v2/swagger.json -l php -o c:\temp\php_api_client`)
-You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.2/swagger-codegen-cli-2.2.2.jar)
+You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.3/swagger-codegen-cli-2.2.3.jar)
To get a list of **general** options available, please run `java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar help generate`
@@ -242,7 +247,7 @@ To get a list of PHP specified options (which can be passed to the generator wit
### To generate a sample client library
You can build a client against the swagger sample [petstore](http://petstore.swagger.io) API as follows:
-```
+```sh
./bin/java-petstore.sh
```
@@ -250,7 +255,7 @@ You can build a client against the swagger sample [petstore](http://petstore.swa
This will run the generator with this command:
-```
+```sh
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l java \
@@ -305,13 +310,13 @@ OPTIONS
You can then compile and run the client, as well as unit tests against it:
-```
+```sh
cd samples/client/petstore/java
mvn package
```
Other languages have petstore samples, too:
-```
+```sh
./bin/android-petstore.sh
./bin/java-petstore.sh
./bin/objc-petstore.sh
@@ -328,7 +333,7 @@ You can look at `modules/swagger-codegen/src/main/resources/${your-language}` fo
### Making your own codegen modules
If you're starting a project with a new language and don't see what you need, swagger-codegen can help you create a project to generate your own libraries:
-```
+```sh
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen
```
@@ -337,7 +342,7 @@ This will write, in the folder `output/myLibrary`, all the files you need to get
You would then compile your library in the `output/myLibrary` folder with `mvn package` and execute the codegen like such:
-```
+```sh
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.SwaggerCodegen
```
For Windows users, you will need to use `;` instead of `:` in the classpath, e.g.
@@ -347,7 +352,7 @@ java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar;modul
Note the `myClientCodegen` is an option now, and you can use the usual arguments for generating your library:
-```
+```sh
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \
io.swagger.codegen.SwaggerCodegen generate -l myClientCodegen\
-i http://petstore.swagger.io/v2/swagger.json \
@@ -376,7 +381,7 @@ You may not want to generate *all* models in your project. Likewise you may wan
The default is generate *everything* supported by the specific library. Once you enable a feature, it will restrict the contents generated:
-```
+```sh
# generate only models
java -Dmodels {opts}
@@ -391,7 +396,7 @@ java -Dmodels -DsupportingFiles
```
To control the specific files being generated, you can pass a CSV list of what you want:
-```
+```sh
# generate the User and Pet models only
-Dmodels=User,Pet
@@ -402,7 +407,7 @@ To control the specific files being generated, you can pass a CSV list of what y
To control generation of docs and tests for api and models, pass false to the option. For api, these options are `-DapiTests=false` and `-DapiDocs=false`. For models, `-DmodelTests=false` and `-DmodelDocs=false`.
These options default to true and don't limit the generation of the feature options listed above (like `-Dapi`):
-```
+```sh
# generate only models (with tests and documentation)
java -Dmodels {opts}
@@ -429,7 +434,7 @@ The ignore file allows for better control over overwriting existing files than t
Examples:
-```
+```sh
# Swagger Codegen Ignore
# Lines beginning with a # are comments
@@ -459,11 +464,15 @@ src/IO.Swagger.Test/Model/AnimalFarmTests.cs
The `.swagger-codegen-ignore` file must exist in the root of the output directory.
+Upon first code generation, you may also pass the CLI option `--ignore-file-override=/path/to/ignore_file` for greater control over generated outputs. Note that this is a complete override, and will override the `.swagger-codegen-ignore` file in an output directory when regenerating code.
+
+Editor support for `.swagger-codegen-ignore` files is available in IntelliJ via the [.ignore plugin](https://plugins.jetbrains.com/plugin/7495--ignore).
+
### Customizing the generator
There are different aspects of customizing the code generator beyond just creating or modifying templates. Each language has a supporting configuration file to handle different type mappings, etc:
-```
+```sh
$ ls -1 modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/
AbstractJavaJAXRSServerCodegen.java
AbstractTypeScriptClientCodegen.java
@@ -474,7 +483,7 @@ TypeScriptNodeClientCodegen.java
Each of these files creates reasonable defaults so you can get running quickly. But if you want to configure package names, prefixes, model folders, etc. you can use a json config file to pass the values.
-```
+```sh
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l java \
@@ -482,7 +491,7 @@ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-c path/to/config.json
```
and `config.json` contains the following as an example:
-```
+```json
{
"apiPackage" : "petstore"
}
@@ -491,7 +500,7 @@ and `config.json` contains the following as an example:
Supported config options can be different per language. Running `config-help -l {lang}` will show available options.
**These options are applied via configuration file (e.g. config.json) or by passing them with `-D{optionName}={optionValue}`**. (If `-D{optionName}` does not work, please open a [ticket](https://github.com/swagger-api/swagger-codegen/issues/new) and we'll look into it)
-```
+```sh
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l java
```
@@ -513,6 +522,7 @@ CONFIG OPTIONS
okhttp-gson (default) - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1
retrofit - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1 (Retrofit 1.9.0)
retrofit2 - HTTP client: OkHttp 2.5.0. JSON processing: Gson 2.4 (Retrofit 2.0.0-beta2)
+ google-api-client - HTTP client: google-api-client 1.23.0. JSON processing: Jackson 2.8.9
```
Your config file for Java can look like
@@ -584,7 +594,7 @@ http://online.swagger.io/validator/debug?url=http://petstore.swagger.io/v2/swagg
To do so, just use the `-l dynamic-html` flag when reading a spec file. This creates HTML documentation that is available as a single-page application with AJAX. To view the documentation:
-```
+```sh
cd samples/dynamic-html/
npm install
node .
@@ -597,7 +607,7 @@ Which launches a node.js server so the AJAX calls have a place to go.
To do so, just use the `-l html` flag when reading a spec file. This creates a single, simple HTML file with embedded css so you can ship it as an email attachment, or load it from your filesystem:
-```
+```sh
cd samples/html/
open index.html
```
@@ -611,16 +621,22 @@ Please refer to https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-
This will create the swagger-codegen library from source.
-```
+```sh
mvn package
```
Note! The templates are included in the library generated. If you want to modify the templates, you'll need to either repackage the library OR specify a path to your scripts
-## Workflow integration
+## Workflow Integration
+
+### Maven Integration
You can use the [swagger-codegen-maven-plugin](modules/swagger-codegen-maven-plugin/README.md) for integrating with your workflow, and generating any codegen target.
+### Gradle Integration
+
+[Gradle Swagger Generator Plugin](https://github.com/int128/gradle-swagger-generator-plugin) is available for generating source code and API document.
+
## GitHub Integration
To push the auto-generated SDK to GitHub, we provide `git_push.sh` to streamline the process. For example:
@@ -628,7 +644,7 @@ To push the auto-generated SDK to GitHub, we provide `git_push.sh` to streamline
1) Create a new repository in GitHub (Ref: https://help.github.com/articles/creating-a-new-repository/)
2) Generate the SDK
-```
+```sh
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l perl \
--git-user-id "wing328" \
@@ -637,7 +653,7 @@ To push the auto-generated SDK to GitHub, we provide `git_push.sh` to streamline
-o /var/tmp/perl/petstore
```
3) Push the SDK to GitHub
-```
+```sh
cd /var/tmp/perl/petstore
/bin/sh ./git_push.sh
```
@@ -647,13 +663,13 @@ cd /var/tmp/perl/petstore
One can also generate API client or server using the online generators (https://generator.swagger.io)
For example, to generate Ruby API client, simply send the following HTTP request using curl:
-```
+```sh
curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"http://petstore.swagger.io/v2/swagger.json"}' https://generator.swagger.io/api/gen/clients/ruby
```
Then you will receieve a JSON response with the URL to download the zipped code.
To customize the SDK, you can `POST` to `https://generator.swagger.io/gen/clients/{language}` with the following HTTP body:
-```
+```json
{
"options": {},
"swaggerUrl": "http://petstore.swagger.io/v2/swagger.json"
@@ -662,7 +678,7 @@ To customize the SDK, you can `POST` to `https://generator.swagger.io/gen/client
in which the `options` for a language can be obtained by submitting a `GET` request to `https://generator.swagger.io/api/gen/clients/{language}`:
For example, `curl https://generator.swagger.io/api/gen/clients/python` returns
-```
+```json
{
"packageName":{
"opt":"packageName",
@@ -685,7 +701,7 @@ For example, `curl https://generator.swagger.io/api/gen/clients/python` returns
}
```
To set package name to `pet_store`, the HTTP body of the request is as follows:
-```
+```json
{
"options": {
"packageName": "pet_store"
@@ -694,12 +710,12 @@ To set package name to `pet_store`, the HTTP body of the request is as follows:
}
```
and here is the curl command:
-```
+```sh
curl -H "Content-type: application/json" -X POST -d '{"options": {"packageName": "pet_store"},"swaggerUrl": "http://petstore.swagger.io/v2/swagger.json"}' https://generator.swagger.io/api/gen/clients/python
```
Instead of using `swaggerUrl` with an URL to the OpenAPI/Swagger spec, one can include the spec in the JSON payload with `spec`, e.g.
-```
+```json
{
"options": {},
"spec": {
@@ -721,6 +737,7 @@ Please refer to this [page](https://github.com/swagger-api/swagger-codegen/blob/
Companies/Projects using Swagger Codegen
----------------------------------------
Here are some companies/projects using Swagger Codegen in production. To add your company/project to the list, please visit [README.md](https://github.com/swagger-api/swagger-codegen/blob/master/README.md) and click on the icon to edit the page.
+- [Accengage](https://www.accengage.com/)
- [Activehours](https://www.activehours.com/)
- [Acunetix](https://www.acunetix.com/)
- [Atlassian](https://www.atlassian.com/)
@@ -735,8 +752,9 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [Bufferfly Network](https://www.butterflynetinc.com/)
- [Cachet Financial](http://www.cachetfinancial.com/)
- [carpolo](http://www.carpolo.co/)
-- [CloudBoost](https://www.CloudBoost.io/)
- [Cisco](http://www.cisco.com/)
+- [CloudBoost](https://www.CloudBoost.io/)
+- [Cloudsmith](https://cloudsmith.io/)
- [Conplement](http://www.conplement.de/)
- [Cummins](http://www.cummins.com/)
- [Cupix](http://www.cupix.com)
@@ -744,20 +762,25 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [DecentFoX](http://decentfox.com/)
- [DocRaptor](https://docraptor.com)
- [DocuSign](https://www.docusign.com)
+- [Elastic](https://www.elastic.co/)
- [Ergon](http://www.ergon.ch/)
- [Dell EMC](https://www.emc.com/)
- [eureka](http://eure.jp/)
- [everystory.us](http://everystory.us)
- [Expected Behavior](http://www.expectedbehavior.com/)
- [Fastly](https://www.fastly.com/)
+- [FINRA](https://github.com/FINRAOS/herd/)
- [Flat](https://flat.io)
- [Finder](http://en.finder.pl/)
+- [Fitwell](https://fitwell.co/)
- [FH Münster - University of Applied Sciences](http://www.fh-muenster.de)
- [Fotition](https://www.fotition.com/)
- [Gear Zero Network](https://www.gearzero.ca)
- [General Electric](https://www.ge.com/)
+- [Genesys - PureCloud](http://developer.mypurecloud.com/)
- [Germin8](http://www.germin8.com)
- [GigaSpaces](http://www.gigaspaces.com)
+- [GMO Pepabo](https://pepabo.com/en/)
- [goTransverse](http://www.gotransverse.com/api)
- [GraphHopper](https://graphhopper.com/)
- [Gravitate Solutions](http://gravitatesolutions.com/)
@@ -768,7 +791,6 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [IMS Health](http://www.imshealth.com/en/solution-areas/technology-and-applications)
- [Individual Standard IVS](http://www.individual-standard.com)
- [Intent HQ](http://www.intenthq.com)
-- [Interactive Intelligence](http://developer.mypurecloud.com/)
- [Kabuku](http://www.kabuku.co.jp/en)
- [Kurio](https://kurio.co.id)
- [Kuroi](http://kuroiwebdesign.com/)
@@ -782,12 +804,15 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [LXL Tech](http://lxltech.com)
- [Lyft](https://www.lyft.com/developers)
- [MailMojo](https://mailmojo.no/)
+- [Metaswitch](https://www.metaswitch.com/)
- [Mindera](http://mindera.com/)
- [Mporium](http://mporium.com/)
- [Neverfail](https://neverfail.com/)
+- [NTT DATA](http://www.nttdata.com/)
- [nViso](http://www.nviso.ch/)
- [Okiok](https://www.okiok.com)
- [Onedata](http://onedata.org)
+- [Open International Systems](https://openintl.com/)
- [OrderCloud.io](http://ordercloud.io)
- [OSDN](https://osdn.jp)
- [PagerDuty](https://www.pagerduty.com)
@@ -802,6 +827,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [QuantiModo](https://quantimo.do/)
- [QuickBlox](https://quickblox.com/)
- [Rapid7](https://rapid7.com/)
+- [Red Hat](https://www.redhat.com/)
- [Reload! A/S](https://reload.dk/)
- [REstore](https://www.restore.eu)
- [Revault Sàrl](http://revault.ch)
@@ -825,6 +851,7 @@ Here are some companies/projects using Swagger Codegen in production. To add you
- [Svenska Spel AB](https://www.svenskaspel.se/)
- [Switch Database](https://www.switchdatabase.com/)
- [TaskData](http://www.taskdata.com/)
+- [ThirdWatch.ai](https://www.thirdwatch.ai/)
- [ThoughtWorks](https://www.thoughtworks.com)
- [Trexle](https://trexle.com/)
- [Upwork](http://upwork.com/)
@@ -843,6 +870,9 @@ Here are some companies/projects using Swagger Codegen in production. To add you
Presentations/Videos/Tutorials/Books
----------------------------------------
+- 2011/08/31 - [Introducing Swagger](https://www.slideshare.net/fehguy/introducing-swagger) by [Tony Tam](https://twitter.com/fehguy)
+- 2014/05/22 - [Swagger APIs for Humans and Robots](https://www.slideshare.net/fehguy/swagger-apis-for-humans-and-robots-gluecon) by [Tony Tam](https://twitter.com/fehguy) at [Gluecon](http://gluecon.com/)
+- 2014/11/11 - [Genie 2.0: Second Wish Granted!](https://medium.com/netflix-techblog/genie-2-0-second-wish-granted-d888d79455c6) by [Tom Gianos](http://www.linkedin.com/in/thomasgianos/) and [Amit Sharma](https://www.linkedin.com/pub/amit-sharma/5/163/a83) @ [Netflix](https://www.netflix.com/) Big Data Platform Team
- 2015/07/28 - [Enriching RESTful Services with Swagger](https://blog.philipphauer.de/enriching-restful-services-swagger/) by [Philipp Hauer](https://blog.philipphauer.de/)
- 2015/11/11 - [Generate client stubs & document your REST-API using Swagger & Spring](https://www.youtube.com/watch?v=43GhBbP--oI) by [Johannes Fiala](https://github.com/jfiala) @ Devoxx Belgium 2015
- 2015/12/03 - [こんなに簡単! Swagger Codegenのカスタマイズ](http://qiita.com/Quramy/items/c583f3213f0b77ff1bac) by [Quramy](http://qiita.com/Quramy)
@@ -850,16 +880,45 @@ Presentations/Videos/Tutorials/Books
- 2016/01/15 - [How to end manual REST-API client coding](https://www.youtube.com/watch?v=RzZRdqZp6Oo) by [Johannes Fiala](https://github.com/jfiala) @ dotJS 2015
- 2016/04/27 - [Automated REST API Development](https://yos.io/2016/04/27/automated-api-development/) by [Yos Riady](https://www.linkedin.com/in/yosriady)
- 2016/05/29 - [Generating Java Spring-MVC code from Swagger Spec](https://www.clianz.com/2016/05/29/java-mvc-swagger-gen/) by [@icha024](https://github.com/icha024)
+- 2016/08/23 - [Generating Dreamfactory Client SDKs based on Swagger API Definitions](http://blog.dreamfactory.com/generating-dreamfactory-client-sdks-based-on-swagger-api-definitions) by [Phil Schuler](https://github.com/philicious/)
+- 2016/09/28 - [1 UNBELIEVABLE TRICK TO CREATE AN EASY TO CONSUME API IN .NET](https://stapp.space/1-simple-trick-to-create-a-good-api-in-net/) by [Piotr Stapp](https://stapp.space/author/piotr-stapp/)
+- 2016/10/10 - [Using swagger-codegen with Marketo](http://developers.marketo.com/blog/using-swagger-codegen-with-marketo/) by [Kenny Elkington](http://developers.marketo.com/blog/using-swagger-codegen-with-marketo/)
+- 2016/10/12 - [Designing a Swagger API](https://sookocheff.com/post/api/swagger/) by [Kevin Sookocheff](https://sookocheff.com/)
- 2016/11/05 - [How to generate a REST Application](https://www.youtube.com/watch?v=iyC9BWMe75Q) by [Johannes Fiala](https://github.com/jfiala) @ DevFest Vienna 2016
-- 2016/11/10 - [Building an AEM API clients ecosystem](http://blog.cliffano.com/2016/11/10/adobe-marketing-cloud-community-expo/) by Cliffano Subagio, Michael Diender, Stephen Shim from Shine Solutions @ [Adobe Marketing Cloud Community Expo (AMCCE)](https://www.meetup.com/Melbourne-AEM-CQ-Meetup/events/233363101/)
+- 2016/11/10 - [Building an AEM API clients ecosystem](http://blog.cliffano.com/2016/11/10/adobe-marketing-cloud-community-expo/) by Cliffano Subagio, Michael Diender, Stephen Shim from [Shine Solutions](https://shinesolutions.com/) @ [Adobe Marketing Cloud Community Expo (AMCCE)](https://www.meetup.com/Melbourne-AEM-CQ-Meetup/events/233363101/)
- 2016/11/18 - [How to generate a REST CXF3 application from Swagger-Contract](https://www.slideshare.net/johannes_fiala/how-to-generate-a-rest-cxf3-application-from-swagger-apacheconeu-2016) by [Johannes Fiala](https://github.com/jfiala) @ ApacheConEU 2016
- 2016/11/25 - [Swagger Codegen for Swift3 and NodeJS](https://normand1.github.io/blog/swift/swagger/codegen/2016/11/25/Swagger-Codegen-for-Swift3-and-NodeJS.html) by [David Norman](https://github.com/normand1)
+- 2016/12/08 - [Generate client side code using Swagger Codegen](https://carra-lucia-ltd.co.uk/2016/12/08/generate-client-side-code-using-swagger-codegen/) by [theFerkel](https://carra-lucia-ltd.co.uk/author/theferkel/)
+- 2017/01/16 - [Zero to API in 4 minutes](https://cidrblock.github.io/zero-to-api-in-4-minutes.html) by [Bradley A. Thornton](https://github.com/cidrblock)
+- 2017/02/09 - [「Swaggerを利用した新規サービス開発」というタイトルで登壇して来ました](https://techblog.recochoku.jp/1055) by [recotech](https://www.slideshare.net/recotech)
- 2017/03/03 - [Swagger Codegen の使い方の簡単な説明です](https://speakerdeck.com/wagyu298/swagger-codegen) by [wagyu298](https://github.com/wagyu298)
- 2017/03/24 - [Using Open API Specification To Put Lyft SDK Support in the Fast Lane](https://medium.com/lyft-developer-platform/using-open-api-specification-to-put-lyft-sdk-support-in-the-fast-lane-7b623218e4ee) by [Val Polouchkine](https://github.com/vpolouchkine)
+- 2017/04/13 - [Automatically Generating your API Client with Swagger and Swagger Codegen](https://www.youtube.com/watch?v=EzKwi-u9jQo) by [Jesse Collis](https://github.com/jessedc) @ Melbourne Cocoaheads
- 2017/04/27 - [Swagger Codegen のPHP実装があまりにアレだったので、ライブラリ自作して公開してみた](http://qiita.com/imunew/items/2e9c472e0097e329f2cd) by [imunew](http://qiita.com/imunew)
- 2017/05/17 - [Diseño de APIs con OpenAPI](https://www.slideshare.net/pjmolina/diseo-de-apis-con-openapi) by [Pedro J. Molina](https://github.com/pjmolina) @ [JSDayES 2017](http://2017.jsday.es/)
- 2017/05/22 - [Presentation of the Vert.x-Swagger project](http://vertx.io/blog/presentation-of-the-vert-x-swagger-project/) by [@phiz71](http://github.com/phiz71)
+- 2017/05/22 - [Automatically generating your API from a swagger file using gradle](https://www.jcore.com/2017/05/22/automatically-generating-api-using-swagger-and-gradle/) by [Deniz Turan](https://www.jcore.com/author/deniz/)
- 2017/06/21 - [Swagger Presentation - Warsaw Ruby Users Group](https://www.youtube.com/watch?v=uCnnDMFQB8U) by [@rafalpetryka](http://github.com/rafalpetryka)
+- 2017/06/29 - [Making SDKs: the bespoke, the hopeful and the generated](https://devrel.net/developer-experience/making-sdks-bespoke-hopeful-generated) by [Tristan Sokol](https://github.com/tristansokol) ([Square](https://github.com/square)) at DevXcon 2017
+- 2017/07/11 - [OpenAPI development with Python](https://www.slideshare.net/TakuroWada/20170711-euro-python2017) by [和田拓朗](https://github.com/taxpon) at [EuroPython 2017](https://ep2017.europython.eu/en/)
+- 2017/07/29 - [How Square makes its SDKs](https://medium.com/square-corner-blog/how-square-makes-its-sdks-6a0fd7ea4b2d) by [Tristan Sokol](https://github.com/tristansokol) ([Square](https://github.com/square))
+- 2017/07/31 - [How to Generate a Deployable REST CXF3 Application from a Swagger-Contract](https://www.youtube.com/watch?v=gM63rJlUHZQ) by [Johannes Fiala](https://github.com/jfiala) @ Voxxed Days Vienna
+- 2017/08/11 - [Swagger Codegen 自动生成Retrofit 代码](https://juejin.im/entry/598d8eb86fb9a03c52459e2a) by [徐磊](http://www.jianshu.com/u/792c738b33fc)
+- 2017/08/24 - [APIs First](https://engineering.squarespace.com/blog/2017/apis-first) by [roykachouh](https://github.com/roykachouh) ([Square](https://github.com/square))
+- 2017/08/31 - [Bringing Jenkins Remote Access API To The Masses](http://blog.cliffano.com/2017/09/01/jenkins-world-2017/) by [Cliffano Subagio](http://cliffano.com) from [Shine Solutions](https://shinesolutions.com/) @ [Jenkins World 2017](https://jenkinsworld20162017.sched.com/)
+- 2017/09/08 - [Swagger Codegen で自動生成したクライアントSDKを使う(iOS編)](http://blog.techium.jp/entry/2017/09/08/071650) by [kfurue](http://profile.hatena.ne.jp/kfurue/)
+- 2017/09/09 - [Swagger Codegen で自動生成したクライアントSDKを使う(RxSwift 編)](http://blog.techium.jp/entry/2017/09/09/113003) by [kfurue](http://profile.hatena.ne.jp/kfurue/)
+- 2017/09/09 - [OpenAPIを利用したPythonWebアプリケーション開発](https://www.slideshare.net/TakuroWada/openapipythonweb) by [和田拓朗](https://github.com/taxpon) at [PyCon JP 2017](https://pycon.jp/2017/ja/)
+- 2017/09/21 - [Generating an Elastic Cloud Enterprise Client](https://www.elastic.co/blog/generating-an-elastic-cloud-enterprise-client) by [Greg Marzouka](https://github.com/gmarz) ([Elastic](https://www.elastic.co/))
+- 2017/09/26 - [How to Use IoT Application Enablement Api Hub JSON Descriptor in Postman and How to Generate Client Code](https://www.linkedin.com/in/radu-simen/) by [Radu Simen](https://www.linkedin.com/in/radu-simen/) ([SAP](https://www.sap.com/))
+- 2017/09/28 - [Swagger Codegenで APIクライアントgem 自動生成 #m3kt](https://speakerdeck.com/juntaki/swagger-codegende-apikuraiantogem-zi-dong-sheng-cheng-number-m3kt) by [Jumpei Takiyasu](https://github.com/juntaki)
+- 2017/09/30 - [Swaggerのテンプレートを魔改造した話 #渋谷java](https://www.slideshare.net/int128/swagger-80309224) by [Hidetake Iwata](https://github.com/int128) ([NTT DATA Corporation](http://www.nttdata.com/global/en/))
+- 2017/10/04 - [Enterprise-friendly Java client for Microsoft Machine Learning Server](https://blogs.msdn.microsoft.com/mlserver/2017/10/04/enterprise-friendly-java-client-for-microsoft-machine-learning-server/) by [Pratik Palnitkar](https://www.linkedin.com/in/pratikpalnitkar/) ([Microsoft](https://www.microsoft.com/))
+- 2017/10/08 - [Generating a REST Ada client with OpenAPI and Swagger Codegen](https://blog.vacs.fr/vacs/blogs/post.html?post=2017/10/08/Generating-a-REST-Ada-client-with-OpenAPI-and-Swagger-Codegen) by [Stephane Carrez](https://github.com/stcarrez)
+- 2017/11/08 - [A Beginner's Guide to Code Generation for REST APIs](https://gum.co/swagger_codegen_beginner)(eBook) by [William Cheng](https://twitter.com/wing328)
+- 2017/11/18 - [10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルしている話 #jjug_ccc #ccc_g2](https://speakerdeck.com/maeharin/10nian-qian-falseregasisisutemuwosabasaidokotlindehururiniyuarusiteiruhua-number-jjug-ccc-number-ccc-g2) by [Hidenori Maehara](https://github.com/maeharin)
+- 2017/11/21 - [swagger-codegen から眺める Swift4](https://speakerdeck.com/d_date/swagger-codegen-karatiao-meru-swift4) by [Daiki Matsudate](https://github.com/d-date)
+- 2017/12/07 - [API-driven development with OpenAPI and Swagger, Part 2](https://www.itworld.com/article/3199190/apis/api-driven-development-with-openapi-and-swagger-part-2.html) by Matthew Tyson
# Swagger Codegen Core Team
@@ -902,7 +961,7 @@ Swagger Codegen core team members are contributors who have been making signific
| Java Play Framework | |
| NancyFX | |
| NodeJS | @kolyjjj (2016/05/01) |
-| PHP Lumen | @abcsum (2016/05/01) |
+| PHP Lumen | @abcsun (2016/05/01) |
| PHP Silex | |
| PHP Slim | |
| Python Flask | |
@@ -914,34 +973,44 @@ Swagger Codegen core team members are contributors who have been making signific
## Template Creator
Here is a list of template creators:
* API Clients:
+ * Ada: @stcarrez
* Akka-Scala: @cchafer
* Apex: @asnelling
* Bash: @bkryza
* C++ REST: @Danielku15
* C# (.NET 2.0): @who
* C# (.NET Standard 1.3 ): @Gronsak
- * C# (.NET 4.5 refactored): @jim
+ * C# (.NET 4.5 refactored): @jimschubert
* Clojure: @xhh
* Dart: @yissachar
* Elixir: @niku
- * Eiffel: @jvelilla
+ * Eiffel: @jvelilla
+ * Erlang: @tsloughter
* Groovy: @victorgit
* Go: @wing328
* Go (rewritten in 2.3.0): @antihax
+ * Haskell (http-client): @jonschoning
* Java (Feign): @davidkiss
* Java (Retrofit): @0legg
- * Java (Retrofi2): @emilianobonassi
+ * Java (Retrofit2): @emilianobonassi
* Java (Jersey2): @xhh
* Java (okhttp-gson): @xhh
* Java (RestTemplate): @nbruno
* Java (RESTEasy): @gayathrigs
+ * Java (Vertx): @lopesmcc
+ * Java (Google APIs Client Library): @charlescapps
* Javascript/NodeJS: @jfiala
* Javascript (Closure-annotated Angular) @achew22
- * JMeter @davidkiss
- * Kotlin @jimschubert
+ * JMeter: @davidkiss
+ * Kotlin: @jimschubert
+ * Lua: @daurnimator
* Perl: @wing328
* PHP (Guzzle): @baartosz
* PowerShell: @beatcracker
+ * R: @ramnov
+ * Rust: @farcaller
+ * Rust (rust-server): @metaswitch
+ * Scala (scalaz & http4s): @tbrown1979
* Swift: @tkqubo
* Swift 3: @hexelon
* Swift 4: @ehyche
@@ -966,12 +1035,14 @@ Here is a list of template creators:
* JAX-RS CXF: @hiveship
* JAX-RS CXF (CDI): @nickcmaynard
* JAX-RS RestEasy (JBoss EAP): @jfiala
- * PHP Lumen: @abcsum
+ * PHP Lumen: @abcsun
* PHP Slim: @jfastnacht
* PHP Symfony: @ksm2
* PHP Zend Expressive (with Path Handler): @Articus
* Ruby on Rails 5: @zlx
+ * Rust (rust-server): @metaswitch
* Scala Finch: @jimschubert
+ * Scala Lagom: @gmkumar2005
* Documentation
* HTML Doc 2: @jhitchcock
* Confluence Wiki: @jhitchcock
@@ -982,7 +1053,7 @@ Here is a list of template creators:
Here are the requirements to become a core team member:
- rank within top 50 in https://github.com/swagger-api/swagger-codegen/graphs/contributors
- - to contribute, here are some good [starting points](https://github.com/swagger-api/swagger-codegen/issues?q=is%3Aopen+is%3Aissue+label%3A%22Need+community+contribution%22)
+ - to contribute, here are some good [starting points](https://github.com/swagger-api/swagger-codegen/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
- regular contributions to the project
- about 3 hours per week
- for contribution, it can be addressing issues, reviewing PRs submitted by others, submitting PR to fix bugs or make enhancements, etc
@@ -991,25 +1062,52 @@ Here are the requirements to become a core team member:
To become a Template Creator, simply submit a PR for new API client (e.g. Rust, Elixir) or server stub (e.g. Ruby Grape) generator.
-# Swagger Codegen Evangelist
+# Swagger Codegen Technical Committee
+
+Members of the Swagger Codegen technical committee shoulder the following responsibilities:
-Swagger Codegen Evangelist shoulders one or more of the following responsibilities:
+- Provides guidance and direction to other users
+- Reviews pull requests and issues
+- Improves the generator by making enhancements, fixing bugs or updating documentations
+- Sets the technical direction of the generator
-- publishes articles on the benefit of Swagger Codegen
-- organizes local Meetups
-- presents the benefits of Swagger Codegen in local Meetups or conferences
-- actively answers questions from others in [Github](https://github.com/swagger-api/swagger-codegen/issues), [StackOverflow](stackoverflow.com/search?q=%5Bswagger%5D)
-- submits PRs to improve Swagger Codegen
-- reviews PRs submitted by the others
-- ranks within top 100 in the [contributor list](https://github.com/swagger-api/swagger-codegen/graphs/contributors)
+Who is eligible? Those who want to join must have at least 3 PRs merged into a generator. (Exceptions can be granted to template creators or contributors who have made a lot of code changes with less than 3 merged PRs)
-If you want to be a Swagger Codegen Evangelist, please kindly apply by sending an email to wing328hk@gmail.com (@wing328)
+If you want to join the committee, please kindly apply by sending an email to wing328hk@gmail.com ([@wing328](https://github.com/wing328)) with your Github ID.
-### List of Swagger Codegen Evangelists
+## Members of Technical Committee
+
+| Languages | Member (join date) |
+|:-------------|:-------------|
+| ActionScript | |
+| Android | @jaz-ah (2017/09) |
+| Apex | |
+| Bash | @frol (2017/07) @bkryza (2017/08) @kenjones-cisco (2017/09) |
+| C++ | @ravinikam (2017/07) @stkrwork (2017/07) @fvarose (2017/11) |
+| C# | @mandrean (2017/08) @jimschubert (2017/09) |
+| Clojure | |
+| Dart | @ircecho (2017/07) |
+| Eiffel | @jvelilla (2017/09) |
+| Elixir | |
+| Erlang | @tsloughter (2017/11) |
+| Groovy | |
+| Go | @antihax (2017/11) |
+| Haskell | |
+| Java | @bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) |
+| Kotlin | @jimschubert (2017/09) |
+| Lua | @daurnimator (2017/08) |
+| NodeJS/Javascript | @CodeNinjai (2017/07) @frol (2017/07) @cliffano (2017/07) |
+| ObjC | |
+| Perl | @wing328 (2017/07) |
+| PHP | @jebentier (2017/07) @dkarlovi (2017/07) @mandrean (2017/08) @jfastnacht (2017/09) @ackintosh (2017/09) |
+| Python | @taxpon (2017/07) @frol (2017/07) @mbohlool (2017/07) @cbornet (2017/09) @kenjones-cisco (2017/11)|
+| R | |
+| Ruby | @cliffano (2017/07) @zlx (2017/09) |
+| Rust | @frol (2017/07) @farcaller (2017/08) |
+| Scala | @clasnake (2017/07) @jimschubert (2017/09) |
+| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) |
+| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) |
-- Cliffano Subagio (@cliffano from Australia joined on Dec 9, 2016)
- - [Building An AEM API Clients Ecosystem](http://www.slideshare.net/cliffano/building-an-aem-api-clients-ecosystem)
- - [Adobe Marketing Cloud Community Expo](http://blog.cliffano.com/2016/11/10/adobe-marketing-cloud-community-expo/)
# License information on Generated Code
diff --git a/bin/ada-petstore.sh b/bin/ada-petstore.sh
new file mode 100755
index 00000000000..d46e5013378
--- /dev/null
+++ b/bin/ada-petstore.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+model="modules/swagger-codegen/src/test/resources/2_0/petstore.yaml"
+ags="$@ generate --template-dir modules/swagger-codegen/src/main/resources/Ada -l ada"
+ags="$ags -i $model -t modules/swagger-codegen/src/main/resources/Ada -o samples/client/petstore/ada"
+ags="$ags -DprojectName=Petstore --model-package Samples.Petstore"
+
+java $JAVA_OPTS -jar $executable $ags
+rm -rf samples/client/petstore/ada/src/server
diff --git a/bin/apache2-petstore-config.sh b/bin/apache2-petstore-config.sh
old mode 100644
new mode 100755
diff --git a/bin/csharp-dotnet2-petstore.sh b/bin/csharp-dotnet2-petstore.sh
index eb4a95c76e1..9199f1ae278 100755
--- a/bin/csharp-dotnet2-petstore.sh
+++ b/bin/csharp-dotnet2-petstore.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l CsharpDotNet2 -o samples/client/petstore/csharp-dotnet2/SwaggerClientTest/Lib/SwaggerClient --additional-properties hideGenerationTimestamp=true"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l csharp-dotnet2 -o samples/client/petstore/csharp-dotnet2/SwaggerClientTest/Lib/SwaggerClient --additional-properties hideGenerationTimestamp=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/csharp-petstore-all.sh b/bin/csharp-petstore-all.sh
index 81817c3670f..70e5f09e0b1 100755
--- a/bin/csharp-petstore-all.sh
+++ b/bin/csharp-petstore-all.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# C# Petstore API client
+# C# Petstore API client (.NET 3.5)
./bin/csharp-petstore.sh
# C# Petstore API client with PropertyChanged
@@ -8,3 +8,7 @@
# C# Petstore API client (v5.0 for .net standarnd 1.3+)
./bin/csharp-petstore-net-standard.sh
+
+# C# Petstore API client (.NET 4.0)
+./bin/csharp-petstore-net-40.sh
+
diff --git a/bin/csharp-petstore-net-40.json b/bin/csharp-petstore-net-40.json
new file mode 100644
index 00000000000..884f7ea9bc9
--- /dev/null
+++ b/bin/csharp-petstore-net-40.json
@@ -0,0 +1,3 @@
+{
+ "targetFramework": "v4.0"
+}
diff --git a/bin/csharp-petstore-net-40.sh b/bin/csharp-petstore-net-40.sh
new file mode 100755
index 00000000000..fd5d0876d04
--- /dev/null
+++ b/bin/csharp-petstore-net-40.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate $@ -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l csharp -o samples/client/petstore/csharp/SwaggerClientNet40 --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C} -c ./bin/csharp-petstore-net-40.json"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/eiffel-petstore.sh b/bin/eiffel-petstore.sh
new file mode 100755
index 00000000000..f306cccfe70
--- /dev/null
+++ b/bin/eiffel-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+args="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l eiffel -o samples/client/petstore/eiffel/"
+
+java $JAVA_OPTS -jar $executable $args
diff --git a/bin/elixir-petstore.sh b/bin/elixir-petstore.sh
index 915a02cfc05..5145f5b4dae 100755
--- a/bin/elixir-petstore.sh
+++ b/bin/elixir-petstore.sh
@@ -24,6 +24,11 @@ then
mvn clean package
fi
+# remove existing lib and model file
+echo "removing existing lib, model files"
+rm -Rf "samples/client/petstore/elixir/lib/swagger_petstore/model/"
+rm -Rf "samples/client/petstore/elixir/lib/swagger_petstore/lib/"
+
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
args="$@ generate -t modules/swagger-codegen/src/main/resources/elixir -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l elixir -o samples/client/petstore/elixir"
diff --git a/bin/erlang-petstore-client.sh b/bin/erlang-petstore-client.sh
new file mode 100755
index 00000000000..686ecd25629
--- /dev/null
+++ b/bin/erlang-petstore-client.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/erlang-client -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l erlang-client -o samples/client/petstore/erlang-client"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/go-petstore-server.sh b/bin/go-petstore-server.sh
index 7822b954adc..287027a714e 100755
--- a/bin/go-petstore-server.sh
+++ b/bin/go-petstore-server.sh
@@ -26,6 +26,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l go-server -o samples/server/petstore/go-api-server -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice"
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/go-server -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l go-server -o samples/server/petstore/go-api-server -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/haskell-http-client-petstore.sh b/bin/haskell-http-client-petstore.sh
new file mode 100755
index 00000000000..62b655666d7
--- /dev/null
+++ b/bin/haskell-http-client-petstore.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+
+args="$@ generate -t modules/swagger-codegen/src/main/resources/haskell-http-client -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l haskell-http-client -o samples/client/petstore/haskell-http-client"
+
+echo "java ${JAVA_OPTS} -jar ${executable} ${args}"
+java $JAVA_OPTS -jar $executable $args
diff --git a/bin/java-petstore-all.sh b/bin/java-petstore-all.sh
index cf9bb61db49..4abe8e6c303 100755
--- a/bin/java-petstore-all.sh
+++ b/bin/java-petstore-all.sh
@@ -16,3 +16,4 @@
./bin/java-petstore-resttemplate.sh
./bin/java-petstore-resttemplate-withxml.sh
./bin/java-petstore-resteasy.sh
+./bin/java-petstore-google-api-client.sh
diff --git a/bin/java-petstore-google-api-client.json b/bin/java-petstore-google-api-client.json
new file mode 100644
index 00000000000..66df1f8c601
--- /dev/null
+++ b/bin/java-petstore-google-api-client.json
@@ -0,0 +1,4 @@
+{
+ "library": "google-api-client",
+ "artifactId": "swagger-petstore-google-api-client"
+}
diff --git a/bin/java-petstore-google-api-client.sh b/bin/java-petstore-google-api-client.sh
new file mode 100755
index 00000000000..09c9e14139a
--- /dev/null
+++ b/bin/java-petstore-google-api-client.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/Java/libraries/google-api-client -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java -c bin/java-petstore-google-api-client.json -o samples/client/petstore/java/google-api-client -DhideGenerationTimestamp=true"
+
+echo "Removing files and folders under samples/client/petstore/java/google-api-client/src/main"
+rm -rf samples/client/petstore/java/google-api-client/src/main
+find samples/client/petstore/java/google-api-client -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-petstore-resteasy-all.sh b/bin/java-petstore-resteasy-all.sh
new file mode 100755
index 00000000000..c1a346943f7
--- /dev/null
+++ b/bin/java-petstore-resteasy-all.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+./bin/java-petstore-resteasy.sh
+./bin/jaxrs-resteasy-eap-petstore-server.sh
+./bin/jaxrs-resteasy-eap-java8-petstore-server.sh
+./bin/jaxrs-resteasy-joda-petstore-server.sh
+./bin/jaxrs-resteasy-eap-joda-petstore-server.sh
+./bin/jaxrs-resteasy-petstore-server.sh*
diff --git a/bin/java-petstore-retrofit.sh b/bin/java-petstore-retrofit.sh
index 3b370fde7dd..c40494cbb9d 100755
--- a/bin/java-petstore-retrofit.sh
+++ b/bin/java-petstore-retrofit.sh
@@ -26,7 +26,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java -c bin/java-petstore-retrofit.json -o samples/client/petstore/java/retrofit -DhideGenerationTimestamp=true"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java -c bin/java-petstore-retrofit.json -o samples/client/petstore/java/retrofit -DhideGenerationTimestamp=true,dateLibrary=joda"
echo "Removing files and folders under samples/client/petstore/java/retrofit/src/main"
rm -rf samples/client/petstore/java/retrofit/src/main
diff --git a/bin/java-petstore-retrofit2-all.sh b/bin/java-petstore-retrofit2-all.sh
index 607a1116aae..e8f28de689d 100755
--- a/bin/java-petstore-retrofit2-all.sh
+++ b/bin/java-petstore-retrofit2-all.sh
@@ -1,6 +1,7 @@
#!/bin/sh
./bin/java-petstore-retrofit2-play24.sh
+./bin/java-petstore-retrofit2-play25.sh
./bin/java-petstore-retrofit2.sh
./bin/java-petstore-retrofit2rx.sh
./bin/java-petstore-retrofit2rx2.sh
diff --git a/bin/java-petstore-retrofit2-play24.json b/bin/java-petstore-retrofit2-play24.json
index 45b46996d1c..f5398065c20 100644
--- a/bin/java-petstore-retrofit2-play24.json
+++ b/bin/java-petstore-retrofit2-play24.json
@@ -1 +1 @@
-{"useBeanValidation":"true","enableBuilderSupport":"true","library":"retrofit2", "usePlay24WS":"true"}
+{"useBeanValidation":"true","enableBuilderSupport":"true","library":"retrofit2","usePlayWS":"true","playVersion":"play24","dateLibrary":"java8"}
diff --git a/bin/java-petstore-retrofit2-play25.json b/bin/java-petstore-retrofit2-play25.json
new file mode 100644
index 00000000000..49eda94f83a
--- /dev/null
+++ b/bin/java-petstore-retrofit2-play25.json
@@ -0,0 +1 @@
+{"useBeanValidation":"true","enableBuilderSupport":"true","library":"retrofit2","usePlayWS":"true","playVersion":"play25"}
diff --git a/bin/java-petstore-retrofit2-play25.sh b/bin/java-petstore-retrofit2-play25.sh
new file mode 100755
index 00000000000..0a459b47a66
--- /dev/null
+++ b/bin/java-petstore-retrofit2-play25.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java -c bin/java-petstore-retrofit2-play25.json -o samples/client/petstore/java/retrofit2-play25 -DhideGenerationTimestamp=true"
+
+echo "Removing files and folders under samples/client/petstore/java/retrofit2-play25/src/main"
+rm -rf samples/client/petstore/java/retrofit2-play25/src/main
+find samples/client/petstore/java/retrofit2-play25 -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-petstore-vertx.json b/bin/java-petstore-vertx.json
new file mode 100644
index 00000000000..9f979f78605
--- /dev/null
+++ b/bin/java-petstore-vertx.json
@@ -0,0 +1,4 @@
+{
+ "library": "vertx",
+ "artifactId": "swagger-petstore-vertx"
+}
diff --git a/bin/java-petstore-vertx.sh b/bin/java-petstore-vertx.sh
new file mode 100755
index 00000000000..a2e9d9baa9a
--- /dev/null
+++ b/bin/java-petstore-vertx.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/Java/libraries/vertx -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java -c bin/java-petstore-vertx.json -o samples/client/petstore/java/vertx -DhideGenerationTimestamp=true"
+
+echo "Removing files and folders under samples/client/petstore/java/vertx/src/main"
+rm -rf samples/client/petstore/java/vertx/src/main
+find samples/client/petstore/java/vertx -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-all.sh b/bin/java-play-framework-petstore-server-all.sh
new file mode 100755
index 00000000000..b8dfe47694f
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-all.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+./bin/java-play-framework-petstore-server.sh
+./bin/java-play-framework-petstore-server-controller-only.sh
+./bin/java-play-framework-petstore-server-no-bean-validation.sh
+./bin/java-play-framework-petstore-server-no-exception-handling.sh
+./bin/java-play-framework-petstore-server-no-interface.sh
+./bin/java-play-framework-petstore-server-no-swagger-ui.sh
+./bin/java-play-framework-petstore-server-no-wrap-calls.sh
+./bin/java-play-framework-petstore-server-fake-endpoints.sh
\ No newline at end of file
diff --git a/bin/java-play-framework-petstore-server-controller-only.sh b/bin/java-play-framework-petstore-server-controller-only.sh
new file mode 100755
index 00000000000..b20da2d534d
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-controller-only.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-controller-only -DhideGenerationTimestamp=true,controllerOnly=true"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-fake-endpoints.sh b/bin/java-play-framework-petstore-server-fake-endpoints.sh
new file mode 100755
index 00000000000..e6caabb4465
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-fake-endpoints.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-fake-endpoints -DhideGenerationTimestamp=true"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-no-bean-validation.sh b/bin/java-play-framework-petstore-server-no-bean-validation.sh
new file mode 100755
index 00000000000..27f08046e45
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-no-bean-validation.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-no-bean-validation -DhideGenerationTimestamp=true,useBeanValidation=false"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-no-exception-handling.sh b/bin/java-play-framework-petstore-server-no-exception-handling.sh
new file mode 100755
index 00000000000..6d9ad0d037c
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-no-exception-handling.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-no-exception-handling -DhideGenerationTimestamp=true,handleExceptions=false"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-no-interface.sh b/bin/java-play-framework-petstore-server-no-interface.sh
new file mode 100755
index 00000000000..a3057b61676
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-no-interface.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-no-interface -DhideGenerationTimestamp=true,useInterfaces=false"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-no-swagger-ui.sh b/bin/java-play-framework-petstore-server-no-swagger-ui.sh
new file mode 100755
index 00000000000..7a3b461b87a
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-no-swagger-ui.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-no-swagger-ui -DhideGenerationTimestamp=true,useSwaggerUI=false"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-no-wrap-calls.sh b/bin/java-play-framework-petstore-server-no-wrap-calls.sh
new file mode 100755
index 00000000000..d6e01a4be7f
--- /dev/null
+++ b/bin/java-play-framework-petstore-server-no-wrap-calls.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaPlayFramework -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-play-framework -o samples/server/petstore/java-play-framework-no-wrap-calls -DhideGenerationTimestamp=true,wrapCalls=false"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh b/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh
index eb79a73b25a..837af96bdaa 100755
--- a/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh
+++ b/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-annotated-base-path -DhideGenerationTimestamp=true,useAnnotatedBasePath=true"
+ags="$@ generate --artifact-id swagger-cxf-annotated-basepath -t modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-annotated-base-path -DhideGenerationTimestamp=true,useAnnotatedBasePath=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-cxf-petstore-server-non-spring-application.sh b/bin/jaxrs-cxf-petstore-server-non-spring-application.sh
index e22a18dea6e..ac85e109deb 100755
--- a/bin/jaxrs-cxf-petstore-server-non-spring-application.sh
+++ b/bin/jaxrs-cxf-petstore-server-non-spring-application.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-non-spring-app -DhideGenerationTimestamp=true,generateNonSpringApplication=true"
+ags="$@ generate --artifact-id swagger-cxf-server-non-spring -t modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-non-spring-app -DhideGenerationTimestamp=true,generateNonSpringApplication=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-jersey1-petstore-server.sh b/bin/jaxrs-jersey1-petstore-server.sh
index 13938c8d1eb..f04b6b9f3d1 100755
--- a/bin/jaxrs-jersey1-petstore-server.sh
+++ b/bin/jaxrs-jersey1-petstore-server.sh
@@ -26,7 +26,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS/libraries/jersey1 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey1 -DhideGenerationTimestamp=true,serverPort=8080 --library=jersey1 --artifact-id=swagger-jaxrs-jersey1-server"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey1 -DhideGenerationTimestamp=true,serverPort=8080 --library=jersey1 --artifact-id=swagger-jaxrs-jersey1-server"
echo "Removing files and folders under samples/server/petstore/jaxrs/jersey1/src/main"
rm -rf samples/server/petstore/jaxrs/jersey1/src/main
diff --git a/bin/jaxrs-jersey1-usetags-petstore-server.sh b/bin/jaxrs-jersey1-usetags-petstore-server.sh
new file mode 100755
index 00000000000..b115995f6f2
--- /dev/null
+++ b/bin/jaxrs-jersey1-usetags-petstore-server.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey1-useTags -DhideGenerationTimestamp=true,serverPort=8080 --library=jersey1 --artifact-id=swagger-jaxrs-jersey1-useTags --additional-properties useTags=true"
+
+echo "Removing files and folders under samples/server/petstore/jaxrs/jersey1-useTags/src/main"
+rm -rf samples/server/petstore/jaxrs/jersey1-useTags/src/main
+find samples/server/petstore/jaxrs/jersey1-useTags -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-resteasy-eap-java8-petstore-server.json b/bin/jaxrs-resteasy-eap-java8-petstore-server.json
new file mode 100644
index 00000000000..3d80aca58ce
--- /dev/null
+++ b/bin/jaxrs-resteasy-eap-java8-petstore-server.json
@@ -0,0 +1,3 @@
+{
+ "dateLibrary": "java8"
+}
diff --git a/bin/jaxrs-resteasy-eap-java8-petstore-server.sh b/bin/jaxrs-resteasy-eap-java8-petstore-server.sh
new file mode 100755
index 00000000000..b5897c06382
--- /dev/null
+++ b/bin/jaxrs-resteasy-eap-java8-petstore-server.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate --artifact-id swagger-jaxrs-resteasy-eap-java8-server -t modules/swagger-codegen/src/main/resources/JavaJaxRS/resteasy/eap -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap-java8 -DhideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-eap-java8-petstore-server.json"
+
+echo "Removing files and folders under samples/server/petstore/jaxrs-resteasy/eap-java8/src/main"
+rm -rf samples/server/petstore/jaxrs-resteasy/eap-java8/src/main
+find samples/server/petstore/jaxrs-resteasy/eap-java8 -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-spec-petstore-server-interface.sh b/bin/jaxrs-spec-petstore-server-interface.sh
new file mode 100755
index 00000000000..d47718f2788
--- /dev/null
+++ b/bin/jaxrs-spec-petstore-server-interface.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs-spec -o samples/server/petstore/jaxrs-spec-interface
+-DhideGenerationTimestamp=true
+-DserializableModel=true
+-DinterfaceOnly=true"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-spec-petstore-server.sh b/bin/jaxrs-spec-petstore-server.sh
index 9482e1a8972..5350bab881c 100755
--- a/bin/jaxrs-spec-petstore-server.sh
+++ b/bin/jaxrs-spec-petstore-server.sh
@@ -27,6 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs-spec -o samples/server/petstore/jaxrs-spec
--DhideGenerationTimestamp=true"
+-DhideGenerationTimestamp=true
+-DserializableModel=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-usetags-petstore-server.sh b/bin/jaxrs-usetags-petstore-server.sh
new file mode 100755
index 00000000000..8d2595609f6
--- /dev/null
+++ b/bin/jaxrs-usetags-petstore-server.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/JavaJaxRS -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs -o samples/server/petstore/jaxrs/jersey2-useTags -DhideGenerationTimestamp=true,serverPort=8080 --artifact-id=swagger-jaxrs-jersey2-useTags --additional-properties useTags=true"
+
+echo "Removing files and folders under samples/server/petstore/jaxrs/jersey2-useTags/src/main"
+rm -rf samples/server/petstore/jaxrs/jersey2-useTags/src/main
+find samples/server/petstore/jaxrs/jersey2-useTags -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/lua-petstore.sh b/bin/lua-petstore.sh
new file mode 100755
index 00000000000..2b8f732d14b
--- /dev/null
+++ b/bin/lua-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t modules/swagger-codegen/src/main/resources/lua -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l lua -o samples/client/petstore/lua -DpackageName=petstore $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/nancyfx-petstore-server-async.sh b/bin/nancyfx-petstore-server-async.sh
new file mode 100755
index 00000000000..b07c010731f
--- /dev/null
+++ b/bin/nancyfx-petstore-server-async.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate $@ -t modules/swagger-codegen/src/main/resources/nancyfx -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nancyfx -o samples/server/petstore/nancyfx-async --additional-properties packageGuid={768B8DC6-54EE-4D40-9B20-7857E1D742A4},asyncServer=true"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/nancyfx-petstore-server.sh b/bin/nancyfx-petstore-server.sh
index 38db6514ded..13516ee67e9 100755
--- a/bin/nancyfx-petstore-server.sh
+++ b/bin/nancyfx-petstore-server.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate $@ -t modules/swagger-codegen/src/main/resources/nancyfx -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nancyfx -o samples/server/petstore/nancyfx --additional-properties packageGuid={768B8DC6-54EE-4D40-9B20-7857E1D742A4}"
+ags="generate $@ -t modules/swagger-codegen/src/main/resources/nancyfx -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nancyfx -o samples/server/petstore/nancyfx --additional-properties packageGuid={768B8DC6-54EE-4D40-9B20-7857E1D742A4},asyncServer=false"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/nodejs-petstore-server.sh b/bin/nodejs-petstore-server.sh
index a23f108b605..4abd112408a 100755
--- a/bin/nodejs-petstore-server.sh
+++ b/bin/nodejs-petstore-server.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nodejs-server -o samples/server/petstore/nodejs -Dservice"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/nodejs -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l nodejs-server -o samples/server/petstore/nodejs -Dservice"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/php-silex-petstore-server.sh b/bin/php-silex-petstore-server.sh
new file mode 100755
index 00000000000..85b412517ee
--- /dev/null
+++ b/bin/php-silex-petstore-server.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/php-silex -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l php-silex -o samples/server/petstore/php-silex"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/php-symfony-petstore.sh b/bin/php-symfony-petstore.sh
new file mode 100755
index 00000000000..17d9418b386
--- /dev/null
+++ b/bin/php-symfony-petstore.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+# Make sure that the working directory is the root dir
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd "${SCRIPT_DIR}/../"
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+# Make sure that we are regenerating the sample by removing any existing target directory
+TARGET_DIR="$SCRIPT_DIR/../samples/server/petstore/php-symfony"
+if [ -d "$TARGET_DIR" ]; then
+ rm -rf $TARGET_DIR
+fi
+
+executable="$SCRIPT_DIR/../modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t $SCRIPT_DIR/../modules/swagger-codegen/src/main/resources/php-symfony -i $SCRIPT_DIR/../modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l php-symfony -o $TARGET_DIR $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/powershell-petstore.sh b/bin/powershell-petstore.sh
index 6e4c9b533aa..9d2803414a0 100755
--- a/bin/powershell-petstore.sh
+++ b/bin/powershell-petstore.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/swagger-codegen/src/main/resources/powershell -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l powershell -o samples/client/petstore/powershell_test --additional-properties packageGuid=a27b908d-2a20-467f-bc32-af6f3a654ac5,csharpClientPath=\$ScriptDir\..\..\petstore\csharp\SwaggerClient $@"
+ags="generate -t modules/swagger-codegen/src/main/resources/powershell -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l powershell -o samples/client/petstore/powershell --additional-properties packageGuid=a27b908d-2a20-467f-bc32-af6f3a654ac5,csharpClientPath=\$ScriptDir\..\..\petstore\csharp\SwaggerClient $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/python-asyncio-petstore.sh b/bin/python-asyncio-petstore.sh
new file mode 100755
index 00000000000..83f23b0ee9b
--- /dev/null
+++ b/bin/python-asyncio-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t modules/swagger-codegen/src/main/resources/python -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l python -o samples/client/petstore/python-asyncio -DpackageName=petstore_api --library asyncio $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/python-flask-all.sh b/bin/python-flask-all.sh
new file mode 100755
index 00000000000..ed4ca88d286
--- /dev/null
+++ b/bin/python-flask-all.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+./bin/python-flask-petstore.sh
+./bin/python-flask-petstore-python2.sh
diff --git a/bin/flaskConnexion-python2.sh b/bin/python-flask-petstore-python2.sh
similarity index 100%
rename from bin/flaskConnexion-python2.sh
rename to bin/python-flask-petstore-python2.sh
diff --git a/bin/flaskConnexion.sh b/bin/python-flask-petstore.sh
similarity index 100%
rename from bin/flaskConnexion.sh
rename to bin/python-flask-petstore.sh
diff --git a/bin/python-tornado-petstore.sh b/bin/python-tornado-petstore.sh
new file mode 100755
index 00000000000..993623cbfb2
--- /dev/null
+++ b/bin/python-tornado-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t modules/swagger-codegen/src/main/resources/python -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l python -o samples/client/petstore/python-tornado -DpackageName=petstore_api --library tornado $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/r-petstore.sh b/bin/r-petstore.sh
new file mode 100755
index 00000000000..6e00e6010e2
--- /dev/null
+++ b/bin/r-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t modules/swagger-codegen/src/main/resources/r -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l r -o samples/client/petstore/r_test -DpackageName=petstore $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/run-all-petstore b/bin/run-all-petstore
index be5901e0697..755ab2f749d 100755
--- a/bin/run-all-petstore
+++ b/bin/run-all-petstore
@@ -8,7 +8,7 @@ echo "Please press CTRL+C to stop or the script will continue in 10 seconds."
sleep 10
-for SCRIPT in ./bin/*.sh
+for SCRIPT in `ls -l ./bin/*.sh | grep -v all`
do
if [ -f $SCRIPT -a -x $SCRIPT ]
then
diff --git a/bin/rust-petstore.sh b/bin/rust-petstore.sh
new file mode 100755
index 00000000000..6ccfa708269
--- /dev/null
+++ b/bin/rust-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=$(ls -ld "$SCRIPT")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=$(dirname "$SCRIPT")/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=$(dirname "$SCRIPT")/..
+ APP_DIR=$(cd "${APP_DIR}"; pwd)
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -t modules/swagger-codegen/src/main/resources/rust -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l rust -o samples/client/petstore/rust -DpackageName=petstore_client $@"
+
+java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/rust-server-petstore.sh b/bin/rust-server-petstore.sh
new file mode 100755
index 00000000000..e7e655d4812
--- /dev/null
+++ b/bin/rust-server-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/rust-server -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l rust-server -o samples/server/petstore/rust-server -DpackageName=petstore_api"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/scala-async-petstore.sh b/bin/scala-async-petstore.sh
deleted file mode 100755
index 5456c98b27a..00000000000
--- a/bin/scala-async-petstore.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/asyncscala -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l async-scala -o samples/client/petstore/async-scala"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/scala-lagom-server-petstore.sh b/bin/scala-lagom-server-petstore.sh
new file mode 100755
index 00000000000..12abeb043d4
--- /dev/null
+++ b/bin/scala-lagom-server-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/scala-lagom-server -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l scala-lagom-server -o samples/server/petstore/scala-lagom-server"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/scalaz-petstore.sh b/bin/scalaz-petstore.sh
new file mode 100755
index 00000000000..266e8cbf9e7
--- /dev/null
+++ b/bin/scalaz-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/scalaz -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l scalaz -o samples/client/petstore/scalaz"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/security/silex-petstore-server.sh b/bin/security/silex-petstore-server.sh
index a939c2da9a8..229eac1391c 100755
--- a/bin/security/silex-petstore-server.sh
+++ b/bin/security/silex-petstore-server.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/silex -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l silex-PHP -o samples/server/petstore-security-test/silex"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/php-silex -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l php-silex -o samples/server/petstore-security-test/silex"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/security/typescript-angular2.sh b/bin/security/typescript-angular2.sh
index cdf5b44b695..192932f1b3b 100755
--- a/bin/security/typescript-angular2.sh
+++ b/bin/security/typescript-angular2.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/typescript-angular2 -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l typescript-angular2 -o samples/client/petstore-security-test/typescript-angular2"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l typescript-angular -o samples/client/petstore-security-test/typescript-angular2"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/security/typescript-fetch-petstore.sh b/bin/security/typescript-fetch-petstore.sh
new file mode 100755
index 00000000000..17c61cf26ed
--- /dev/null
+++ b/bin/security/typescript-fetch-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/typescript-fetch -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l typescript-fetch -o samples/client/petstore-security-test/typescript-fetch"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/security/typescript-fetch.sh b/bin/security/typescript-fetch.sh
deleted file mode 100755
index 6b8757a5fb9..00000000000
--- a/bin/security/typescript-fetch.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/TypeScript-Fetch -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l typescript-fetch -o samples/client/petstore-security-test/typescript-fetch"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/security/windows/csharp-petstore.bat b/bin/security/windows/csharp-petstore.bat
new file mode 100644
index 00000000000..2bb9ba99d00
--- /dev/null
+++ b/bin/security/windows/csharp-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-security-test.yaml -l csharp -o samples/client/petstore-security-test/csharp/SwaggerClient --additional-properties packageGuid={8CE139DF-64BC-4591-85F8-8506C2B67514}
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/silex-petstore-server.sh b/bin/silex-petstore-server.sh
deleted file mode 100755
index c273102828b..00000000000
--- a/bin/silex-petstore-server.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -t modules/swagger-codegen/src/main/resources/silex -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l silex-PHP -o samples/server/petstore/silex"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift3-petstore-all.sh b/bin/swift3-petstore-all.sh
index 4f38026418d..a27fe261859 100755
--- a/bin/swift3-petstore-all.sh
+++ b/bin/swift3-petstore-all.sh
@@ -38,3 +38,11 @@ java $JAVA_OPTS -jar $executable $ags
ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift3 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c ./bin/swift3-petstore-rxswift.json -o samples/client/petstore/swift3/rxswift"
echo "#### Petstore Swift API client (rxswift) ####"
java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift3 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c ./bin/swift3-petstore-unwraprequired.json -o samples/client/petstore/swift3/unwraprequired"
+echo "#### Petstore Swift API client (unwraprequired) ####"
+java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift3 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c ./bin/swift3-petstore-objcCompatible.json -o samples/client/petstore/swift3/objcCompatible"
+echo "#### Petstore Swift API client (objcCompatible) ####"
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift3-petstore-objcCompatible.json b/bin/swift3-petstore-objcCompatible.json
new file mode 100644
index 00000000000..e56770806b9
--- /dev/null
+++ b/bin/swift3-petstore-objcCompatible.json
@@ -0,0 +1,7 @@
+{
+ "podSummary": "PetstoreClient",
+ "podHomepage": "https://github.com/swagger-api/swagger-codegen",
+ "podAuthors": "",
+ "projectName": "PetstoreClient",
+ "objcCompatible": true
+}
\ No newline at end of file
diff --git a/bin/swift3-petstore-objcCompatible.sh b/bin/swift3-petstore-objcCompatible.sh
new file mode 100755
index 00000000000..d774688fdab
--- /dev/null
+++ b/bin/swift3-petstore-objcCompatible.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate -v -t modules/swagger-codegen/src/main/resources/swift3 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c ./bin/swift3-petstore-objcCompatible.json -o samples/client/petstore/swift3/objcCompatible $@"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift3-petstore-unwraprequired.json b/bin/swift3-petstore-unwraprequired.json
new file mode 100644
index 00000000000..f077c429ee8
--- /dev/null
+++ b/bin/swift3-petstore-unwraprequired.json
@@ -0,0 +1,7 @@
+{
+ "podSummary": "PetstoreClient",
+ "podHomepage": "https://github.com/swagger-api/swagger-codegen",
+ "podAuthors": "",
+ "projectName": "PetstoreClient",
+ "unwrapRequired": true
+}
\ No newline at end of file
diff --git a/bin/swift3-petstore-unwraprequired.sh b/bin/swift3-petstore-unwraprequired.sh
new file mode 100755
index 00000000000..65355a18ecf
--- /dev/null
+++ b/bin/swift3-petstore-unwraprequired.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift3 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift3 -c ./bin/swift3-petstore-unwraprequired.json -o samples/client/petstore/swift3/unwraprequired"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift4-all.sh b/bin/swift4-all.sh
new file mode 100755
index 00000000000..bb9110f635e
--- /dev/null
+++ b/bin/swift4-all.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore.json -o samples/client/petstore/swift4/default"
+
+echo "#### Petstore Swift API client (default) ####"
+java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-promisekit.json -o samples/client/petstore/swift4/promisekit"
+echo "#### Petstore Swift API client (promisekit) ####"
+java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-rxswift.json -o samples/client/petstore/swift4/rxswift"
+echo "#### Petstore Swift API client (rxswift) ####"
+java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-objcCompatible.json -o samples/client/petstore/swift4/objcCompatible"
+echo "#### Petstore Swift API client (objcCompatible) ####"
+java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/swift4Test.json -l swift4 -c ./bin/swift4-test.json -o samples/client/test/swift4/default"
+echo "#### Swift4Test Swift API client (default) ####"
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift4-petstore-all.sh b/bin/swift4-petstore-all.sh
index 88d870bb582..28bfc0416c1 100755
--- a/bin/swift4-petstore-all.sh
+++ b/bin/swift4-petstore-all.sh
@@ -38,3 +38,7 @@ java $JAVA_OPTS -jar $executable $ags
ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-rxswift.json -o samples/client/petstore/swift4/rxswift"
echo "#### Petstore Swift API client (rxswift) ####"
java $JAVA_OPTS -jar $executable $ags
+
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-objcCompatible.json -o samples/client/petstore/swift4/objcCompatible"
+echo "#### Petstore Swift API client (objcCompatible) ####"
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift4-petstore-objcCompatible.json b/bin/swift4-petstore-objcCompatible.json
new file mode 100644
index 00000000000..e56770806b9
--- /dev/null
+++ b/bin/swift4-petstore-objcCompatible.json
@@ -0,0 +1,7 @@
+{
+ "podSummary": "PetstoreClient",
+ "podHomepage": "https://github.com/swagger-api/swagger-codegen",
+ "podAuthors": "",
+ "projectName": "PetstoreClient",
+ "objcCompatible": true
+}
\ No newline at end of file
diff --git a/bin/swift4-petstore-objcCompatible.sh b/bin/swift4-petstore-objcCompatible.sh
new file mode 100755
index 00000000000..45c212368f2
--- /dev/null
+++ b/bin/swift4-petstore-objcCompatible.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l swift4 -c ./bin/swift4-petstore-objcCompatible.json -o samples/client/petstore/swift4/objcCompatible"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/swift4-test.json b/bin/swift4-test.json
new file mode 100644
index 00000000000..1734cf8d998
--- /dev/null
+++ b/bin/swift4-test.json
@@ -0,0 +1,6 @@
+{
+ "podSummary": "TestClient",
+ "podHomepage": "https://github.com/swagger-api/swagger-codegen",
+ "podAuthors": "",
+ "projectName": "TestClient"
+}
\ No newline at end of file
diff --git a/bin/swift4-test.sh b/bin/swift4-test.sh
new file mode 100755
index 00000000000..4f9e8f0248c
--- /dev/null
+++ b/bin/swift4-test.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -t modules/swagger-codegen/src/main/resources/swift4 -i modules/swagger-codegen/src/test/resources/2_0/swift4Test.json -l swift4 -c ./bin/swift4-test.json -o samples/client/test/swift4/default"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-petstore-all.sh b/bin/typescript-angular-petstore-all.sh
new file mode 100755
index 00000000000..c3cdf8ba34f
--- /dev/null
+++ b/bin/typescript-angular-petstore-all.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+
+echo "Typescript Petstore API client (default)"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -o samples/client/petstore/typescript-angular-v2/default --additional-properties ngVersion=2"
+java $JAVA_OPTS -jar $executable $ags
+
+echo "Typescript Petstore API client (npm setting)"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v2/npm --additional-properties ngVersion=2"
+java $JAVA_OPTS -jar $executable $ags
+
+echo "Typescript Petstore API client (with interfaces generated)"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces -D withInterfaces=true --additional-properties ngVersion=2"
+java $JAVA_OPTS -jar $executable $ags
+
+echo "Typescript Petstore API client (v4 { Adding InjectionToken Over OpaqueToken })"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v4/npm --additional-properties ngVersion=4"
+java $JAVA_OPTS -jar $executable $ags
+
+echo "Typescript Petstore API client (v4.3 { Adding HttpClientModule over HttpModule })"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v4.3/npm --additional-properties ngVersion=4.3"
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-petstore.sh b/bin/typescript-angular-petstore.sh
deleted file mode 100755
index 60c10790c90..00000000000
--- a/bin/typescript-angular-petstore.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-angular -o samples/client/petstore/typescript-angular"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v2-petstore-interfaces.sh b/bin/typescript-angular-v2-petstore-interfaces.sh
new file mode 100755
index 00000000000..bbc8861fce3
--- /dev/null
+++ b/bin/typescript-angular-v2-petstore-interfaces.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces -D withInterfaces=true --additional-properties ngVersion=2"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v2-petstore-with-npm.sh b/bin/typescript-angular-v2-petstore-with-npm.sh
new file mode 100755
index 00000000000..c19bead1557
--- /dev/null
+++ b/bin/typescript-angular-v2-petstore-with-npm.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v2/npm --additional-properties ngVersion=2"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v2-petstore.sh b/bin/typescript-angular-v2-petstore.sh
new file mode 100755
index 00000000000..bdac72ae304
--- /dev/null
+++ b/bin/typescript-angular-v2-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -o samples/client/petstore/typescript-angular-v2/default --additional-properties ngVersion=2"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v4-petstore-with-npm.sh b/bin/typescript-angular-v4-petstore-with-npm.sh
new file mode 100755
index 00000000000..f0fcba26874
--- /dev/null
+++ b/bin/typescript-angular-v4-petstore-with-npm.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v4/npm --additional-properties ngVersion=4"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v4.3-petstore-with-npm.sh b/bin/typescript-angular-v4.3-petstore-with-npm.sh
new file mode 100755
index 00000000000..35f8447c5de
--- /dev/null
+++ b/bin/typescript-angular-v4.3-petstore-with-npm.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular-v4.3/npm --additional-properties ngVersion=4.3"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular2-petstore-all.sh b/bin/typescript-angular2-petstore-all.sh
deleted file mode 100755
index 1c805738b52..00000000000
--- a/bin/typescript-angular2-petstore-all.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-
-echo "Typescript Petstore API client (default)"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -o samples/client/petstore/typescript-angular2/default"
-java $JAVA_OPTS -jar $executable $ags
-
-echo "Typescript Petstore API client (npm setting)"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular2/npm"
-java $JAVA_OPTS -jar $executable $ags
-
-echo "Typescript Petstore API client (with interfaces generated)"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -o samples/client/petstore/typescript-angular2/with-interfaces -D withInterfaces=true"
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular2-petstore-interfaces.sh b/bin/typescript-angular2-petstore-interfaces.sh
deleted file mode 100755
index 8fc81f13d68..00000000000
--- a/bin/typescript-angular2-petstore-interfaces.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -o samples/client/petstore/typescript-angular2/with-interfaces -D withInterfaces=true"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular2-petstore-with-npm.sh b/bin/typescript-angular2-petstore-with-npm.sh
deleted file mode 100755
index 0b96d7bd732..00000000000
--- a/bin/typescript-angular2-petstore-with-npm.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-angular2/npm"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular2-petstore.sh b/bin/typescript-angular2-petstore.sh
deleted file mode 100755
index dbb00a91344..00000000000
--- a/bin/typescript-angular2-petstore.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angular2 -o samples/client/petstore/typescript-angular2/default"
-
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angularjs-petstore.sh b/bin/typescript-angularjs-petstore.sh
new file mode 100755
index 00000000000..107e6291149
--- /dev/null
+++ b/bin/typescript-angularjs-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-angularjs -o samples/client/petstore/typescript-angularjs"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-aurelia-petstore.sh b/bin/typescript-aurelia-petstore.sh
new file mode 100755
index 00000000000..ff96244a24c
--- /dev/null
+++ b/bin/typescript-aurelia-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-aurelia -o samples/client/petstore/typescript-aurelia/default"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-fetch-petstore-target-es6.json b/bin/typescript-fetch-petstore-target-es6.json
index 83914bd569c..b87d9e8521d 100644
--- a/bin/typescript-fetch-petstore-target-es6.json
+++ b/bin/typescript-fetch-petstore-target-es6.json
@@ -1,3 +1,7 @@
{
+ "npmName": "@swagger/typescript-fetch-petstore",
+ "npmVersion": "1.0.0",
+ "npmRepository" : "https://skimdb.npmjs.com/registry",
+ "snapshot" : false,
"supportsES6": true
}
diff --git a/bin/typescript-fetch-petstore-target-es6.sh b/bin/typescript-fetch-petstore-target-es6.sh
index 84a6562eeb6..391859c4d4b 100755
--- a/bin/typescript-fetch-petstore-target-es6.sh
+++ b/bin/typescript-fetch-petstore-target-es6.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-fetch -c bin/typescript-fetch-petstore-target-es6.json -o samples/client/petstore/typescript-fetch/builds/es6-target"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-fetch -c bin/typescript-fetch-petstore-target-es6.json -o samples/client/petstore/typescript-fetch/builds/es6-target"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-fetch-petstore-with-npm-version.json b/bin/typescript-fetch-petstore-with-npm-version.json
index b8193c8fa74..40b04115a3f 100644
--- a/bin/typescript-fetch-petstore-with-npm-version.json
+++ b/bin/typescript-fetch-petstore-with-npm-version.json
@@ -1,4 +1,6 @@
{
"npmName": "@swagger/typescript-fetch-petstore",
- "npmVersion": "0.0.1"
+ "npmVersion": "1.0.0",
+ "npmRepository" : "https://skimdb.npmjs.com/registry",
+ "snapshot" : false
}
diff --git a/bin/typescript-fetch-petstore-with-npm-version.sh b/bin/typescript-fetch-petstore-with-npm-version.sh
index fd9225f0e72..7d5706f657e 100755
--- a/bin/typescript-fetch-petstore-with-npm-version.sh
+++ b/bin/typescript-fetch-petstore-with-npm-version.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-fetch -c bin/typescript-fetch-petstore-with-npm-version.json -o samples/client/petstore/typescript-fetch/builds/with-npm-version"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-fetch -c bin/typescript-fetch-petstore-with-npm-version.json -o samples/client/petstore/typescript-fetch/builds/with-npm-version"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-fetch-petstore.sh b/bin/typescript-fetch-petstore.sh
index 50d56f34609..241258c4071 100755
--- a/bin/typescript-fetch-petstore.sh
+++ b/bin/typescript-fetch-petstore.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-fetch -o samples/client/petstore/typescript-fetch/builds/default"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-fetch -o samples/client/petstore/typescript-fetch/builds/default"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-jquery-all.sh b/bin/typescript-jquery-all.sh
deleted file mode 100755
index 7203fa099a5..00000000000
--- a/bin/typescript-jquery-all.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-SCRIPT="$0"
-
-while [ -h "$SCRIPT" ] ; do
- ls=`ls -ld "$SCRIPT"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- SCRIPT="$link"
- else
- SCRIPT=`dirname "$SCRIPT"`/"$link"
- fi
-done
-
-if [ ! -d "${APP_DIR}" ]; then
- APP_DIR=`dirname "$SCRIPT"`/..
- APP_DIR=`cd "${APP_DIR}"; pwd`
-fi
-
-executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
-
-if [ ! -f "$executable" ]
-then
- mvn clean package
-fi
-
-# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-
-echo "Typescript jquery Petstore API client (default setting)"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-jquery -o samples/client/petstore/typescript-jquery/default"
-java $JAVA_OPTS -jar $executable $ags
-
-echo "Typescript jquery Petstore API client with npm setting"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-jquery -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-jquery/npm"
-java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-jquery-petstore-all.sh b/bin/typescript-jquery-petstore-all.sh
new file mode 100755
index 00000000000..1a00eb1ce1c
--- /dev/null
+++ b/bin/typescript-jquery-petstore-all.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+
+echo "Typescript Petstore API client (default)"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-jquery -o samples/client/petstore/typescript-jquery/default"
+java $JAVA_OPTS -jar $executable $ags
+
+echo "Typescript Petstore API client (npm setting)"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-jquery -c bin/typescript-jquery-petstore-npm.json -o samples/client/petstore/typescript-jquery/npm"
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-jquery-petstore-npm.json b/bin/typescript-jquery-petstore-npm.json
new file mode 100644
index 00000000000..c1ec66df6ea
--- /dev/null
+++ b/bin/typescript-jquery-petstore-npm.json
@@ -0,0 +1,6 @@
+{
+ "npmName": "@swagger/jquery-typescript-petstore",
+ "npmVersion": "0.0.1",
+ "npmRepository" : "https://skimdb.npmjs.com/registry",
+ "snapshot" : false
+}
diff --git a/bin/typescript-jquery-petstore-with-npm.sh b/bin/typescript-jquery-petstore-with-npm.sh
new file mode 100755
index 00000000000..576d2ff5c09
--- /dev/null
+++ b/bin/typescript-jquery-petstore-with-npm.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-jquery -c bin/typescript-jquery-petstore-npm.json -o samples/client/petstore/typescript-jquery/npm"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-jquery-petstore.sh b/bin/typescript-jquery-petstore.sh
new file mode 100755
index 00000000000..fcce07152dd
--- /dev/null
+++ b/bin/typescript-jquery-petstore.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-jquery -o samples/client/petstore/typescript-jquery/default"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-node-petstore-all.sh b/bin/typescript-node-petstore-all.sh
index 65f25060725..df9dcb034c4 100755
--- a/bin/typescript-node-petstore-all.sh
+++ b/bin/typescript-node-petstore-all.sh
@@ -28,9 +28,9 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
echo "Typescript node Petstore API client (default setting)"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-node -o samples/client/petstore/typescript-node/default"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-node -o samples/client/petstore/typescript-node/default"
java $JAVA_OPTS -jar $executable $ags
echo "Typescript node Petstore API client with npm setting"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-node -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-node/npm"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-node -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-node/npm"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-node-petstore-with-npm.sh b/bin/typescript-node-petstore-with-npm.sh
index e369be758e7..00972be059d 100755
--- a/bin/typescript-node-petstore-with-npm.sh
+++ b/bin/typescript-node-petstore-with-npm.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-node -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-node/npm"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-node -c bin/typescript-petstore-npm.json -o samples/client/petstore/typescript-node/npm"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-node-petstore.sh b/bin/typescript-node-petstore.sh
index c9d16d96113..f97d4a31657 100755
--- a/bin/typescript-node-petstore.sh
+++ b/bin/typescript-node-petstore.sh
@@ -26,6 +26,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l typescript-node -o samples/client/petstore/typescript-node/default"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l typescript-node -o samples/client/petstore/typescript-node/default"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/windows/async-scala-petstore.bat b/bin/windows/async-scala-petstore.bat
deleted file mode 100755
index be7caec9f6e..00000000000
--- a/bin/windows/async-scala-petstore.bat
+++ /dev/null
@@ -1,10 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l async-scala -o samples\client\petstore\async-scala
-
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/csharp-dotnet2-petstore.bat b/bin/windows/csharp-dotnet2-petstore.bat
new file mode 100755
index 00000000000..90f5ddf7910
--- /dev/null
+++ b/bin/windows/csharp-dotnet2-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l csharp-dotnet2 -o samples/client/petstore/csharp-dotnet2/SwaggerClientTest/Lib/SwaggerClient --additional-properties hideGenerationTimestamp=true
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/csharp-petstore-all.bat b/bin/windows/csharp-petstore-all.bat
index ecef022653a..04e79076ba3 100755
--- a/bin/windows/csharp-petstore-all.bat
+++ b/bin/windows/csharp-petstore-all.bat
@@ -1,8 +1,16 @@
REM C# Petstore API client
-.\bin\windows\csharp-petstore.bat
+call .\bin\windows\csharp-petstore.bat
REM C# Petstore API client with PropertyChanged
-.\bin\windows\csharp-property-changed-petstore.bat
+call .\bin\windows\csharp-property-changed-petstore.bat
REM C# Petstore API client (v5.0 for .net standarnd 1.3+)
-.\bin\windows\csharp-petstore-netstandard.bat
+call .\bin\windows\csharp-petstore-netstandard.bat
+
+call .\bin\windows\csharp-dotnet2-petstore.bat
+
+call .\bin\windows\csharp-petstore-netcore-project.bat
+
+call .\bin\windows\csharp-property-changed-petstore.bat
+
+call .\bin\windows\csharp-petstore-net-40.bat
\ No newline at end of file
diff --git a/bin/windows/csharp-petstore-net-40.bat b/bin/windows/csharp-petstore-net-40.bat
new file mode 100644
index 00000000000..113b2efd987
--- /dev/null
+++ b/bin/windows/csharp-petstore-net-40.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l csharp -o samples/client/petstore/csharp/SwaggerClientNet40 --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C} -c ./bin/csharp-petstore-net-40.json
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/csharp-property-changed-petstore.bat b/bin/windows/csharp-property-changed-petstore.bat
index 4e92f348a49..a09f557def3 100644
--- a/bin/windows/csharp-property-changed-petstore.bat
+++ b/bin/windows/csharp-property-changed-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l csharp -o samples\client\petstore\csharp\SwaggerClientNetStandard --additional-properties targetFramework=v5.0,packageGuid={3AB1F259-1769-484B-9411-84505FCCBD55}
+set ags=generate -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l csharp -o samples\client\petstore\csharp\SwaggerClientWithPropertyChanged --additional-properties=generatePropertyChanged=true,packageGuid={5CD900DE-8266-412F-A758-28E1F9C623D5}
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/eiffel-petstore.bat b/bin/windows/eiffel-petstore.bat
new file mode 100644
index 00000000000..9028359e8c3
--- /dev/null
+++ b/bin/windows/eiffel-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l eiffel -o samples\client\petstore\eiffel
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/erlang-petstore-client.bat b/bin/windows/erlang-petstore-client.bat
new file mode 100755
index 00000000000..228c0c7ca46
--- /dev/null
+++ b/bin/windows/erlang-petstore-client.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -t modules\swagger-codegen\src\main\resources\erlang-client -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l erlang-client -o samples\client\petstore\erlang-client
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/haskell-http-client-petstore.bat b/bin/windows/haskell-http-client-petstore.bat
new file mode 100755
index 00000000000..95e16a1238c
--- /dev/null
+++ b/bin/windows/haskell-http-client-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l haskell-http-client -o samples\client\petstore\haskell-http-client
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-okhttp-gson.bat b/bin/windows/java-petstore-okhttp-gson.bat
index 58b3edef39e..2b61d1decbd 100755
--- a/bin/windows/java-petstore-okhttp-gson.bat
+++ b/bin/windows/java-petstore-okhttp-gson.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java -o samples\client\petstore\java --library=okhttp-gson -DdateLibrary=joda,hideGenerationTimestamp=true
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l java -o samples\client\petstore\java --library=okhttp-gson -DdateLibrary=joda -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore.bat b/bin/windows/java-petstore.bat
index e68f7219914..dfcb8393335 100755
--- a/bin/windows/java-petstore.bat
+++ b/bin/windows/java-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java -o samples\client\petstore\java -DdateLibrary=joda,hideGenerationTimestamp=true
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l java -o samples\client\petstore\java -DdateLibrary=joda -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-play-framework-petstore-server.bat b/bin/windows/java-play-framework-petstore-server.bat
index 058e54e5e79..f0011360a52 100644
--- a/bin/windows/java-play-framework-petstore-server.bat
+++ b/bin/windows/java-play-framework-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-play-framework -o samples\server\petstore\java-play-framework
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-play-framework -o samples\server\petstore\java-play-framework -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-vertx-async-petstore-server.bat b/bin/windows/java-vertx-async-petstore-server.bat
index 105eaa23687..8195b0664a4 100644
--- a/bin/windows/java-vertx-async-petstore-server.bat
+++ b/bin/windows/java-vertx-async-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-vertx -o samples\server\petstore\java-vertx\async -DvertxSwaggerRouterVersion=1.2.0
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-vertx -o samples\server\petstore\java-vertx\async -DvertxSwaggerRouterVersion=1.2.0 -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-vertx-rx-petstore-server.bat b/bin/windows/java-vertx-rx-petstore-server.bat
index fc7b2397547..ee45c09eeae 100644
--- a/bin/windows/java-vertx-rx-petstore-server.bat
+++ b/bin/windows/java-vertx-rx-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-vertx -o samples\server\petstore\java-vertx\rx -DvertxSwaggerRouterVersion=1.2.0,rxInterface=true
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l java-vertx -o samples\server\petstore\java-vertx\rx -DvertxSwaggerRouterVersion=1.2.0 -DrxInterface=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-spec-petstore-server-interface.bat b/bin/windows/jaxrs-spec-petstore-server-interface.bat
new file mode 100644
index 00000000000..5ca4f38101e
--- /dev/null
+++ b/bin/windows/jaxrs-spec-petstore-server-interface.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs-spec -o samples\server\petstore\jaxrs-spec-interface -DhideGenerationTimestamp=true,serializableModel=true,interfaceOnly=true
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-spec-petstore-server.bat b/bin/windows/jaxrs-spec-petstore-server.bat
new file mode 100644
index 00000000000..30c19a50891
--- /dev/null
+++ b/bin/windows/jaxrs-spec-petstore-server.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l jaxrs-spec -o samples\server\petstore\jaxrs-spec -DhideGenerationTimestamp=true,serializableModel=true
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/lua-petstore.bat b/bin/windows/lua-petstore.bat
new file mode 100755
index 00000000000..39f9c81fa32
--- /dev/null
+++ b/bin/windows/lua-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l lua -o samples\client\petstore\lua
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/php-silex-petstore.bat b/bin/windows/php-silex-petstore.bat
new file mode 100644
index 00000000000..7e5ae1d8de1
--- /dev/null
+++ b/bin/windows/php-silex-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l php-silex -o samples\server\petstore\php-silex
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python-petstore.bat b/bin/windows/python-petstore.bat
index 1c5441f216f..f4170d9d91c 100755
--- a/bin/windows/python-petstore.bat
+++ b/bin/windows/python-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l python -o samples\client\petstore\python
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l python -o samples\client\petstore\python -DpackageName=petstore_api
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python2-flask-petstore.bat b/bin/windows/python2-flask-petstore.bat
new file mode 100755
index 00000000000..ae0b14f21f5
--- /dev/null
+++ b/bin/windows/python2-flask-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l python-flask -o samples\server\petstore\flaskConnexion-python2 -c bin\supportPython2.json -D service
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python3-flask-petstore.bat b/bin/windows/python3-flask-petstore.bat
new file mode 100755
index 00000000000..97d95f4f8de
--- /dev/null
+++ b/bin/windows/python3-flask-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l python-flask -o samples\server\petstore\flaskConnexion -D service
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/r-petstore.bat b/bin/windows/r-petstore.bat
new file mode 100755
index 00000000000..07b8194d76f
--- /dev/null
+++ b/bin/windows/r-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l r -o samples\client\petstore\r
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/rust-petstore.bat b/bin/windows/rust-petstore.bat
new file mode 100644
index 00000000000..70645379abb
--- /dev/null
+++ b/bin/windows/rust-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l rust -o samples\client\petstore\rust
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/rust-server-petstore.bat b/bin/windows/rust-server-petstore.bat
new file mode 100755
index 00000000000..ff565aa1e04
--- /dev/null
+++ b/bin/windows/rust-server-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l rust-server -o samples\server\petstore\rust-server
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/scala-lagom-petstore.bat b/bin/windows/scala-lagom-petstore.bat
new file mode 100644
index 00000000000..c2dfed7ae1f
--- /dev/null
+++ b/bin/windows/scala-lagom-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l scala-lagom-server -o samples\server\petstore\scala-lagom-server
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/spring-mvc-petstore-j8-async-server.bat b/bin/windows/spring-mvc-petstore-j8-async-server.bat
index b9c9745e8d9..9fc1c4e20d1 100644
--- a/bin/windows/spring-mvc-petstore-j8-async-server.bat
+++ b/bin/windows/spring-mvc-petstore-j8-async-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l spring --library=spring-mvc -o samples\server\petstore\spring-mvc-j8-async -c bin\spring-mvc-petstore-j8-async.json
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l spring --library=spring-mvc -o samples\server\petstore\spring-mvc-j8-async -c bin\spring-mvc-petstore-j8-async.json -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/spring-mvc-petstore-server.bat b/bin/windows/spring-mvc-petstore-server.bat
index 18975dead96..ebac66c3c15 100644
--- a/bin/windows/spring-mvc-petstore-server.bat
+++ b/bin/windows/spring-mvc-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l spring --library=spring-mvc -o samples\server\petstore\spring-mvc
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -c bin\spring-mvc-petstore-server.json -l spring --library=spring-mvc -o samples\server\petstore\spring-mvc -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/springboot-petstore-server.bat b/bin/windows/springboot-petstore-server.bat
index 4a9ca037c3b..886c6204371 100644
--- a/bin/windows/springboot-petstore-server.bat
+++ b/bin/windows/springboot-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l spring -o samples\server\petstore\springboot
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -l spring -o samples\server\petstore\springboot -DhideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-petstore-all.bat b/bin/windows/typescript-angular-petstore-all.bat
new file mode 100644
index 00000000000..dff81b05a62
--- /dev/null
+++ b/bin/windows/typescript-angular-petstore-all.bat
@@ -0,0 +1,7 @@
+call .\bin\windows\typescript-angular-v2-with-npm.bat
+call .\bin\windows\typescript-angular-v2-interfaces.bat
+call .\bin\windows\typescript-angular-v2.bat
+call .\bin\windows\typescript-angular-v4-with-npm.bat
+call .\bin\windows\typescript-angular-v4.3-with-npm.bat
+
+
diff --git a/bin/windows/typescript-angular-v2-interfaces.bat b/bin/windows/typescript-angular-v2-interfaces.bat
new file mode 100644
index 00000000000..c25d9c61e75
--- /dev/null
+++ b/bin/windows/typescript-angular-v2-interfaces.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular-v2\with-interfaces -D withInterfaces=true --additional-properties ngVersion=2
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v2-with-npm.bat b/bin/windows/typescript-angular-v2-with-npm.bat
new file mode 100644
index 00000000000..a1d5b2330a0
--- /dev/null
+++ b/bin/windows/typescript-angular-v2-with-npm.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular-v2\npm --additional-properties ngVersion=2
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v2.bat b/bin/windows/typescript-angular-v2.bat
new file mode 100755
index 00000000000..ec9da16154f
--- /dev/null
+++ b/bin/windows/typescript-angular-v2.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular -o samples\client\petstore\typescript-angular-v2\default --additional-properties ngVersion=2
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v4-with-npm.bat b/bin/windows/typescript-angular-v4-with-npm.bat
new file mode 100644
index 00000000000..f89de17373d
--- /dev/null
+++ b/bin/windows/typescript-angular-v4-with-npm.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular-v4\npm --additional-properties ngVersion=4
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v4.3-with-npm.bat b/bin/windows/typescript-angular-v4.3-with-npm.bat
new file mode 100644
index 00000000000..5ad1cbd9b2d
--- /dev/null
+++ b/bin/windows/typescript-angular-v4.3-with-npm.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular -o samples\client\petstore\typescript-angular-v4.3\npm --additional-properties ngVersion=4.3
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular.bat b/bin/windows/typescript-angular.bat
deleted file mode 100755
index 47e575494f0..00000000000
--- a/bin/windows/typescript-angular.bat
+++ /dev/null
@@ -1,10 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular -o samples\client\petstore\typescript-angular
-
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular2-all.bat b/bin/windows/typescript-angular2-all.bat
deleted file mode 100644
index 119de7e7bcc..00000000000
--- a/bin/windows/typescript-angular2-all.bat
+++ /dev/null
@@ -1,18 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-echo "Typescript Petstore API client (default)"
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular2 -o samples\client\petstore\typescript-angular2\default
-java %JAVA_OPTS% -jar %executable% %ags%
-
-echo "Typescript Petstore API client (with interfaces generated)"
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular2 -o samples\client\petstore\typescript-angular2\with-interfaces -D withInterfaces=true
-java %JAVA_OPTS% -jar %executable% %ags%
-
-echo "Typescript Petstore API client (npm setting)"
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular2 -c bin\typescript-petstore-npm.json -o samples\client\petstore\typescript-angular2\npm
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular2-with-npm.bat b/bin/windows/typescript-angular2-with-npm.bat
deleted file mode 100644
index 0bf7a88ad11..00000000000
--- a/bin/windows/typescript-angular2-with-npm.bat
+++ /dev/null
@@ -1,10 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-angular2 -o samples\client\petstore\typescript-angular2\npm
-
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular2.bat b/bin/windows/typescript-angular2.bat
deleted file mode 100755
index 81be77b6bff..00000000000
--- a/bin/windows/typescript-angular2.bat
+++ /dev/null
@@ -1,10 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angular2 -o samples\client\petstore\typescript-angular2\default
-
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angularjs.bat b/bin/windows/typescript-angularjs.bat
new file mode 100755
index 00000000000..b33a07f367a
--- /dev/null
+++ b/bin/windows/typescript-angularjs.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-angularjs -o samples\client\petstore\typescript-angularjs
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-aurelia-petstore.bat b/bin/windows/typescript-aurelia-petstore.bat
new file mode 100644
index 00000000000..06fe370bef1
--- /dev/null
+++ b/bin/windows/typescript-aurelia-petstore.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-aurelia -o samples\client\petstore\typescript-aurelia\default
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-fetch-petstore-all.bat b/bin/windows/typescript-fetch-petstore-all.bat
new file mode 100644
index 00000000000..ed41df84bb5
--- /dev/null
+++ b/bin/windows/typescript-fetch-petstore-all.bat
@@ -0,0 +1,5 @@
+@ECHO OFF
+
+call bin\windows\typescript-fetch-petstore.bat
+call bin\windows\typescript-fetch-petstore-target-es6.bat
+call bin\windows\typescript-fetch-petstore-with-npm-version.bat
diff --git a/bin/windows/typescript-fetch-petstore-target-es6.bat b/bin/windows/typescript-fetch-petstore-target-es6.bat
new file mode 100644
index 00000000000..99a1f26429e
--- /dev/null
+++ b/bin/windows/typescript-fetch-petstore-target-es6.bat
@@ -0,0 +1,12 @@
+@ECHO OFF
+
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-fetch -c bin\typescript-fetch-petstore-target-es6.json -o samples\client\petstore\typescript-fetch\builds\es6-target
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-fetch-petstore-with-npm-version.bat b/bin/windows/typescript-fetch-petstore-with-npm-version.bat
new file mode 100644
index 00000000000..30cdf1a9d44
--- /dev/null
+++ b/bin/windows/typescript-fetch-petstore-with-npm-version.bat
@@ -0,0 +1,12 @@
+@ECHO OFF
+
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-fetch -c bin\typescript-fetch-petstore-with-npm-version.json -o samples\client\petstore\typescript-fetch\builds\with-npm-version
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-fetch-petstore.bat b/bin/windows/typescript-fetch-petstore.bat
new file mode 100644
index 00000000000..a2732b88748
--- /dev/null
+++ b/bin/windows/typescript-fetch-petstore.bat
@@ -0,0 +1,14 @@
+@ECHO OFF
+
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+
+echo
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-fetch -o samples\client\petstore\typescript-fetch\builds\default
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-fetch.bat b/bin/windows/typescript-fetch.bat
deleted file mode 100755
index a2b45b39901..00000000000
--- a/bin/windows/typescript-fetch.bat
+++ /dev/null
@@ -1,10 +0,0 @@
-set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
-
-If Not Exist %executable% (
- mvn clean package
-)
-
-REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-fetch -o samples\client\petstore\typescript-fetch
-
-java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-jquery-with-npm.bat b/bin/windows/typescript-jquery-with-npm.bat
new file mode 100644
index 00000000000..630042e35db
--- /dev/null
+++ b/bin/windows/typescript-jquery-with-npm.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -c bin\typescript-petstore-npm.json -l typescript-jquery -o samples\client\petstore\typescript-jquery\npm
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-jquery.bat b/bin/windows/typescript-jquery.bat
new file mode 100644
index 00000000000..24d9378ec62
--- /dev/null
+++ b/bin/windows/typescript-jquery.bat
@@ -0,0 +1,10 @@
+set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
+
+If Not Exist %executable% (
+ mvn clean package
+)
+
+REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l typescript-jquery -o samples\client\petstore\typescript-jquery\default
+
+java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index 556b6ff2f63..ca6b8d4e361 100755
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -11,7 +11,7 @@ codegen="${cli}/target/swagger-codegen-cli.jar"
cmdsrc="${cli}/src/main/java/io/swagger/codegen/cmd"
pattern="@Command(name = \"$1\""
-if expr "x$1" : 'x[a-z][a-z-]*$' > /dev/null && fgrep -qe "$pattern" "$cmdsrc"/*.java; then
+if expr "x$1" : 'x[a-z][a-z-]*$' > /dev/null && fgrep -qe "$pattern" "$cmdsrc"/*.java || expr "$1" = 'help' > /dev/null; then
# If ${GEN_DIR} has been mapped elsewhere from default, and that location has not been built
if [[ ! -f "${codegen}" ]]; then
(cd "${GEN_DIR}" && exec mvn -am -pl "modules/swagger-codegen-cli" -Duser.home=$(dirname MAVEN_CONFIG) package)
diff --git a/modules/swagger-codegen-cli/pom.xml b/modules/swagger-codegen-cli/pom.xml
index 22075128a7f..87780115964 100644
--- a/modules/swagger-codegen-cli/pom.xml
+++ b/modules/swagger-codegen-cli/pom.xml
@@ -3,7 +3,7 @@
io.swagger
swagger-codegen-project
- 2.2.3
+ 2.3.0-SNAPSHOT
../..
4.0.0
diff --git a/modules/swagger-codegen-maven-plugin/README.md b/modules/swagger-codegen-maven-plugin/README.md
index 5592cfe2384..34abd375b15 100644
--- a/modules/swagger-codegen-maven-plugin/README.md
+++ b/modules/swagger-codegen-maven-plugin/README.md
@@ -11,7 +11,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
io.swagger
swagger-codegen-maven-plugin
- 2.2.2
+ 2.2.3
@@ -46,7 +46,7 @@ mvn clean compile
- `apiPackage` - the package to use for generated api objects/classes
- `invokerPackage` - the package to use for the generated invoker objects
- `modelNamePrefix` and `modelNameSuffix` - Sets the pre- or suffix for model classes and enums
-- `useJaxbAnnotations` - enable Jaxb annotations inside the generated models
+- `withXml` - enable XML annotations inside the generated models and API (only works with Java `language` and libraries that provide support for JSON and XML)
- `configOptions` - a map of language-specific parameters (see below)
- `configHelp` - dumps the configuration help for the specified library (generates no sources)
- `ignoreFileOverride` - specifies the full path to a `.swagger-codegen-ignore` used for pattern based overrides of generated outputs
diff --git a/modules/swagger-codegen-maven-plugin/pom.xml b/modules/swagger-codegen-maven-plugin/pom.xml
index f78b68cb572..96424dcc063 100644
--- a/modules/swagger-codegen-maven-plugin/pom.xml
+++ b/modules/swagger-codegen-maven-plugin/pom.xml
@@ -6,7 +6,7 @@
io.swagger
swagger-codegen-project
- 2.2.3
+ 2.3.0-SNAPSHOT
../..
swagger-codegen-maven-plugin
diff --git a/modules/swagger-codegen/.gitignore b/modules/swagger-codegen/.gitignore
index f4ccae271fa..3e9b4fcd792 100644
--- a/modules/swagger-codegen/.gitignore
+++ b/modules/swagger-codegen/.gitignore
@@ -1,2 +1,3 @@
/.settings/
/test-output/
+/bin/
diff --git a/modules/swagger-codegen/pom.xml b/modules/swagger-codegen/pom.xml
index 698bbd233ec..f745c673b8c 100644
--- a/modules/swagger-codegen/pom.xml
+++ b/modules/swagger-codegen/pom.xml
@@ -3,7 +3,7 @@
io.swagger
swagger-codegen-project
- 2.2.3
+ 2.3.0-SNAPSHOT
../..
4.0.0
@@ -278,6 +278,12 @@
commonmark
0.9.0
+
+ org.mockito
+ mockito-core
+ 2.8.47
+ test
+
diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java
index 682388b766f..bd44d7a3979 100644
--- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java
+++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenConfig.java
@@ -1,26 +1,26 @@
package io.swagger.codegen;
-import io.swagger.models.Model;
-import io.swagger.models.Operation;
-import io.swagger.models.Swagger;
-import io.swagger.models.auth.SecuritySchemeDefinition;
-import io.swagger.models.properties.Property;
-
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.samskivert.mustache.Mustache.Compiler;
+import io.swagger.models.Model;
+import io.swagger.models.Operation;
+import io.swagger.models.Swagger;
+import io.swagger.models.auth.SecuritySchemeDefinition;
+import io.swagger.models.properties.Property;
+
public interface CodegenConfig {
CodegenType getTag();
-
+
String getName();
String getHelp();
Map additionalProperties();
-
+
Map vendorExtensions();
String testPackage();
@@ -92,7 +92,7 @@ public interface CodegenConfig {
CodegenModel fromModel(String name, Model model, Map allDefinitions);
CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map definitions, Swagger swagger);
-
+
CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map definitions);
List fromSecurity(Map schemes);
@@ -118,7 +118,7 @@ public interface CodegenConfig {
Map modelDocTemplateFiles();
Set languageSpecificPrimitives();
-
+
Map reservedWordsMappings();
void preprocessSwagger(Swagger swagger);
@@ -136,11 +136,11 @@ public interface CodegenConfig {
String toApiTestFilename(String name);
String toModelTestFilename(String name);
-
+
String toApiDocFilename(String name);
String toModelDocFilename(String name);
-
+
String toModelImport(String name);
String toApiImport(String name);
@@ -148,11 +148,13 @@ public interface CodegenConfig {
void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map> operations);
Map postProcessAllModels(Map objs);
-
+
Map postProcessModels(Map objs);
Map postProcessOperations(Map objs);
+ Map postProcessOperationsWithModels(Map objs, List