diff --git a/bin/ada-petstore.sh b/bin/ada-petstore.sh
index 87005f0ee1b..5441bd13ec3 100755
--- a/bin/ada-petstore.sh
+++ b/bin/ada-petstore.sh
@@ -30,7 +30,7 @@ export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
model="modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
ags="generate --template-dir modules/openapi-generator/src/main/resources/Ada -g ada $@"
ags="$ags -i $model -t modules/openapi-generator/src/main/resources/Ada -o samples/client/petstore/ada"
-ags="$ags -DprojectName=Petstore --model-package Samples.Petstore"
+ags="$ags --additional-properties projectName=Petstore --model-package Samples.Petstore"
java $JAVA_OPTS -jar $executable $ags
rm -rf samples/client/petstore/ada/src/server
diff --git a/bin/android-petstore-httpclient.sh b/bin/android-petstore-httpclient.sh
index c2e03a737fa..d0982cec14f 100755
--- a/bin/android-petstore-httpclient.sh
+++ b/bin/android-petstore-httpclient.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/android -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g android -Dlibrary=httpclient -o samples/client/petstore/android/httpclient $@"
+ags="generate -t modules/openapi-generator/src/main/resources/android -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g android --additional-properties library=httpclient -o samples/client/petstore/android/httpclient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/dart-flutter-petstore.sh b/bin/dart-flutter-petstore.sh
index af7a58af75f..af3aaca2bec 100755
--- a/bin/dart-flutter-petstore.sh
+++ b/bin/dart-flutter-petstore.sh
@@ -28,18 +28,18 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
## Generate non-browserClient
-#ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+#ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
#
## then options to generate the library for vm would be:
-##ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger_vm -DbrowserClient=false -DpubName=swagger_vm $@"
+##ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger_vm --additional-properties browserClient=false,pubName=swagger_vm $@"
#java $JAVA_OPTS -jar $executable $ags
#
## Generate browserClient
-#ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true $@"
+#ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/swagger-browser-client --additional-properties hideGenerationTimestamp=true,browserClient=true $@"
#java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/swagger -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/swagger --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
diff --git a/bin/dart-jaguar-petstore.sh b/bin/dart-jaguar-petstore.sh
index ffec056c46e..c5348cd34be 100755
--- a/bin/dart-jaguar-petstore.sh
+++ b/bin/dart-jaguar-petstore.sh
@@ -28,19 +28,19 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate client
-ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/openapi -DhideGenerationTimestamp=true -DpubName=openapi"
+ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/openapi --additional-properties hideGenerationTimestamp=true,pubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
-ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_petstore/openapi -DhideGenerationTimestamp=true -DpubName=openapi"
+ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_petstore/openapi --additional-properties hideGenerationTimestamp=true,pubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# Generate proto and put it to the flutter sample app
-ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore-proto.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_proto_petstore/openapi -Dserialization=proto -DhideGenerationTimestamp=true -DpubName=openapi"
+ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore-proto.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/flutter_proto_petstore/openapi --additional-properties serialization=proto,hideGenerationTimestamp=true,pubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# Generate proto and put it to the sample
-ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore-proto.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/openapi_proto -Dserialization=proto -DhideGenerationTimestamp=true -DpubName=openapi"
+ags="$@ generate -t modules/openapi-generator/src/main/resources/dart-jaguar -i modules/openapi-generator/src/test/resources/2_0/petstore-proto.yaml -g dart-jaguar -o samples/client/petstore/dart-jaguar/openapi_proto --additional-properties serialization=proto,hideGenerationTimestamp=true,pubName=openapi"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
diff --git a/bin/dart-petstore.sh b/bin/dart-petstore.sh
index 669105c6ae5..ee60cb6c4f8 100755
--- a/bin/dart-petstore.sh
+++ b/bin/dart-petstore.sh
@@ -29,18 +29,18 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate non-browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi -DhideGenerationTimestamp=true -DbrowserClient=false --additional-properties supportDart2=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false,supportDart2=false $@"
# then options to generate the library for vm would be:
-#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm -DbrowserClient=false -DpubName=openapi_vm --additional-properties supportDart2=false $@"
+#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm --additional-properties browserClient=false,pubName=openapi_vm --additional-properties supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# Generate browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true --additional-properties supportDart2=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client --additional-properties hideGenerationTimestamp=true,browserClient=true,supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false --additional-properties supportDart2=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false,supportDart2=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
diff --git a/bin/dart2-petstore.sh b/bin/dart2-petstore.sh
index 8fa61715ada..e8a57ffca7e 100755
--- a/bin/dart2-petstore.sh
+++ b/bin/dart2-petstore.sh
@@ -29,18 +29,18 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate non-browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
# then options to generate the library for vm would be:
-#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi_vm -DbrowserClient=false -DpubName=openapi_vm $@"
+#ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi_vm --additional-properties browserClient=false,pubName=openapi_vm $@"
java $JAVA_OPTS -jar $executable $ags
# Generate browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/openapi-browser-client --additional-properties hideGenerationTimestamp=true,browserClient=true $@"
java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g dart -o samples/client/petstore/dart2/flutter_petstore/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
diff --git a/bin/erlang-petstore-client.sh b/bin/erlang-petstore-client.sh
index 7afeffd2e3f..77ee5acf0ef 100755
--- a/bin/erlang-petstore-client.sh
+++ b/bin/erlang-petstore-client.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/erlang-client -DpackageName=petstore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g erlang-client -o samples/client/petstore/erlang-client $@"
+ags="generate -t modules/openapi-generator/src/main/resources/erlang-client --additional-properties packageName=petstore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g erlang-client -o samples/client/petstore/erlang-client $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/erlang-petstore-proper.sh b/bin/erlang-petstore-proper.sh
index 409b5f2eae4..4c19eec46df 100755
--- a/bin/erlang-petstore-proper.sh
+++ b/bin/erlang-petstore-proper.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/erlang-proper -DpackageName=petstore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g erlang-proper -o samples/client/petstore/erlang-proper $@"
+ags="generate -t modules/openapi-generator/src/main/resources/erlang-proper --additional-properties packageName=petstore -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g erlang-proper -o samples/client/petstore/erlang-proper $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/go-gin-petstore-server.sh b/bin/go-gin-petstore-server.sh
index 1ac7605d791..b18bffcdff7 100755
--- a/bin/go-gin-petstore-server.sh
+++ b/bin/go-gin-petstore-server.sh
@@ -35,7 +35,7 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstoreserver --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
#!/usr/bin/env bash
\ No newline at end of file
diff --git a/bin/go-petstore-server.sh b/bin/go-petstore-server.sh
index 32dfa8e93c4..3e5c19e436b 100755
--- a/bin/go-petstore-server.sh
+++ b/bin/go-petstore-server.sh
@@ -35,6 +35,6 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go-server -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstoreserver,hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/go-petstore-withxml.sh b/bin/go-petstore-withxml.sh
index 50b8cb27833..4c575497254 100755
--- a/bin/go-petstore-withxml.sh
+++ b/bin/go-petstore-withxml.sh
@@ -34,6 +34,6 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore,withXml=true,withGoCodegenComment=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstore,withXml=true,withGoCodegenComment=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/go-petstore.sh b/bin/go-petstore.sh
index 865212c93ba..7dc5fe4907b 100755
--- a/bin/go-petstore.sh
+++ b/bin/go-petstore.sh
@@ -34,6 +34,6 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/graphql-nodejs-express-server.sh b/bin/graphql-nodejs-express-server.sh
index b257e529935..69ee4a3bf55 100755
--- a/bin/graphql-nodejs-express-server.sh
+++ b/bin/graphql-nodejs-express-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
-ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/graphql-schema-petstore.sh b/bin/graphql-schema-petstore.sh
index 10dfb5a5dc9..c6f36de2b5e 100755
--- a/bin/graphql-schema-petstore.sh
+++ b/bin/graphql-schema-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
-ags="generate -t modules/openapi-generator/src/main/resources/graphql-schema -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-schema -o samples/config/petstore/graphql-schema -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/graphql-schema -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g graphql-schema -o samples/config/petstore/graphql-schema --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/groovy-petstore.sh b/bin/groovy-petstore.sh
index 99fa2e940a5..1a9db858a3c 100755
--- a/bin/groovy-petstore.sh
+++ b/bin/groovy-petstore.sh
@@ -27,5 +27,5 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Groovy/ -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g groovy -o samples/client/petstore/groovy -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Groovy/ -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g groovy -o samples/client/petstore/groovy --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-inflector-petstore-server.sh b/bin/java-inflector-petstore-server.sh
index 1456a7457fd..b37e444a923 100755
--- a/bin/java-inflector-petstore-server.sh
+++ b/bin/java-inflector-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaInflector -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-inflector -o samples/server/petstore/java-inflector -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaInflector -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-inflector -o samples/server/petstore/java-inflector --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-msf4j-petstore-server.sh b/bin/java-msf4j-petstore-server.sh
index 8df820296c2..46ae1caef9a 100755
--- a/bin/java-msf4j-petstore-server.sh
+++ b/bin/java-msf4j-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/java-msf4j-server -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-msf4j -o samples/server/petstore/java-msf4j/ -DhideGenerationTimestamp=true --additional-properties artifactId=java-msf4j-server $@"
+ags="generate -t modules/openapi-generator/src/main/resources/java-msf4j-server -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-msf4j -o samples/server/petstore/java-msf4j/ --additional-properties hideGenerationTimestamp=true --additional-properties artifactId=java-msf4j-server $@"
echo "Removing files and folders under samples/server/petstore/java-msf4j/src/main"
rm -rf samples/server/petstore/java-msf4j/src/main
diff --git a/bin/java-petstore-feign-10x.sh b/bin/java-petstore-feign-10x.sh
index 3ee6bd937e1..15b1b40e214 100755
--- a/bin/java-petstore-feign-10x.sh
+++ b/bin/java-petstore-feign-10x.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-10x.json -o samples/client/petstore/java/feign10x -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-10x.json -o samples/client/petstore/java/feign10x --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/feign10x/src/main"
rm -rf samples/client/petstore/java/feign10x/src/main
diff --git a/bin/java-petstore-feign.sh b/bin/java-petstore-feign.sh
index f6ead964ace..abac67deb9d 100755
--- a/bin/java-petstore-feign.sh
+++ b/bin/java-petstore-feign.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-9x.json -o samples/client/petstore/java/feign -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/feign -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-feign-9x.json -o samples/client/petstore/java/feign --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/feign/src/main"
rm -rf samples/client/petstore/java/feign/src/main
diff --git a/bin/java-petstore-google-api-client.sh b/bin/java-petstore-google-api-client.sh
index ace4eb43870..20e3577f197 100755
--- a/bin/java-petstore-google-api-client.sh
+++ b/bin/java-petstore-google-api-client.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/google-api-client -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-google-api-client.json -o samples/client/petstore/java/google-api-client -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/google-api-client -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-google-api-client.json -o samples/client/petstore/java/google-api-client --additional-properties hideGenerationTimestamp=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
diff --git a/bin/java-petstore-jersey1.sh b/bin/java-petstore-jersey1.sh
index 2a6e6ab8f71..cb6e0ea3a6b 100755
--- a/bin/java-petstore-jersey1.sh
+++ b/bin/java-petstore-jersey1.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-java-client-jersey1 -t modules/openapi-generator/src/main/resources/Java -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples/client/petstore/java/jersey1 -DhideGenerationTimestamp=true --library=jersey1 --additional-properties useNullForUnknownEnumValue=true $@"
+ags="generate --artifact-id petstore-java-client-jersey1 -t modules/openapi-generator/src/main/resources/Java -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples/client/petstore/java/jersey1 --additional-properties hideGenerationTimestamp=true --library=jersey1 --additional-properties useNullForUnknownEnumValue=true $@"
echo "Removing files and folders under samples/client/petstore/java/jersey1/src/main"
rm -rf samples/client/petstore/java/jersey1/src/main
diff --git a/bin/java-petstore-jersey2-java6.sh b/bin/java-petstore-jersey2-java6.sh
index b0d32f84db6..4a5b032d0db 100755
--- a/bin/java-petstore-jersey2-java6.sh
+++ b/bin/java-petstore-jersey2-java6.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-jersey2-java6 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java6 -DhideGenerationTimestamp=true,supportJava6=true,booleanGetterPrefix=is $@"
+ags="generate --artifact-id petstore-jersey2-java6 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java6 --additional-properties hideGenerationTimestamp=true,supportJava6=true,booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/jersey2-java6/src/main"
rm -rf samples/client/petstore/java/jersey2-java6/src/main
diff --git a/bin/java-petstore-jersey2.sh b/bin/java-petstore-jersey2.sh
index 05fc95fbc9e..e91dba6ff00 100755
--- a/bin/java-petstore-jersey2.sh
+++ b/bin/java-petstore-jersey2.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2 -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-jersey2.json -o samples/client/petstore/java/jersey2 --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/jersey2/src/main"
rm -rf samples/client/petstore/java/jersey2/src/main
diff --git a/bin/java-petstore-okhttp-gson-parcelable.sh b/bin/java-petstore-okhttp-gson-parcelable.sh
index 183aa87693a..ae4fbfd8d2b 100755
--- a/bin/java-petstore-okhttp-gson-parcelable.sh
+++ b/bin/java-petstore-okhttp-gson-parcelable.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-okhttp-gson-parcelableModel -t modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-okhttp-gson.json -o samples/client/petstore/java/okhttp-gson-parcelableModel -DhideGenerationTimestamp=true,parcelableModel=true $@"
+ags="generate --artifact-id petstore-okhttp-gson-parcelableModel -t modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-okhttp-gson.json -o samples/client/petstore/java/okhttp-gson-parcelableModel --additional-properties hideGenerationTimestamp=true,parcelableModel=true $@"
rm -rf samples/client/petstore/java/okhttp-gson-parcelableModel/src/main
find samples/client/petstore/java/okhttp-gson-parcelableModel -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
diff --git a/bin/java-petstore-okhttp-gson.sh b/bin/java-petstore-okhttp-gson.sh
index 3d788766122..8e7e7ac84e4 100755
--- a/bin/java-petstore-okhttp-gson.sh
+++ b/bin/java-petstore-okhttp-gson.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-okhttp-gson.json -o samples/client/petstore/java/okhttp-gson -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-okhttp-gson.json -o samples/client/petstore/java/okhttp-gson --additional-properties hideGenerationTimestamp=true $@"
rm -rf samples/client/petstore/java/okhttp-gson/src/main
find samples/client/petstore/java/okhttp-gson -maxdepth 1 -type f ! -name "README.md" -exec rm {} +
diff --git a/bin/java-petstore-rest-assured.sh b/bin/java-petstore-rest-assured.sh
index 012f2dced08..cacc3cf3c27 100755
--- a/bin/java-petstore-rest-assured.sh
+++ b/bin/java-petstore-rest-assured.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/rest-assured -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-rest-assured.json -o samples/client/petstore/java/rest-assured -DhideGenerationTimestamp=true --additional-properties booleanGetterPrefix=is $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/rest-assured -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-rest-assured.json -o samples/client/petstore/java/rest-assured --additional-properties hideGenerationTimestamp=true --additional-properties booleanGetterPrefix=is $@"
echo "Removing files and folders under samples/client/petstore/java/rest-assured/src/main"
rm -rf samples/client/petstore/java/rest-assured/src/main
diff --git a/bin/java-petstore-resteasy.sh b/bin/java-petstore-resteasy.sh
index c0a0b0c188c..ae611374131 100755
--- a/bin/java-petstore-resteasy.sh
+++ b/bin/java-petstore-resteasy.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-resteasy.json -o samples/client/petstore/java/resteasy -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-resteasy.json -o samples/client/petstore/java/resteasy --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/resteasy/src/main"
rm -rf samples/client/petstore/java/resteasy/src/main
diff --git a/bin/java-petstore-resttemplate-withxml.sh b/bin/java-petstore-resttemplate-withxml.sh
index fe44afde84d..19c142a2d4f 100755
--- a/bin/java-petstore-resttemplate-withxml.sh
+++ b/bin/java-petstore-resttemplate-withxml.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml --artifact-id petstore-resttemplate-withxml -g java -c bin/java-petstore-resttemplate.json -o samples/client/petstore/java/resttemplate-withXml -DhideGenerationTimestamp=true,withXml=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml --artifact-id petstore-resttemplate-withxml -g java -c bin/java-petstore-resttemplate.json -o samples/client/petstore/java/resttemplate-withXml --additional-properties hideGenerationTimestamp=true,withXml=true $@"
echo "Removing files and folders under samples/client/petstore/java/resttemplate/src/main"
rm -rf samples/client/petstore/java/resttemplate-withXml/src/main
diff --git a/bin/java-petstore-resttemplate.sh b/bin/java-petstore-resttemplate.sh
index e1cf8ac27bc..d37d40059ff 100755
--- a/bin/java-petstore-resttemplate.sh
+++ b/bin/java-petstore-resttemplate.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-resttemplate.json -o samples/client/petstore/java/resttemplate -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-resttemplate.json -o samples/client/petstore/java/resttemplate --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/resttemplate/src/main"
rm -rf samples/client/petstore/java/resttemplate/src/main
diff --git a/bin/java-petstore-retrofit.sh b/bin/java-petstore-retrofit.sh
index e368e1b1b3a..127f16b44eb 100755
--- a/bin/java-petstore-retrofit.sh
+++ b/bin/java-petstore-retrofit.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit.json -o samples/client/petstore/java/retrofit -DhideGenerationTimestamp=true,dateLibrary=joda $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit.json -o samples/client/petstore/java/retrofit --additional-properties hideGenerationTimestamp=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-play24.sh b/bin/java-petstore-retrofit2-play24.sh
index fa37a6f0d4b..4b94855865e 100755
--- a/bin/java-petstore-retrofit2-play24.sh
+++ b/bin/java-petstore-retrofit2-play24.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-java-client-retrofit2-play24 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play24.json -o samples/client/petstore/java/retrofit2-play24 -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id petstore-java-client-retrofit2-play24 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play24.json -o samples/client/petstore/java/retrofit2-play24 --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2-play24/src/main"
rm -rf samples/client/petstore/java/retrofit2-play24/src/main
diff --git a/bin/java-petstore-retrofit2-play25.sh b/bin/java-petstore-retrofit2-play25.sh
index f06506493f6..1954c2e045e 100755
--- a/bin/java-petstore-retrofit2-play25.sh
+++ b/bin/java-petstore-retrofit2-play25.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-java-client-retrofit2-play25 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play25.json -o samples/client/petstore/java/retrofit2-play25 -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id petstore-java-client-retrofit2-play25 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play25.json -o samples/client/petstore/java/retrofit2-play25 --additional-properties hideGenerationTimestamp=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
diff --git a/bin/java-petstore-retrofit2-play26.sh b/bin/java-petstore-retrofit2-play26.sh
index edec7c1d214..0c582d09af1 100755
--- a/bin/java-petstore-retrofit2-play26.sh
+++ b/bin/java-petstore-retrofit2-play26.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-java-client-retrofit2-play26 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play26.json -o samples/client/petstore/java/retrofit2-play26 -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id petstore-java-client-retrofit2-play26 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2-play26.json -o samples/client/petstore/java/retrofit2-play26 --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2-play26/src/main"
rm -rf samples/client/petstore/java/retrofit2-play26/src/main
diff --git a/bin/java-petstore-retrofit2.sh b/bin/java-petstore-retrofit2.sh
index 18251325cfe..2dce65f2724 100755
--- a/bin/java-petstore-retrofit2.sh
+++ b/bin/java-petstore-retrofit2.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2.json -o samples/client/petstore/java/retrofit2 -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2.json -o samples/client/petstore/java/retrofit2 --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2/src/main"
rm -rf samples/client/petstore/java/retrofit2/src/main
diff --git a/bin/java-petstore-retrofit2rx.sh b/bin/java-petstore-retrofit2rx.sh
index fd29f093902..74729919db1 100755
--- a/bin/java-petstore-retrofit2rx.sh
+++ b/bin/java-petstore-retrofit2rx.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2rx.json -o samples/client/petstore/java/retrofit2rx -DuseRxJava=true,hideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2rx.json -o samples/client/petstore/java/retrofit2rx --additional-properties useRxJava=true,hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2rx/src/main"
rm -rf samples/client/petstore/java/retrofit2rx/src/main
diff --git a/bin/java-petstore-retrofit2rx2.sh b/bin/java-petstore-retrofit2rx2.sh
index 33c35a9a6d3..05d6acb7bd0 100755
--- a/bin/java-petstore-retrofit2rx2.sh
+++ b/bin/java-petstore-retrofit2rx2.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2rx2.json -o samples/client/petstore/java/retrofit2rx2 -DuseRxJava2=true,hideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/retrofit2 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-retrofit2rx2.json -o samples/client/petstore/java/retrofit2rx2 --additional-properties useRxJava2=true,hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/retrofit2rx2/src/main"
rm -rf samples/client/petstore/java/retrofit2rx2/src/main
diff --git a/bin/java-petstore-vertx.sh b/bin/java-petstore-vertx.sh
index badb9eff0f6..8eeb623b278 100755
--- a/bin/java-petstore-vertx.sh
+++ b/bin/java-petstore-vertx.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/vertx -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-vertx.json -o samples/client/petstore/java/vertx -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Java/libraries/vertx -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-vertx.json -o samples/client/petstore/java/vertx --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/vertx/src/main"
rm -rf samples/client/petstore/java/vertx/src/main
diff --git a/bin/java-petstore-webclient.sh b/bin/java-petstore-webclient.sh
index 7c737060192..c9402c60c0a 100755
--- a/bin/java-petstore-webclient.sh
+++ b/bin/java-petstore-webclient.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-webclient.json -o samples/client/petstore/java/webclient -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java-petstore-webclient.json -o samples/client/petstore/java/webclient --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/client/petstore/java/webclient/src/main"
rm -rf samples/client/petstore/java/webclient/src/main
diff --git a/bin/java-pkmst-petstore-server.sh b/bin/java-pkmst-petstore-server.sh
index 9d98201b688..25d1c953197 100755
--- a/bin/java-pkmst-petstore-server.sh
+++ b/bin/java-pkmst-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/java-pkmst -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-pkmst -o samples/server/petstore/java-pkmst/ -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/java-pkmst -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-pkmst -o samples/server/petstore/java-pkmst/ --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/java-pkmst/src/main"
rm -rf samples/server/petstore/java-pkmst/src/main
diff --git a/bin/java-play-framework-petstore-server-api-package-override.sh b/bin/java-play-framework-petstore-server-api-package-override.sh
index d5069d98257..cba7507689e 100755
--- a/bin/java-play-framework-petstore-server-api-package-override.sh
+++ b/bin/java-play-framework-petstore-server-api-package-override.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-api-package-override -DhideGenerationTimestamp=true,apiPackage=com.puppies.store.apis $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-api-package-override --additional-properties hideGenerationTimestamp=true,apiPackage=com.puppies.store.apis $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-async.sh b/bin/java-play-framework-petstore-server-async.sh
index 86d5baf77f4..c09f9772fa3 100755
--- a/bin/java-play-framework-petstore-server-async.sh
+++ b/bin/java-play-framework-petstore-server-async.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -c bin/java-play-framework-petstore-server-async.json -o samples/server/petstore/java-play-framework-async -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -c bin/java-play-framework-petstore-server-async.json -o samples/server/petstore/java-play-framework-async --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server-controller-only.sh b/bin/java-play-framework-petstore-server-controller-only.sh
index 94bf0b72777..85a23261221 100755
--- a/bin/java-play-framework-petstore-server-controller-only.sh
+++ b/bin/java-play-framework-petstore-server-controller-only.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-controller-only -DhideGenerationTimestamp=true,controllerOnly=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-controller-only --additional-properties hideGenerationTimestamp=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
index d9c45fca07a..0ae05412047 100755
--- a/bin/java-play-framework-petstore-server-fake-endpoints.sh
+++ b/bin/java-play-framework-petstore-server-fake-endpoints.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-fake-endpoints -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-fake-endpoints --additional-properties hideGenerationTimestamp=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
index b824bc82fbd..92b924b73d0 100755
--- a/bin/java-play-framework-petstore-server-no-bean-validation.sh
+++ b/bin/java-play-framework-petstore-server-no-bean-validation.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-bean-validation -DhideGenerationTimestamp=true,useBeanValidation=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-bean-validation --additional-properties hideGenerationTimestamp=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
index c798713aacc..b9fe281c4c1 100755
--- a/bin/java-play-framework-petstore-server-no-exception-handling.sh
+++ b/bin/java-play-framework-petstore-server-no-exception-handling.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-exception-handling -DhideGenerationTimestamp=true,handleExceptions=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-exception-handling --additional-properties hideGenerationTimestamp=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
index 42fb56f7a1c..dbc4b8734ab 100755
--- a/bin/java-play-framework-petstore-server-no-interface.sh
+++ b/bin/java-play-framework-petstore-server-no-interface.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-interface -DhideGenerationTimestamp=true,useInterfaces=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-interface --additional-properties hideGenerationTimestamp=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
index 09e3936bbbb..494a0253161 100755
--- a/bin/java-play-framework-petstore-server-no-swagger-ui.sh
+++ b/bin/java-play-framework-petstore-server-no-swagger-ui.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-swagger-ui -DhideGenerationTimestamp=true,useSwaggerUI=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-swagger-ui --additional-properties hideGenerationTimestamp=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
index 215dcf48ea1..7de56cc566e 100755
--- a/bin/java-play-framework-petstore-server-no-wrap-calls.sh
+++ b/bin/java-play-framework-petstore-server-no-wrap-calls.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-wrap-calls -DhideGenerationTimestamp=true,wrapCalls=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework-no-wrap-calls --additional-properties hideGenerationTimestamp=true,wrapCalls=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-play-framework-petstore-server.sh b/bin/java-play-framework-petstore-server.sh
index cb26c3c0836..b187c2e47b9 100755
--- a/bin/java-play-framework-petstore-server.sh
+++ b/bin/java-play-framework-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaPlayFramework -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-play-framework -o samples/server/petstore/java-play-framework --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-vertx-async-petstore-server.sh b/bin/java-vertx-async-petstore-server.sh
index bdedff11270..519dd79c2b3 100755
--- a/bin/java-vertx-async-petstore-server.sh
+++ b/bin/java-vertx-async-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-vertx -o samples/server/petstore/java-vertx/async -DvertxSwaggerRouterVersion=1.4.0 -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-vertx -o samples/server/petstore/java-vertx/async --additional-properties vertxSwaggerRouterVersion=1.4.0,hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java-vertx-rx-petstore-server.sh b/bin/java-vertx-rx-petstore-server.sh
index 051798c8d45..651f03f777d 100755
--- a/bin/java-vertx-rx-petstore-server.sh
+++ b/bin/java-vertx-rx-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-vertx --artifact-id java-vertx-rx-server -o samples/server/petstore/java-vertx/rx -DvertxSwaggerRouterVersion=1.4.0,rxInterface=true -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g java-vertx --artifact-id java-vertx-rx-server -o samples/server/petstore/java-vertx/rx --additional-properties vertxSwaggerRouterVersion=1.4.0,rxInterface=true --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/java8-petstore-jersey2.sh b/bin/java8-petstore-jersey2.sh
index 739f75334e6..488fe202f29 100755
--- a/bin/java8-petstore-jersey2.sh
+++ b/bin/java8-petstore-jersey2.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id petstore-jersey2-java8 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java8-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java8 -DhideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
+ags="generate --artifact-id petstore-jersey2-java8 -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin/java8-petstore-jersey2.json -o samples/client/petstore/java/jersey2-java8 --additional-properties hideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
echo "Removing files and folders under samples/client/petstore/java/jersey2-java8/src/main"
rm -rf samples/client/petstore/java/jersey2-java8/src/main
diff --git a/bin/javascript-es6-petstore.sh b/bin/javascript-es6-petstore.sh
index 8def380b258..7c80155bb15 100755
--- a/bin/javascript-es6-petstore.sh
+++ b/bin/javascript-es6-petstore.sh
@@ -29,6 +29,7 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Javascript/es6 \
-i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript \
+--additional-properties appName=PetstoreClient \
-o samples/client/petstore/javascript-es6 $@"
-java -DappName=PetstoreClient $JAVA_OPTS -jar $executable $ags
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/javascript-flowtyped-petstore.sh b/bin/javascript-flowtyped-petstore.sh
index 92d88319821..061837a6384 100755
--- a/bin/javascript-flowtyped-petstore.sh
+++ b/bin/javascript-flowtyped-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Javascript-Flowtyped -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g javascript-flowtyped -o samples/client/petstore/javascript-flowtyped -DappName=PetstoreClient $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Javascript-Flowtyped -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g javascript-flowtyped -o samples/client/petstore/javascript-flowtyped --additional-properties appName=PetstoreClient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/javascript-petstore.sh b/bin/javascript-petstore.sh
index 3b73aa4be6b..f2313a0c198 100755
--- a/bin/javascript-petstore.sh
+++ b/bin/javascript-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/Javascript -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples/client/petstore/javascript -DappName=PetstoreClient --additional-properties useES6=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/Javascript -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples/client/petstore/javascript --additional-properties appName=PetstoreClient,useES6=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/javascript-promise-es6-petstore.sh b/bin/javascript-promise-es6-petstore.sh
index 3dd0d7a4fca..c953eb99dad 100755
--- a/bin/javascript-promise-es6-petstore.sh
+++ b/bin/javascript-promise-es6-petstore.sh
@@ -30,6 +30,6 @@ export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Javascript/es6 \
-i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript \
-o samples/client/petstore/javascript-promise-es6 \
---additional-properties usePromises=true,useES6=true $@"
+--additional-properties appName=PetstoreClient,usePromises=true,useES6=true $@"
-java -DappName=PetstoreClient $JAVA_OPTS -jar $executable $ags
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/javascript-promise-petstore.sh b/bin/javascript-promise-petstore.sh
index f6eb25b5c43..6702e60b2a3 100755
--- a/bin/javascript-promise-petstore.sh
+++ b/bin/javascript-promise-petstore.sh
@@ -33,6 +33,6 @@ ags="generate \
-g javascript \
-o samples/client/petstore/javascript-promise \
--additional-properties usePromises=true,useES6=false \
--DappName=PetstoreClient $@"
+--additional-properties appName=PetstoreClient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-cxf-cdi-petstore-server.sh b/bin/jaxrs-cxf-cdi-petstore-server.sh
index ee5d3d29a26..3d1e538c394 100755
--- a/bin/jaxrs-cxf-cdi-petstore-server.sh
+++ b/bin/jaxrs-cxf-cdi-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf-cdi -o samples/server/petstore/jaxrs-cxf-cdi -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-cdi -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf-cdi -o samples/server/petstore/jaxrs-cxf-cdi --additional-properties hideGenerationTimestamp=true $@"
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 8eac07795eb..3c8b96a2e64 100755
--- a/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh
+++ b/bin/jaxrs-cxf-petstore-server-annotated-base-path.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id cxf-annotated-basepath -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-annotated-base-path -DhideGenerationTimestamp=true,useAnnotatedBasePath=true --additional-properties serverPort=8082 $@"
+ags="generate --artifact-id cxf-annotated-basepath -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-annotated-base-path --additional-properties hideGenerationTimestamp=true,useAnnotatedBasePath=true --additional-properties serverPort=8082 $@"
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 6ed2e5a05fe..6db712b74bb 100755
--- a/bin/jaxrs-cxf-petstore-server-non-spring-application.sh
+++ b/bin/jaxrs-cxf-petstore-server-non-spring-application.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id cxf-server-non-spring -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-non-spring-app -DhideGenerationTimestamp=true,generateNonSpringApplication=true --additional-properties serverPort=8082 $@"
+ags="generate --artifact-id cxf-server-non-spring -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf-non-spring-app --additional-properties hideGenerationTimestamp=true,generateNonSpringApplication=true --additional-properties serverPort=8082 $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-cxf-petstore-server-test-data.sh b/bin/jaxrs-cxf-petstore-server-test-data.sh
index 5b187c65fbf..6844b7bcf84 100755
--- a/bin/jaxrs-cxf-petstore-server-test-data.sh
+++ b/bin/jaxrs-cxf-petstore-server-test-data.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id cxf-test-data -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-ext -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf-extended -o samples/server/petstore/jaxrs-cxf-test-data -DhideGenerationTimestamp=true -DuseAnnotatedBasePath=true --generate-alias-as-model --additional-properties java8=true,generateSpringApplication=true,generateSpringBootApplication=true,generateOperationBody=true,loadTestDataFromFile=true $@"
+ags="generate --artifact-id cxf-test-data -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf-ext -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf-extended -o samples/server/petstore/jaxrs-cxf-test-data --additional-properties hideGenerationTimestamp=true,useAnnotatedBasePath=true --generate-alias-as-model --additional-properties java8=true,generateSpringApplication=true,generateSpringBootApplication=true,generateOperationBody=true,loadTestDataFromFile=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-cxf-petstore-server.sh b/bin/jaxrs-cxf-petstore-server.sh
index 9efff273fa9..4081b01e862 100755
--- a/bin/jaxrs-cxf-petstore-server.sh
+++ b/bin/jaxrs-cxf-petstore-server.sh
@@ -30,6 +30,6 @@ rm -rf samples/server/petstore/jaxrs-cxf
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf -DhideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/cxf -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf -o samples/server/petstore/jaxrs-cxf --additional-properties hideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-jersey1-petstore-server.sh b/bin/jaxrs-jersey1-petstore-server.sh
index 67576239847..3cc7cc87615 100755
--- a/bin/jaxrs-jersey1-petstore-server.sh
+++ b/bin/jaxrs-jersey1-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey1 -DhideGenerationTimestamp=true,serverPort=8082 --library=jersey1 --artifact-id=jaxrs-jersey1-server $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey1 --additional-properties hideGenerationTimestamp=true,serverPort=8082 --library=jersey1 --artifact-id=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
index 3e1c6bf6c06..00746c68db1 100755
--- a/bin/jaxrs-jersey1-usetags-petstore-server.sh
+++ b/bin/jaxrs-jersey1-usetags-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey1-useTags -DhideGenerationTimestamp=true,serverPort=8082 --library=jersey1 --artifact-id=jaxrs-jersey1-useTags --additional-properties useTags=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey1-useTags --additional-properties hideGenerationTimestamp=true,serverPort=8082 --library=jersey1 --artifact-id=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
diff --git a/bin/jaxrs-petstore-server-datelib-j8.sh b/bin/jaxrs-petstore-server-datelib-j8.sh
index ef8e27e98df..64e9caff3bf 100755
--- a/bin/jaxrs-petstore-server-datelib-j8.sh
+++ b/bin/jaxrs-petstore-server-datelib-j8.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/ -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs-datelib-j8/ -c ./bin/jaxrs-datelib-j8.json -DhideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/ -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs-datelib-j8/ -c ./bin/jaxrs-datelib-j8.json --additional-properties hideGenerationTimestamp=true --additional-properties serverPort=8082 $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-petstore-server.sh b/bin/jaxrs-petstore-server.sh
index df248d61288..a75e5d3e55b 100755
--- a/bin/jaxrs-petstore-server.sh
+++ b/bin/jaxrs-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id jaxrs-jersey-petstore-server -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey2 -DhideGenerationTimestamp=true,serverPort=8082 $@"
+ags="generate --artifact-id jaxrs-jersey-petstore-server -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey2 --additional-properties hideGenerationTimestamp=true,serverPort=8082 $@"
echo "Removing files and folders under samples/server/petstore/jaxrs/jersey2/src/main"
rm -rf samples/server/petstore/jaxrs/jersey2/src/main
diff --git a/bin/jaxrs-resteasy-eap-java8-petstore-server.sh b/bin/jaxrs-resteasy-eap-java8-petstore-server.sh
index 4a99e7c8851..8b85c903722 100755
--- a/bin/jaxrs-resteasy-eap-java8-petstore-server.sh
+++ b/bin/jaxrs-resteasy-eap-java8-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id jaxrs-resteasy-eap-java8-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap-java8 -DhideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-eap-java8-petstore-server.json $@"
+ags="generate --artifact-id jaxrs-resteasy-eap-java8-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap-java8 --additional-properties hideGenerationTimestamp=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
diff --git a/bin/jaxrs-resteasy-eap-joda-petstore-server.sh b/bin/jaxrs-resteasy-eap-joda-petstore-server.sh
index 656774e441f..af9885025d6 100755
--- a/bin/jaxrs-resteasy-eap-joda-petstore-server.sh
+++ b/bin/jaxrs-resteasy-eap-joda-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} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id jaxrs-resteasy-eap-joda-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap-joda -DhideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-eap-joda-petstore-server.json $@"
+ags="generate --artifact-id jaxrs-resteasy-eap-joda-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap-joda --additional-properties hideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-eap-joda-petstore-server.json $@"
echo "Removing files and folders under samples/server/petstore/jaxrs-resteasy/eap-joda/src/main"
rm -rf samples/server/petstore/jaxrs-resteasy/eap-joda/src/main
diff --git a/bin/jaxrs-resteasy-eap-petstore-server.sh b/bin/jaxrs-resteasy-eap-petstore-server.sh
index 39c2bff75d9..7cc23202f48 100755
--- a/bin/jaxrs-resteasy-eap-petstore-server.sh
+++ b/bin/jaxrs-resteasy-eap-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy/eap -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy-eap -o samples/server/petstore/jaxrs-resteasy/eap --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/jaxrs-resteasy/eap/src/main"
rm -rf samples/server/petstore/jaxrs-resteasy/eap/src/main
diff --git a/bin/jaxrs-resteasy-joda-petstore-server.sh b/bin/jaxrs-resteasy-joda-petstore-server.sh
index 086dd81c241..66bb1c3fffa 100755
--- a/bin/jaxrs-resteasy-joda-petstore-server.sh
+++ b/bin/jaxrs-resteasy-joda-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id jaxrs-resteasy-joda-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy -o samples/server/petstore/jaxrs-resteasy/joda -DhideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-joda-petstore-server.json $@"
+ags="generate --artifact-id jaxrs-resteasy-joda-server -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy -o samples/server/petstore/jaxrs-resteasy/joda --additional-properties hideGenerationTimestamp=true -c ./bin/jaxrs-resteasy-joda-petstore-server.json $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-resteasy-petstore-server.sh b/bin/jaxrs-resteasy-petstore-server.sh
index d6eabb20e75..6b40673aebd 100755
--- a/bin/jaxrs-resteasy-petstore-server.sh
+++ b/bin/jaxrs-resteasy-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy -o samples/server/petstore/jaxrs-resteasy/default -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS/resteasy -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g jaxrs-resteasy -o samples/server/petstore/jaxrs-resteasy/default --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-spec-petstore-server-interface-returning-response.sh b/bin/jaxrs-spec-petstore-server-interface-returning-response.sh
index d964fa44e59..c4cc314bb4f 100755
--- a/bin/jaxrs-spec-petstore-server-interface-returning-response.sh
+++ b/bin/jaxrs-spec-petstore-server-interface-returning-response.sh
@@ -28,9 +28,9 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id jaxrs-spec-interface-response-petstore-server -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples/server/petstore/jaxrs-spec-interface-response
--DhideGenerationTimestamp=true
--DserializableModel=true
--DinterfaceOnly=true
--DreturnResponse=true $@"
+--additional-properties hideGenerationTimestamp=true
+--additional-properties serializableModel=true
+--additional-properties interfaceOnly=true
+--additional-properties returnResponse=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-spec-petstore-server-interface.sh b/bin/jaxrs-spec-petstore-server-interface.sh
index 73c2479977c..570443e26ee 100755
--- a/bin/jaxrs-spec-petstore-server-interface.sh
+++ b/bin/jaxrs-spec-petstore-server-interface.sh
@@ -28,8 +28,8 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id jaxrs-spec-interface-petstore-server -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples/server/petstore/jaxrs-spec-interface
--DhideGenerationTimestamp=true
--DserializableModel=true
--DinterfaceOnly=true $@"
+--additional-properties hideGenerationTimestamp=true
+--additional-properties serializableModel=true
+--additional-properties interfaceOnly=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-spec-petstore-server.sh b/bin/jaxrs-spec-petstore-server.sh
index 296b03b4fab..9d0c75513bd 100755
--- a/bin/jaxrs-spec-petstore-server.sh
+++ b/bin/jaxrs-spec-petstore-server.sh
@@ -28,7 +28,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate --artifact-id jaxrs-spec-petstore-server -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples/server/petstore/jaxrs-spec
--DhideGenerationTimestamp=true
--DserializableModel=true $@"
+--additional-properties hideGenerationTimestamp=true
+--additional-properties serializableModel=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/jaxrs-usetags-petstore-server.sh b/bin/jaxrs-usetags-petstore-server.sh
index bd811f3a7e8..1c84b29a033 100755
--- a/bin/jaxrs-usetags-petstore-server.sh
+++ b/bin/jaxrs-usetags-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey2-useTags -DhideGenerationTimestamp=true,serverPort=8082 --artifact-id=jaxrs-jersey2-useTags --additional-properties useTags=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaJaxRS -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs/jersey2-useTags --additional-properties hideGenerationTimestamp=true,serverPort=8082 --artifact-id=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
diff --git a/bin/kotlin-client-petstore.sh b/bin/kotlin-client-petstore.sh
index fdcdb59b196..cad4be6995e 100755
--- a/bin/kotlin-client-petstore.sh
+++ b/bin/kotlin-client-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-client -D dateLibrary=java8 -o samples/client/petstore/kotlin $@"
+ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-client --additional-properties dateLibrary=java8 -o samples/client/petstore/kotlin $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/kotlin-client-string.sh b/bin/kotlin-client-string.sh
index 2011e52e5e8..410ddbab399 100755
--- a/bin/kotlin-client-string.sh
+++ b/bin/kotlin-client-string.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-string -D dateLibrary=string -o samples/client/petstore/kotlin-string $@"
+ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-string --additional-properties dateLibrary=string -o samples/client/petstore/kotlin-string $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/kotlin-client-threetenbp.sh b/bin/kotlin-client-threetenbp.sh
index c207268d8c3..0cb7f27da09 100755
--- a/bin/kotlin-client-threetenbp.sh
+++ b/bin/kotlin-client-threetenbp.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-threetenbp -D dateLibrary=threetenbp -o samples/client/petstore/kotlin-threetenbp $@"
+ags="generate -t modules/openapi-generator/src/main/resources/kotlin-client -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g kotlin --artifact-id kotlin-petstore-threetenbp --additional-properties dateLibrary=threetenbp -o samples/client/petstore/kotlin-threetenbp $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/kotlin-server-petstore.sh b/bin/kotlin-server-petstore.sh
index 43ab67d264c..dbdf48b2bbd 100755
--- a/bin/kotlin-server-petstore.sh
+++ b/bin/kotlin-server-petstore.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -t modules/openapi-generator/src/main/resources/kotlin-server -g kotlin-server --library=ktor -o samples/server/petstore/kotlin-server/ktor -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -t modules/openapi-generator/src/main/resources/kotlin-server -g kotlin-server --library=ktor -o samples/server/petstore/kotlin-server/ktor --additional-properties hideGenerationTimestamp=true $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/lua-petstore.sh b/bin/lua-petstore.sh
index b7adaaac460..44b5cc38637 100755
--- a/bin/lua-petstore.sh
+++ b/bin/lua-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
-ags="generate -t modules/openapi-generator/src/main/resources/lua -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g lua -o samples/client/petstore/lua -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/lua -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g lua -o samples/client/petstore/lua --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/objc-petstore-coredata.sh b/bin/objc-petstore-coredata.sh
index 124f800da21..ffa6d198822 100755
--- a/bin/objc-petstore-coredata.sh
+++ b/bin/objc-petstore-coredata.sh
@@ -26,7 +26,8 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/2_0/petstore.json -g objc -D apiDocs=false -D modelDocs=false -o samples/client/petstore/objc/core-data --additional-properties coreData=true -c bin/objc-petstore.json $@"
+export GENERATOR_GLOBALS="-DapiDocs=false -DmodelDocs=false"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties ${GENERATOR_GLOBALS}"
+ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/2_0/petstore.json -g objc -o samples/client/petstore/objc/core-data --additional-properties coreData=true -c bin/objc-petstore.json $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/android-petstore-httpclient.sh b/bin/openapi3/android-petstore-httpclient.sh
index e1616221492..a16ff89917a 100755
--- a/bin/openapi3/android-petstore-httpclient.sh
+++ b/bin/openapi3/android-petstore-httpclient.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/android -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g android -Dlibrary=httpclient -o samples/client/petstore/android/httpclient $@"
+ags="generate -t modules/openapi-generator/src/main/resources/android -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g android --additional-properties library=httpclient -o samples/client/petstore/android/httpclient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/dart-petstore.sh b/bin/openapi3/dart-petstore.sh
index f9da99019e0..2bab8d1abac 100755
--- a/bin/openapi3/dart-petstore.sh
+++ b/bin/openapi3/dart-petstore.sh
@@ -29,18 +29,18 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# Generate non-browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
# then options to generate the library for vm would be:
-#ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm -DbrowserClient=false -DpubName=openapi_vm $@"
+#ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi_vm --additional-properties browserClient=false,pubName=openapi_vm $@"
#java $JAVA_OPTS -jar $executable $ags
# Generate browserClient
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/openapi-browser-client --additional-properties hideGenerationTimestamp=true,browserClient=true $@"
#java $JAVA_OPTS -jar $executable $ags
# Generate non-browserClient and put it to the flutter sample app
-ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi -DhideGenerationTimestamp=true -DbrowserClient=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/dart -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g dart -o samples/client/petstore/dart/flutter_petstore/openapi --additional-properties hideGenerationTimestamp=true,browserClient=false $@"
java $JAVA_OPTS -jar $executable $ags
# There is a proposal to allow importing different libraries depending on the environment:
diff --git a/bin/openapi3/erlang-petstore-client.sh b/bin/openapi3/erlang-petstore-client.sh
index 102cc342d07..fc75014a41e 100755
--- a/bin/openapi3/erlang-petstore-client.sh
+++ b/bin/openapi3/erlang-petstore-client.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/erlang-client -DpackageName=petstore -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g erlang-client -o samples/client/petstore/erlang-client $@"
+ags="generate -t modules/openapi-generator/src/main/resources/erlang-client --additional-properties packageName=petstore -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g erlang-client -o samples/client/petstore/erlang-client $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/go-gin-petstore-server.sh b/bin/openapi3/go-gin-petstore-server.sh
index a3f14d4b622..8ab2b8397e0 100755
--- a/bin/openapi3/go-gin-petstore-server.sh
+++ b/bin/openapi3/go-gin-petstore-server.sh
@@ -35,7 +35,7 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go-gin-server -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstoreserver --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
#!/usr/bin/env bash
\ No newline at end of file
diff --git a/bin/openapi3/go-petstore-server.sh b/bin/openapi3/go-petstore-server.sh
index bbe46e70383..7909ec7d5db 100755
--- a/bin/openapi3/go-petstore-server.sh
+++ b/bin/openapi3/go-petstore-server.sh
@@ -35,6 +35,6 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go-server -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstoreserver --additional-properties hideGenerationTimestamp=true -Dservice $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go-server -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstoreserver,hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/go-petstore.sh b/bin/openapi3/go-petstore.sh
index 872fcb610eb..ad921deae9c 100755
--- a/bin/openapi3/go-petstore.sh
+++ b/bin/openapi3/go-petstore.sh
@@ -34,6 +34,6 @@ rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/graphql-nodejs-express-server.sh b/bin/openapi3/graphql-nodejs-express-server.sh
index 0e1291c8a6d..41a69511601 100755
--- a/bin/openapi3/graphql-nodejs-express-server.sh
+++ b/bin/openapi3/graphql-nodejs-express-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties $@"
-ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/graphql-nodejs-express-server -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g graphql-nodejs-express-server -o samples/server/petstore/graphql-nodejs-express-server --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/groovy-petstore.sh b/bin/openapi3/groovy-petstore.sh
index 1dd1d9c8021..c0c1ddda051 100755
--- a/bin/openapi3/groovy-petstore.sh
+++ b/bin/openapi3/groovy-petstore.sh
@@ -27,5 +27,5 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g groovy -o samples/client/petstore/groovy -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g groovy -o samples/client/petstore/groovy --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/javascript-es6-petstore.sh b/bin/openapi3/javascript-es6-petstore.sh
index fac3a9039f6..96e45b4b8e7 100755
--- a/bin/openapi3/javascript-es6-petstore.sh
+++ b/bin/openapi3/javascript-es6-petstore.sh
@@ -29,6 +29,6 @@ fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/Javascript/es6 \
-i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g javascript \
--o samples/openapi3/client/petstore/javascript-es6 $@"
+-o samples/openapi3/client/petstore/javascript-es6 --additional-properties appName=PetstoreClient $@"
-java -DappName=PetstoreClient $JAVA_OPTS -jar $executable $ags
+java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/jaxrs-jersey-petstore.sh b/bin/openapi3/jaxrs-jersey-petstore.sh
index ddb1968cdb3..2b1e71f73e1 100755
--- a/bin/openapi3/jaxrs-jersey-petstore.sh
+++ b/bin/openapi3/jaxrs-jersey-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id "openapiv3-jaxrs-jersey-petstore-server" -t modules/openapi-generator/src/main/resources/JavaJaxRS/ -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs-jersey -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id "openapiv3-jaxrs-jersey-petstore-server" -t modules/openapi-generator/src/main/resources/JavaJaxRS/ -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-jersey -o samples/server/petstore/jaxrs-jersey --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/kotlin-client-petstore.sh b/bin/openapi3/kotlin-client-petstore.sh
index cfd443d43e2..5ffd829b05d 100755
--- a/bin/openapi3/kotlin-client-petstore.sh
+++ b/bin/openapi3/kotlin-client-petstore.sh
@@ -26,7 +26,7 @@ then
fi
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="$@ generate -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -t modules/openapi-generator/src/main/resources/kotlin-client -g kotlin --artifact-id kotlin-petstore-client -D dateLibrary=java8 -o samples/openapi3/client/petstore/kotlin $@"
+ags="$@ generate -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -t modules/openapi-generator/src/main/resources/kotlin-client -g kotlin --artifact-id kotlin-petstore-client --additional-properties dateLibrary=java8 -o samples/openapi3/client/petstore/kotlin $@"
echo "Cleaning previously generated files if any from samples/openapi3/client/petstore/kotlin"
rm -rf samples/openapi3/client/petstore/kotlin
diff --git a/bin/openapi3/lua-petstore.sh b/bin/openapi3/lua-petstore.sh
index aa70c3b0696..f598c67aa02 100755
--- a/bin/openapi3/lua-petstore.sh
+++ b/bin/openapi3/lua-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/lua -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g lua -o samples/client/petstore/lua -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/lua -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g lua -o samples/client/petstore/lua --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/objc-petstore-coredata.sh b/bin/openapi3/objc-petstore-coredata.sh
index 97fa054794f..ec36e2f510a 100755
--- a/bin/openapi3/objc-petstore-coredata.sh
+++ b/bin/openapi3/objc-petstore-coredata.sh
@@ -26,7 +26,8 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/3_0/petstore.json -g objc -D apiDocs=false -D modelDocs=false -o samples/client/petstore/objc/core-data --additional-properties coreData=true -D appName=PetstoreClient $@"
+export GENERATOR_GLOBALS="-DapiDocs=false -DmodelDocs=false"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties ${GENERATOR_GLOBALS}"
+ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/3_0/petstore.json -g objc -o samples/client/petstore/objc/core-data --additional-properties coreData=true,appName=PetstoreClient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/objc-petstore.sh b/bin/openapi3/objc-petstore.sh
index 11313e903d4..5840e39a450 100755
--- a/bin/openapi3/objc-petstore.sh
+++ b/bin/openapi3/objc-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/3_0/petstore.json -g objc -o samples/client/petstore/objc/default -D appName=PetstoreClient $@"
+ags="generate -t modules/openapi-generator/src/main/resources/objc -i modules/openapi-generator/src/test/resources/3_0/petstore.json -g objc -o samples/client/petstore/objc/default --additional-properties appName=PetstoreClient $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/perl-petstore.sh b/bin/openapi3/perl-petstore.sh
index 02293ae8b6f..7707591647b 100755
--- a/bin/openapi3/perl-petstore.sh
+++ b/bin/openapi3/perl-petstore.sh
@@ -28,6 +28,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# complex module name used for testing
-ags="generate -t modules/openapi-generator/src/main/resources/perl -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/perl -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/python-flask-petstore-python2.sh b/bin/openapi3/python-flask-petstore-python2.sh
index d469772d853..e33183e3a21 100755
--- a/bin/openapi3/python-flask-petstore-python2.sh
+++ b/bin/openapi3/python-flask-petstore-python2.sh
@@ -32,7 +32,7 @@ resources=modules/openapi-generator/src/main/resources/python-flask
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g python-flask -o $out_folder -c bin/supportPython2.json -D service $@"
+ags="generate -t $resources -i $input -g python-flask -o $out_folder -c bin/supportPython2.json $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/openapi3/python-flask-petstore.sh b/bin/openapi3/python-flask-petstore.sh
index 5d75d60bdc7..b2422ba069b 100755
--- a/bin/openapi3/python-flask-petstore.sh
+++ b/bin/openapi3/python-flask-petstore.sh
@@ -31,8 +31,8 @@ out_folder=samples/openapi3/server/petstore/python-flask
resources=modules/openapi-generator/src/main/resources/python-flask
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g python-flask -o $out_folder -Dservice $@"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties -Dservice"
+ags="generate -t $resources -i $input -g python-flask -o $out_folder $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/openapi3/python-petstore.sh b/bin/openapi3/python-petstore.sh
index b1c5144bdfa..c1dce94f9c2 100755
--- a/bin/openapi3/python-petstore.sh
+++ b/bin/openapi3/python-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/openapi3/client/petstore/python/ -DpackageName=petstore_api $@"
+ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/openapi3/client/petstore/python/ --additional-properties packageName=petstore_api $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/r-petstore.sh b/bin/openapi3/r-petstore.sh
index cfc0d262acd..9ca5ed61d00 100755
--- a/bin/openapi3/r-petstore.sh
+++ b/bin/openapi3/r-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/r -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g r -o samples/client/petstore/R -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/r -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g r -o samples/client/petstore/R --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/ruby-client-petstore.sh b/bin/openapi3/ruby-client-petstore.sh
index 237b8ca6ae9..0be84e7eca8 100755
--- a/bin/openapi3/ruby-client-petstore.sh
+++ b/bin/openapi3/ruby-client-petstore.sh
@@ -38,6 +38,6 @@ find samples/openapi3/client/petstore/ruby/spec -type f -not -name petstore_help
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/ruby-client -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ruby -c bin/ruby-petstore.json -o samples/openapi3/client/petstore/ruby -DskipFormModel=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/ruby-client -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ruby -c bin/ruby-petstore.json -o samples/openapi3/client/petstore/ruby --additional-properties skipFormModel=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/rust-petstore.sh b/bin/openapi3/rust-petstore.sh
index c252daaf1e6..a4812fc9093 100755
--- a/bin/openapi3/rust-petstore.sh
+++ b/bin/openapi3/rust-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g rust -o samples/client/petstore/rust -DpackageName=petstore_client $@"
+ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g rust -o samples/client/petstore/rust --additional-properties packageName=petstore_client $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/openapi3/typescript-angular-petstore-all.sh b/bin/openapi3/typescript-angular-petstore-all.sh
index cf0116c6b25..bb0d6d2479c 100755
--- a/bin/openapi3/typescript-angular-petstore-all.sh
+++ b/bin/openapi3/typescript-angular-petstore-all.sh
@@ -37,7 +37,7 @@ ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml
java $JAVA_OPTS -jar $executable $ags
echo "Typescript Petstore API client (with interfaces generated)"
-ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces -D withInterfaces=true --additional-properties ngVersion=2 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces --additional-properties ngVersion=2,withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
echo "Typescript Petstore API client (v4 { Adding InjectionToken Over OpaqueToken })"
diff --git a/bin/openapi3/typescript-angular-v2-petstore-interfaces.sh b/bin/openapi3/typescript-angular-v2-petstore-interfaces.sh
index deff9fdba5c..3d74ccc1a95 100755
--- a/bin/openapi3/typescript-angular-v2-petstore-interfaces.sh
+++ b/bin/openapi3/typescript-angular-v2-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces -D withInterfaces=true --additional-properties ngVersion=2 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces --additional-properties ngVersion=2,withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/openapi3/typescript-fetch-petstore-interfaces.sh b/bin/openapi3/typescript-fetch-petstore-interfaces.sh
index bf56d7ba9e4..d1e21dfbca7 100755
--- a/bin/openapi3/typescript-fetch-petstore-interfaces.sh
+++ b/bin/openapi3/typescript-fetch-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-fetch -o samples/client/petstore/typescript-fetch/builds/with-interfaces -D withInterfaces=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g typescript-fetch -o samples/client/petstore/typescript-fetch/builds/with-interfaces --additional-properties withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/perl-deep-module-petstore.sh b/bin/perl-deep-module-petstore.sh
index 25837a8fe9d..8e47a7d3b82 100755
--- a/bin/perl-deep-module-petstore.sh
+++ b/bin/perl-deep-module-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# complex module name used for testing
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl/deep_module_test -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl/deep_module_test --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags --additional-properties moduleName=Something::Deep -o samples/client/petstore/perl/deep_module_test
diff --git a/bin/perl-petstore.sh b/bin/perl-petstore.sh
index 36ac10a4ddd..48974454b73 100755
--- a/bin/perl-petstore.sh
+++ b/bin/perl-petstore.sh
@@ -28,6 +28,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
# complex module name used for testing
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl -DhideGenerationTimestamp=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl --additional-properties hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/python-asyncio-petstore.sh b/bin/python-asyncio-petstore.sh
index b551a8d4345..4219e51927e 100755
--- a/bin/python-asyncio-petstore.sh
+++ b/bin/python-asyncio-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python-asyncio -DpackageName=petstore_api --library asyncio $@"
+ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python-asyncio --additional-properties packageName=petstore_api --library asyncio $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/python-petstore.sh b/bin/python-petstore.sh
index 96f67e76586..651fda1e721 100755
--- a/bin/python-petstore.sh
+++ b/bin/python-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python -DpackageName=petstore_api $@"
+ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python --additional-properties packageName=petstore_api $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/python-server-aiohttp-petstore.sh b/bin/python-server-aiohttp-petstore.sh
index 38aae23d5f3..f5cc9bc711b 100755
--- a/bin/python-server-aiohttp-petstore.sh
+++ b/bin/python-server-aiohttp-petstore.sh
@@ -31,8 +31,8 @@ out_folder=samples/server/petstore/$generator
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g $generator -o $out_folder -Dservice $@"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties -Dservice"
+ags="generate -t $resources -i $input -g $generator -o $out_folder $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/python-server-blueplanet-petstore.sh b/bin/python-server-blueplanet-petstore.sh
index ece725e1c1b..074c53f8788 100755
--- a/bin/python-server-blueplanet-petstore.sh
+++ b/bin/python-server-blueplanet-petstore.sh
@@ -31,8 +31,8 @@ out_folder=samples/server/petstore/$generator
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g $generator -o $out_folder -Dservice $@"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties -Dservice"
+ags="generate -t $resources -i $input -g $generator -o $out_folder $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/python-server-flask-petstore-python2.sh b/bin/python-server-flask-petstore-python2.sh
index debbb458a15..f720fd5d4f4 100755
--- a/bin/python-server-flask-petstore-python2.sh
+++ b/bin/python-server-flask-petstore-python2.sh
@@ -30,9 +30,8 @@ input=modules/openapi-generator/src/test/resources/2_0/petstore.yaml
out_folder=samples/server/petstore/$generator-python2
resources=modules/openapi-generator/src/main/resources/$generator
-# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g $generator -o $out_folder -c bin/supportPython2.json -D service $@"
+ags="generate -t $resources -i $input -g $generator -o $out_folder -c bin/supportPython2.json $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/python-server-flask-petstore.sh b/bin/python-server-flask-petstore.sh
index 915aacd540a..eead0ce0d4f 100755
--- a/bin/python-server-flask-petstore.sh
+++ b/bin/python-server-flask-petstore.sh
@@ -31,8 +31,8 @@ out_folder=samples/server/petstore/$generator
resources=modules/openapi-generator/src/main/resources/$generator
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t $resources -i $input -g $generator -o $out_folder -Dservice $@"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties -Dservice"
+ags="generate -t $resources -i $input -g $generator -o $out_folder $@"
rm -rf $out_folder/.openapi*
rm -rf $out_folder/openapi_server
diff --git a/bin/python-tornado-petstore.sh b/bin/python-tornado-petstore.sh
index 5ee9e2cc8bd..1d51e798fe9 100755
--- a/bin/python-tornado-petstore.sh
+++ b/bin/python-tornado-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python-tornado -DpackageName=petstore_api --library tornado $@"
+ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples/client/petstore/python-tornado --additional-properties packageName=petstore_api --library tornado $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/r-petstore.sh b/bin/r-petstore.sh
index ac9d2427b6a..4decf28f72f 100755
--- a/bin/r-petstore.sh
+++ b/bin/r-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/r -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g r -o samples/client/petstore/R -DpackageName=petstore $@"
+ags="generate -t modules/openapi-generator/src/main/resources/r -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g r -o samples/client/petstore/R --additional-properties packageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/rust-petstore.sh b/bin/rust-petstore.sh
index b58d3de7dd6..f8002951208 100755
--- a/bin/rust-petstore.sh
+++ b/bin/rust-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g rust -o samples/client/petstore/rust -DpackageName=petstore_client --library=hyper $@"
+ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g rust -o samples/client/petstore/rust --additional-properties packageName=petstore_client --library=hyper $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/rust-reqwest-petstore.sh b/bin/rust-reqwest-petstore.sh
index 054a757c5fa..7a5fc8d8cdd 100755
--- a/bin/rust-reqwest-petstore.sh
+++ b/bin/rust-reqwest-petstore.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g rust -o samples/client/petstore/rust-reqwest -DpackageName=petstore_client --library=reqwest $@"
+ags="generate -t modules/openapi-generator/src/main/resources/rust -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g rust -o samples/client/petstore/rust-reqwest --additional-properties packageName=petstore_client --library=reqwest $@"
java ${JAVA_OPTS} -jar ${executable} ${ags}
diff --git a/bin/rust-server-petstore.sh b/bin/rust-server-petstore.sh
index 5aa1344766c..e0a459d59e7 100755
--- a/bin/rust-server-petstore.sh
+++ b/bin/rust-server-petstore.sh
@@ -32,7 +32,7 @@ for spec_path in modules/openapi-generator/src/test/resources/*/rust-server/* ;
--input-spec $spec_path
--generator-name rust-server
--output samples/server/petstore/rust-server/output/$spec
- -DpackageName=$spec
+ --additional-properties packageName=$spec
--additional-properties hideGenerationTimestamp=true
--generate-alias-as-model
$@"
diff --git a/bin/spring-cloud-feign-petstore.sh b/bin/spring-cloud-feign-petstore.sh
index 2c0c758e806..2dfef88064f 100755
--- a/bin/spring-cloud-feign-petstore.sh
+++ b/bin/spring-cloud-feign-petstore.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g spring -c bin/spring-cloud-feign-petstore.json -o samples/client/petstore/spring-cloud -DhideGenerationTimestamp=true,responseWrapper=HystrixCommand $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g spring -c bin/spring-cloud-feign-petstore.json -o samples/client/petstore/spring-cloud --additional-properties hideGenerationTimestamp=true,responseWrapper=HystrixCommand $@"
echo "Removing files and folders under samples/client/petstore/spring-cloud/src/main"
rm -rf samples/client/petstore/spring-cloud/src/main
diff --git a/bin/spring-delegate-j8.sh b/bin/spring-delegate-j8.sh
index 56146e282ba..df75a5d169b 100755
--- a/bin/spring-delegate-j8.sh
+++ b/bin/spring-delegate-j8.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot-delegate-j8 -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-delegate-j8 -DdelegatePattern=true,hideGenerationTimestamp=true $@"
+ags="generate --artifact-id springboot-delegate-j8 -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-delegate-j8 --additional-properties delegatePattern=true,hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot-delegate-j8/src/main"
rm -rf samples/server/petstore/springboot-delegate-j8/src/main
diff --git a/bin/spring-delegate.sh b/bin/spring-delegate.sh
index 4cf133072c2..2404c24cedc 100755
--- a/bin/spring-delegate.sh
+++ b/bin/spring-delegate.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot-delegate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-delegate -DdelegatePattern=true,hideGenerationTimestamp=true,java8=false $@"
+ags="generate --artifact-id springboot-delegate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-delegate --additional-properties delegatePattern=true,hideGenerationTimestamp=true,java8=false $@"
echo "Removing files and folders under samples/server/petstore/springboot-delegate/src/main"
rm -rf samples/server/petstore/springboot-delegate/src/main
diff --git a/bin/spring-mvc-petstore-j8-async-server.sh b/bin/spring-mvc-petstore-j8-async-server.sh
index e55cfe647a4..fdbb35d4b41 100755
--- a/bin/spring-mvc-petstore-j8-async-server.sh
+++ b/bin/spring-mvc-petstore-j8-async-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/spring-mvc-j8-async -c bin/spring-mvc-petstore-j8-async.json -DhideGenerationTimestamp=true,async=true --additional-properties serverPort=8002 $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/spring-mvc-j8-async -c bin/spring-mvc-petstore-j8-async.json --additional-properties hideGenerationTimestamp=true,async=true --additional-properties serverPort=8002 $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/spring-mvc-petstore-j8-localdatetime.sh b/bin/spring-mvc-petstore-j8-localdatetime.sh
index e5a32b7dc7a..ae3b16177af 100755
--- a/bin/spring-mvc-petstore-j8-localdatetime.sh
+++ b/bin/spring-mvc-petstore-j8-localdatetime.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/spring-mvc-petstore-j8-localdatetime.json -o samples/server/petstore/spring-mvc-j8-localdatetime -DhideGenerationTimestamp=true -DbooleanGetterPrefix=get --additional-properties serverPort=8002 $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/spring-mvc-petstore-j8-localdatetime.json -o samples/server/petstore/spring-mvc-j8-localdatetime --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=get,serverPort=8002 $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/spring-mvc-petstore-server.sh b/bin/spring-mvc-petstore-server.sh
index 71e6d73fac3..ddbb1b4d64f 100755
--- a/bin/spring-mvc-petstore-server.sh
+++ b/bin/spring-mvc-petstore-server.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/spring-mvc-petstore-server.json -o samples/server/petstore/spring-mvc -DhideGenerationTimestamp=true,java8=false --additional-properties serverPort=8002 --additional-properties booleanGetterPrefix=get $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/spring-mvc-petstore-server.json -o samples/server/petstore/spring-mvc --additional-properties hideGenerationTimestamp=true,java8=false --additional-properties serverPort=8002 --additional-properties booleanGetterPrefix=get $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/spring-stubs.sh b/bin/spring-stubs.sh
index 1586459d3aa..79edfa1820e 100755
--- a/bin/spring-stubs.sh
+++ b/bin/spring-stubs.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id spring-stubs -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g spring -o samples/client/petstore/spring-stubs -DinterfaceOnly=true,singleContentTypes=true,hideGenerationTimestamp=true $@"
+ags="generate --artifact-id spring-stubs -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g spring -o samples/client/petstore/spring-stubs --additional-properties interfaceOnly=true,singleContentTypes=true,hideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/springboot-petstore-server-beanvalidation.sh b/bin/springboot-petstore-server-beanvalidation.sh
index 18f232ef6bd..33b1fdce58b 100755
--- a/bin/springboot-petstore-server-beanvalidation.sh
+++ b/bin/springboot-petstore-server-beanvalidation.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-beanvalidation -c bin/springboot-petstore-server-beanvalidation.json -DhideGenerationTimestamp=true,java8=false $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-beanvalidation -c bin/springboot-petstore-server-beanvalidation.json --additional-properties hideGenerationTimestamp=true,java8=false $@"
echo "Removing files and folders under samples/server/petstore/springboot-beanvalidation/src/main"
rm -rf samples/server/petstore/springboot-beanvalidation/src/main
diff --git a/bin/springboot-petstore-server-implicitHeaders.sh b/bin/springboot-petstore-server-implicitHeaders.sh
index 8c56ade82ce..277c57fcbdd 100755
--- a/bin/springboot-petstore-server-implicitHeaders.sh
+++ b/bin/springboot-petstore-server-implicitHeaders.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot-implicitHeaders -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/springboot-petstore-server-implicitHeaders.json -o samples/server/petstore/springboot-implicitHeaders -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id springboot-implicitHeaders -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/springboot-petstore-server-implicitHeaders.json -o samples/server/petstore/springboot-implicitHeaders --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot-implicitHeaders/src/main"
rm -rf samples/server/petstore/springboot-implicitHeaders/src/main
diff --git a/bin/springboot-petstore-server-reactive.sh b/bin/springboot-petstore-server-reactive.sh
index 9938be6aba5..6cc531e66e2 100755
--- a/bin/springboot-petstore-server-reactive.sh
+++ b/bin/springboot-petstore-server-reactive.sh
@@ -26,7 +26,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot-reactive -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-reactive -Dreactive=true,delegatePattern=true,hideGenerationTimestamp=true $@"
+ags="generate --artifact-id springboot-reactive -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-reactive --additional-properties reactive=true,delegatePattern=true,hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot-reactive/src/main"
rm -rf samples/server/petstore/springboot-reactive/src/main
diff --git a/bin/springboot-petstore-server-useOptional.sh b/bin/springboot-petstore-server-useOptional.sh
index 35336dce752..029f923862a 100755
--- a/bin/springboot-petstore-server-useOptional.sh
+++ b/bin/springboot-petstore-server-useOptional.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/springboot-petstore-server-useOptional.json -o samples/server/petstore/springboot-useoptional -DhideGenerationTimestamp=true $@"
+ags="generate -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -c bin/springboot-petstore-server-useOptional.json -o samples/server/petstore/springboot-useoptional --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot-useoptional/src/main"
rm -rf samples/server/petstore/springboot-useoptional/src/main
diff --git a/bin/springboot-petstore-server.sh b/bin/springboot-petstore-server.sh
index 725ac389007..9b34934163d 100755
--- a/bin/springboot-petstore-server.sh
+++ b/bin/springboot-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id springboot -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot/src/main"
rm -rf samples/server/petstore/springboot/src/main
diff --git a/bin/springboot-virtualan-petstore-server.sh b/bin/springboot-virtualan-petstore-server.sh
index a55eea9fafb..a8471cf1998 100755
--- a/bin/springboot-virtualan-petstore-server.sh
+++ b/bin/springboot-virtualan-petstore-server.sh
@@ -27,7 +27,7 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate --artifact-id springboot-virtualan -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-virtualan -c bin/springboot-virtualan-petstore-server.json -DhideGenerationTimestamp=true $@"
+ags="generate --artifact-id springboot-virtualan -t modules/openapi-generator/src/main/resources/JavaSpring -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples/server/petstore/springboot-virtualan -c bin/springboot-virtualan-petstore-server.json --additional-properties hideGenerationTimestamp=true $@"
echo "Removing files and folders under samples/server/petstore/springboot-virtualan/src/main"
rm -rf samples/server/petstore/springboot-virtualan/src/main
diff --git a/bin/tests/test-debug-supporting-files.sh b/bin/tests/test-debug-supporting-files.sh
index 3d6a2e86967..cd130225b4a 100755
--- a/bin/tests/test-debug-supporting-files.sh
+++ b/bin/tests/test-debug-supporting-files.sh
@@ -26,8 +26,8 @@ then
fi
# if you've executed sbt assembly previously it will use that instead.
-export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/3_0/issue_241.yaml -g python -o /tmp/test-debug-supporting-files/ -DpackageName=petstore_api -DdebugSupportingFiles=true $@"
+export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties -DdebugSupportingFiles=true"
+ags="generate -t modules/openapi-generator/src/main/resources/python -i modules/openapi-generator/src/test/resources/3_0/issue_241.yaml -g python -o /tmp/test-debug-supporting-files/ --additional-properties packageName=petstore_api $@"
if [[ $(java $JAVA_OPTS -jar $executable $ags 2>&1 | grep "StackOverflowError") ]]; then
echo "There are StackOverflowError. Please check the result."
diff --git a/bin/typescript-angular-v2-petstore-interfaces.sh b/bin/typescript-angular-v2-petstore-interfaces.sh
index 6db2f6e11d6..18f638f4dfe 100755
--- a/bin/typescript-angular-v2-petstore-interfaces.sh
+++ b/bin/typescript-angular-v2-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces -D withInterfaces=true --additional-properties ngVersion=2 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v2/with-interfaces --additional-properties ngVersion=2,withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.sh b/bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.sh
index 082f197a716..981e55dbc28 100755
--- a/bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.sh
+++ b/bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -c bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.json -o samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm -D providedInRoot=false --additional-properties ngVersion=6.0.0 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -c bin/typescript-angular-v6-petstore-not-provided-in-root-with-npm.json -o samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/with-npm --additional-properties ngVersion=6.0.0,providedInRoot=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v6-petstore-not-provided-in-root.sh b/bin/typescript-angular-v6-petstore-not-provided-in-root.sh
index deddf8d536f..f00826e050f 100755
--- a/bin/typescript-angular-v6-petstore-not-provided-in-root.sh
+++ b/bin/typescript-angular-v6-petstore-not-provided-in-root.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default -D providedInRoot=false --additional-properties ngVersion=6.0.0 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v6-not-provided-in-root/builds/default --additional-properties ngVersion=6.0.0,providedInRoot=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.sh b/bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.sh
index 4cb66477ee8..f74cb16b02a 100755
--- a/bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.sh
+++ b/bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -c bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.json -o samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm -D providedInRoot=false --additional-properties ngVersion=7.0.0 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -c bin/typescript-angular-v7-petstore-not-provided-in-root-with-npm.json -o samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/with-npm --additional-properties ngVersion=7.0.0,providedInRoot=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-angular-v7-petstore-not-provided-in-root.sh b/bin/typescript-angular-v7-petstore-not-provided-in-root.sh
index d790a67c67b..46eb22cbc4d 100755
--- a/bin/typescript-angular-v7-petstore-not-provided-in-root.sh
+++ b/bin/typescript-angular-v7-petstore-not-provided-in-root.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default -D providedInRoot=false --additional-properties ngVersion=7.0.0 $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-angular -o samples/client/petstore/typescript-angular-v7-not-provided-in-root/builds/default --additional-properties ngVersion=7.0.0,providedInRoot=false $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-axios-petstore-interfaces.sh b/bin/typescript-axios-petstore-interfaces.sh
index 6ba5985126a..84a65e0aba3 100755
--- a/bin/typescript-axios-petstore-interfaces.sh
+++ b/bin/typescript-axios-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-axios -o samples/client/petstore/typescript-axios/builds/with-interfaces -D withInterfaces=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-axios -o samples/client/petstore/typescript-axios/builds/with-interfaces --additional-properties withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-fetch-petstore-interfaces.sh b/bin/typescript-fetch-petstore-interfaces.sh
index 58a9137820d..412d778b4f9 100755
--- a/bin/typescript-fetch-petstore-interfaces.sh
+++ b/bin/typescript-fetch-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-fetch -o samples/client/petstore/typescript-fetch/builds/with-interfaces -D withInterfaces=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-fetch -o samples/client/petstore/typescript-fetch/builds/with-interfaces --additional-properties withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/typescript-rxjs-petstore-interfaces.sh b/bin/typescript-rxjs-petstore-interfaces.sh
index 92f6e8f328e..c7b52aca526 100755
--- a/bin/typescript-rxjs-petstore-interfaces.sh
+++ b/bin/typescript-rxjs-petstore-interfaces.sh
@@ -27,6 +27,6 @@ fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -Xmx1024M -DloggerPath=conf/log4j.properties"
-ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/with-interfaces -D withInterfaces=true $@"
+ags="generate -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g typescript-rxjs -o samples/client/petstore/typescript-rxjs/builds/with-interfaces --additional-properties withInterfaces=true $@"
java $JAVA_OPTS -jar $executable $ags
diff --git a/bin/windows/dart-client-petstore.bat b/bin/windows/dart-client-petstore.bat
index 18ebdb6fc40..ad44ce96c33 100755
--- a/bin/windows/dart-client-petstore.bat
+++ b/bin/windows/dart-client-petstore.bat
@@ -5,8 +5,8 @@ If Not Exist %executable% (
)
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 -g dart-jaguar -o samples\client\petstore\dart-jaguar\swagger -DhideGenerationTimestamp=true -DbrowserClient=false
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -g dart-jaguar -o samples\client\petstore\dart-jaguar\swagger --additional-properties hideGenerationTimestamp=true,browserClient=false
java %JAVA_OPTS% -jar %executable% %ags%
-set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -g dart-jaguar -o samples\client\petstore\dart-jaguar\flutter_petstore\swagger -DhideGenerationTimestamp=true
+set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -g dart-jaguar -o samples\client\petstore\dart-jaguar\flutter_petstore\swagger --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/dart-petstore.bat b/bin/windows/dart-petstore.bat
index d35039c148f..155911529f6 100755
--- a/bin/windows/dart-petstore.bat
+++ b/bin/windows/dart-petstore.bat
@@ -5,11 +5,11 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\swagger -DhideGenerationTimestamp=true -DbrowserClient=false
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\swagger --additional-properties hideGenerationTimestamp=true,browserClient=false
java %JAVA_OPTS% -jar %executable% %ags%
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\swagger-browser-client -DhideGenerationTimestamp=true -DbrowserClient=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\swagger-browser-client --additional-properties hideGenerationTimestamp=true,browserClient=true
java %JAVA_OPTS% -jar %executable% %ags%
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\flutter_petstore\swagger -DhideGenerationTimestamp=true -DbrowserClient=false
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g dart -o samples\client\petstore\dart\flutter_petstore\swagger --additional-properties hideGenerationTimestamp=true,browserClient=false
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/go-gin-petstore-server.bat b/bin/windows/go-gin-petstore-server.bat
index 05b75b17e2e..f46a0482b22 100644
--- a/bin/windows/go-gin-petstore-server.bat
+++ b/bin/windows/go-gin-petstore-server.bat
@@ -14,7 +14,7 @@ echo Removing files and folders under %STUB_DIR%
del /F /S /Q %STUB_DIR%
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -i %SPEC% -g %GENERATOR% -o %STUB_DIR% -DpackageName=petstoreserver -Dservice
+set ags=generate -i %SPEC% -g %GENERATOR% -o %STUB_DIR% --additional-properties packageName=petstoreserver
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/go-petstore-server.bat b/bin/windows/go-petstore-server.bat
index bfa21fa0fcd..c4eb17284ae 100644
--- a/bin/windows/go-petstore-server.bat
+++ b/bin/windows/go-petstore-server.bat
@@ -14,7 +14,7 @@ echo Removing files and folders under %STUB_DIR%
del /F /S /Q %STUB_DIR%
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -i %SPEC% -g %GENERATOR% -o %STUB_DIR% -DpackageName=petstoreserver -Dservice
+set ags=generate -i %SPEC% -g %GENERATOR% -o %STUB_DIR% --additional-properties packageName=petstoreserver
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/go-petstore-withxml.bat b/bin/windows/go-petstore-withxml.bat
index 514a214041c..e24f3798f8f 100644
--- a/bin/windows/go-petstore-withxml.bat
+++ b/bin/windows/go-petstore-withxml.bat
@@ -14,7 +14,7 @@ echo Removing files and folders under %STUB_DIR%
del /F /S /Q %STUB_DIR%
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -t modules\openapi-generator\src\main\resources\go -i %SPEC% -g %GENERATOR% -o %STUB_DIR% -DpackageName=petstore,withXml=true
+set ags=generate -t modules\openapi-generator\src\main\resources\go -i %SPEC% -g %GENERATOR% -o %STUB_DIR% --additional-properties packageName=petstore,withXml=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/go-petstore.bat b/bin/windows/go-petstore.bat
index c023f088d9b..8f00f7070a1 100755
--- a/bin/windows/go-petstore.bat
+++ b/bin/windows/go-petstore.bat
@@ -14,7 +14,7 @@ echo Removing files and folders under %STUB_DIR%
del /F /S /Q %STUB_DIR%
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -t modules\openapi-generator\src\main\resources\go -i %SPEC% -g %GENERATOR% -o %STUB_DIR% -DpackageName=petstore
+set ags=generate -t modules\openapi-generator\src\main\resources\go -i %SPEC% -g %GENERATOR% -o %STUB_DIR% --additional-properties packageName=petstore
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-feign-10x.bat b/bin/windows/java-petstore-feign-10x.bat
index af2f71f8729..d9163fdac99 100644
--- a/bin/windows/java-petstore-feign-10x.bat
+++ b/bin/windows/java-petstore-feign-10x.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\feign -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-feign-10x.json -o samples\client\petstore\java\feign10x -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\feign -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-feign-10x.json -o samples\client\petstore\java\feign10x --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=is
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-feign.bat b/bin/windows/java-petstore-feign.bat
index 41c817d33b6..e68e2d818f7 100644
--- a/bin/windows/java-petstore-feign.bat
+++ b/bin/windows/java-petstore-feign.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\feign -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-feign-9x.json -o samples\client\petstore\java\feign -DhideGenerationTimestamp=true -DbooleanGetterPrefix=is
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\feign -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-feign-9x.json -o samples\client\petstore\java\feign --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=is
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-google-api-client.bat b/bin/windows/java-petstore-google-api-client.bat
index 2b68ebd5814..c9d2d761b66 100644
--- a/bin/windows/java-petstore-google-api-client.bat
+++ b/bin/windows/java-petstore-google-api-client.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\google-api-client -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-google-api-client.json -o samples\client\petstore\java\google-api-client -DhideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\google-api-client -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-google-api-client.json -o samples\client\petstore\java\google-api-client --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-jersey1.bat b/bin/windows/java-petstore-jersey1.bat
index c1908e329a5..a65093cce34 100644
--- a/bin/windows/java-petstore-jersey1.bat
+++ b/bin/windows/java-petstore-jersey1.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-java-client-jersey1 -t modules\openapi-generator\src\main\resources\Java -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples\client\petstore\java\jersey1 -DhideGenerationTimestamp=true --library=jersey1 --additional-properties useNullForUnknownEnumValue=true
+set ags=generate --artifact-id petstore-java-client-jersey1 -t modules\openapi-generator\src\main\resources\Java -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -o samples\client\petstore\java\jersey1 --additional-properties hideGenerationTimestamp=true --library=jersey1 --additional-properties useNullForUnknownEnumValue=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-jersey2-java6.bat b/bin/windows/java-petstore-jersey2-java6.bat
index 9de22c9890c..e41cf396469 100644
--- a/bin/windows/java-petstore-jersey2-java6.bat
+++ b/bin/windows/java-petstore-jersey2-java6.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-jersey2-java6 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-jersey2.json -o samples\client\petstore\java\jersey2-java6 -DhideGenerationTimestamp=true,supportJava6=true,booleanGetterPrefix=is
+set ags=generate --artifact-id petstore-jersey2-java6 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-jersey2.json -o samples\client\petstore\java\jersey2-java6 --additional-properties hideGenerationTimestamp=true,supportJava6=true,booleanGetterPrefix=is
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-jersey2.bat b/bin/windows/java-petstore-jersey2.bat
index 8525d7b11fc..f0f5ea9e2d5 100644
--- a/bin/windows/java-petstore-jersey2.bat
+++ b/bin/windows/java-petstore-jersey2.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-jersey2.json -o samples\client\petstore\java\jersey2 -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-jersey2.json -o samples\client\petstore\java\jersey2 --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-okhttp-gson-parcelable.bat b/bin/windows/java-petstore-okhttp-gson-parcelable.bat
index 1a550431490..402a3cda7f9 100644
--- a/bin/windows/java-petstore-okhttp-gson-parcelable.bat
+++ b/bin/windows/java-petstore-okhttp-gson-parcelable.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-okhttp-gson-parcelableModel -t modules\openapi-generator\src\main\resources\Java\libraries\okhttp-gson -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-okhttp-gson.json -o samples\client\petstore\java\okhttp-gson-parcelableModel -DhideGenerationTimestamp=true,parcelableModel=true
+set ags=generate --artifact-id petstore-okhttp-gson-parcelableModel -t modules\openapi-generator\src\main\resources\Java\libraries\okhttp-gson -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-okhttp-gson.json -o samples\client\petstore\java\okhttp-gson-parcelableModel --additional-properties hideGenerationTimestamp=true,parcelableModel=true
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 031d5ec813e..80581ca14d4 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 -t modules\openapi-generator\src\main\resources\Java\libraries\okhttp-gson -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-okhttp-gson.json -o samples\client\petstore\java\okhttp-gson -DhideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\okhttp-gson -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-okhttp-gson.json -o samples\client\petstore\java\okhttp-gson --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-rest-assured.bat b/bin/windows/java-petstore-rest-assured.bat
index b74f99b853e..d7c05416262 100644
--- a/bin/windows/java-petstore-rest-assured.bat
+++ b/bin/windows/java-petstore-rest-assured.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\rest-assured -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-rest-assured.json -o samples\client\petstore\java\rest-assured -DhideGenerationTimestamp=true --additional-properties booleanGetterPrefix=is
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\rest-assured -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-rest-assured.json -o samples\client\petstore\java\rest-assured --additional-properties hideGenerationTimestamp=true,booleanGetterPrefix=is
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-resttemplate-resteasy.bat b/bin/windows/java-petstore-resttemplate-resteasy.bat
index 8ccda43717b..9cf81f4e109 100644
--- a/bin/windows/java-petstore-resttemplate-resteasy.bat
+++ b/bin/windows/java-petstore-resttemplate-resteasy.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resteasy.json -o samples\client\petstore\java\resteasy -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resteasy.json -o samples\client\petstore\java\resteasy --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-resttemplate-webclient.bat b/bin/windows/java-petstore-resttemplate-webclient.bat
index 68ef1493f62..3330fc590ab 100644
--- a/bin/windows/java-petstore-resttemplate-webclient.bat
+++ b/bin/windows/java-petstore-resttemplate-webclient.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-webclient.json -o samples\client\petstore\java\webclient -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-webclient.json -o samples\client\petstore\java\webclient --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-resttemplate-withxml.bat b/bin/windows/java-petstore-resttemplate-withxml.bat
index c99182b1fff..ee67b4cd43f 100644
--- a/bin/windows/java-petstore-resttemplate-withxml.bat
+++ b/bin/windows/java-petstore-resttemplate-withxml.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-resttemplate-withxml -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resttemplate.json -o samples\client\petstore\java\resttemplate-withXml -DhideGenerationTimestamp=true,withXml=true
+set ags=generate --artifact-id petstore-resttemplate-withxml -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resttemplate.json -o samples\client\petstore\java\resttemplate-withXml --additional-properties hideGenerationTimestamp=true,withXml=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-resttemplate.bat b/bin/windows/java-petstore-resttemplate.bat
index 76d1f7a2195..50de951c129 100644
--- a/bin/windows/java-petstore-resttemplate.bat
+++ b/bin/windows/java-petstore-resttemplate.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resttemplate.json -o samples\client\petstore\java\resttemplate -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-resttemplate.json -o samples\client\petstore\java\resttemplate --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit.bat b/bin/windows/java-petstore-retrofit.bat
index 46b435a43f8..970393a34e6 100644
--- a/bin/windows/java-petstore-retrofit.bat
+++ b/bin/windows/java-petstore-retrofit.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit.json -o samples\client\petstore\java\retrofit -DhideGenerationTimestamp=true,dateLibrary=joda
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit.json -o samples\client\petstore\java\retrofit --additional-properties hideGenerationTimestamp=true,dateLibrary=joda
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2-play24.bat b/bin/windows/java-petstore-retrofit2-play24.bat
index 3ebf62f5af5..bfb57e1bb6f 100644
--- a/bin/windows/java-petstore-retrofit2-play24.bat
+++ b/bin/windows/java-petstore-retrofit2-play24.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-java-client-retrofit2-play24 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play24.json -o samples\client\petstore\java\retrofit2-play24 -DhideGenerationTimestamp=true
+set ags=generate --artifact-id petstore-java-client-retrofit2-play24 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play24.json -o samples\client\petstore\java\retrofit2-play24 --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2-play25.bat b/bin/windows/java-petstore-retrofit2-play25.bat
index cd785cf3ae1..d76bb00e1ea 100644
--- a/bin/windows/java-petstore-retrofit2-play25.bat
+++ b/bin/windows/java-petstore-retrofit2-play25.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-java-client-retrofit2-play25 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play25.json -o samples\client\petstore\java\retrofit2-play25 -DhideGenerationTimestamp=true
+set ags=generate --artifact-id petstore-java-client-retrofit2-play25 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play25.json -o samples\client\petstore\java\retrofit2-play25 --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2-play26.bat b/bin/windows/java-petstore-retrofit2-play26.bat
index aa51f1bdf17..2e740ac67d7 100644
--- a/bin/windows/java-petstore-retrofit2-play26.bat
+++ b/bin/windows/java-petstore-retrofit2-play26.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate --artifact-id petstore-java-client-retrofit2-play26 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play26.json -o samples\client\petstore\java\retrofit2-play26 -DhideGenerationTimestamp=true
+set ags=generate --artifact-id petstore-java-client-retrofit2-play26 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2-play26.json -o samples\client\petstore\java\retrofit2-play26 --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2.bat b/bin/windows/java-petstore-retrofit2.bat
index 8a34d37af96..e0d57dfdaa2 100644
--- a/bin/windows/java-petstore-retrofit2.bat
+++ b/bin/windows/java-petstore-retrofit2.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2.json -o samples\client\petstore\java\retrofit2 -DhideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2.json -o samples\client\petstore\java\retrofit2 --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2rx.bat b/bin/windows/java-petstore-retrofit2rx.bat
index 1ab4b7c25fb..e3801c9b7cd 100644
--- a/bin/windows/java-petstore-retrofit2rx.bat
+++ b/bin/windows/java-petstore-retrofit2rx.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2rx.json -o samples\client\petstore\java\retrofit2rx -DuseRxJava=true,hideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2rx.json -o samples\client\petstore\java\retrofit2rx --additional-properties useRxJava=true,hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-retrofit2rx2.bat b/bin/windows/java-petstore-retrofit2rx2.bat
index 3640765a1b1..29899b36960 100644
--- a/bin/windows/java-petstore-retrofit2rx2.bat
+++ b/bin/windows/java-petstore-retrofit2rx2.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2rx2.json -o samples\client\petstore\java\retrofit2rx2 -DuseRxJava2=true,hideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\retrofit2 -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-retrofit2rx2.json -o samples\client\petstore\java\retrofit2rx2 --additional-properties useRxJava2=true,hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-petstore-vertx.bat b/bin/windows/java-petstore-vertx.bat
index 06e7253fca5..151d1ac1fb3 100644
--- a/bin/windows/java-petstore-vertx.bat
+++ b/bin/windows/java-petstore-vertx.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\vertx -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-vertx.json -o samples\client\petstore\java\vertx -DhideGenerationTimestamp=true
+set ags=generate -t modules\openapi-generator\src\main\resources\Java\libraries\vertx -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g java -c bin\java-petstore-vertx.json -o samples\client\petstore\java\vertx --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/java-pkmst-petstore-server.bat b/bin/windows/java-pkmst-petstore-server.bat
index 59323fbfcdd..ace44650ed4 100644
--- a/bin/windows/java-pkmst-petstore-server.bat
+++ b/bin/windows/java-pkmst-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-pkmst -o samples\server\petstore\java-pkmst -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-pkmst -o samples\server\petstore\java-pkmst --additional-properties hideGenerationTimestamp=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 29495385662..887fdd25709 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\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-play-framework -o samples\server\petstore\java-play-framework -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-play-framework -o samples\server\petstore\java-play-framework --additional-properties hideGenerationTimestamp=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 90ef1dfc56b..5200b705a5d 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\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-vertx -o samples\server\petstore\java-vertx\async -DvertxSwaggerRouterVersion=1.2.0 -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-vertx -o samples\server\petstore\java-vertx\async --additional-properties vertxSwaggerRouterVersion=1.2.0,hideGenerationTimestamp=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 9bfa068c557..b107bd837e3 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\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-vertx -o samples\server\petstore\java-vertx\rx -DvertxSwaggerRouterVersion=1.2.0 -DrxInterface=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g java-vertx -o samples\server\petstore\java-vertx\rx --additional-properties vertxSwaggerRouterVersion=1.2.0,rxInterface=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/javascript-es6-petstore.bat b/bin/windows/javascript-es6-petstore.bat
index 4348e7add21..6ae6e93550c 100644
--- a/bin/windows/javascript-es6-petstore.bat
+++ b/bin/windows/javascript-es6-petstore.bat
@@ -7,4 +7,4 @@ If Not Exist %executable% (
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript-es6 --additional-properties useES6=true
-java -DappName=PetstoreClient %JAVA_OPTS% -jar %executable% %ags%
+java %JAVA_OPTS% -jar %executable% %ags% --additional-properties appName=PetstoreClient
diff --git a/bin/windows/javascript-petstore.bat b/bin/windows/javascript-petstore.bat
index 400e61b6e6c..04abbd1837d 100755
--- a/bin/windows/javascript-petstore.bat
+++ b/bin/windows/javascript-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript -DappName=PetstoreClient --additional-properties useES6=false
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript --additional-properties appName=PetstoreClient,useES6=false
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/javascript-promise-es6-petstore.bat b/bin/windows/javascript-promise-es6-petstore.bat
index bf952759aef..41959932277 100644
--- a/bin/windows/javascript-promise-es6-petstore.bat
+++ b/bin/windows/javascript-promise-es6-petstore.bat
@@ -7,4 +7,4 @@ If Not Exist %executable% (
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript-promise-es6 --additional-properties useES6=true,usePromises=true
-java -DappName=PetstoreClient %JAVA_OPTS% -jar %executable% %ags%
+java %JAVA_OPTS% -jar %executable% %ags% --additional-properties appName=PetstoreClient
diff --git a/bin/windows/javascript-promise-petstore.bat b/bin/windows/javascript-promise-petstore.bat
index a695b0a70e1..57756146e65 100755
--- a/bin/windows/javascript-promise-petstore.bat
+++ b/bin/windows/javascript-promise-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript-promise --additional-properties usePromises=true,useES6=false -DappName=PetstoreClient
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g javascript -o samples\client\petstore\javascript-promise --additional-properties usePromises=true,useES6=false,appName=PetstoreClient
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-cxf-cdi-petstore-server.bat b/bin/windows/jaxrs-cxf-cdi-petstore-server.bat
index 54e5b6768f7..48aadc36fec 100644
--- a/bin/windows/jaxrs-cxf-cdi-petstore-server.bat
+++ b/bin/windows/jaxrs-cxf-cdi-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf\log4j.properties
-set ags=generate -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf-cdi -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf-cdi -o samples\server\petstore\jaxrs-cxf-cdi -DhideGenerationTimestamp=true %*
+set ags=generate -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf-cdi -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf-cdi -o samples\server\petstore\jaxrs-cxf-cdi --additional-properties hideGenerationTimestamp=true %*
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-cxf-petstore-server-annotated-base-path.bat b/bin/windows/jaxrs-cxf-petstore-server-annotated-base-path.bat
index 92fea43aaa8..6df7234a239 100644
--- a/bin/windows/jaxrs-cxf-petstore-server-annotated-base-path.bat
+++ b/bin/windows/jaxrs-cxf-petstore-server-annotated-base-path.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate --artifact-id cxf-annotated-basepath -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf-annotated-base-path -DhideGenerationTimestamp=true,useAnnotatedBasePath=true --additional-properties serverPort=8082 %*
+set ags=generate --artifact-id cxf-annotated-basepath -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf-annotated-base-path --additional-properties hideGenerationTimestamp=true,useAnnotatedBasePath=true,serverPort=8082 %*
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-cxf-petstore-server-non-spring-application.bat b/bin/windows/jaxrs-cxf-petstore-server-non-spring-application.bat
index 9df7780484f..b239011963b 100644
--- a/bin/windows/jaxrs-cxf-petstore-server-non-spring-application.bat
+++ b/bin/windows/jaxrs-cxf-petstore-server-non-spring-application.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate --artifact-id cxf-server-non-spring -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf-non-spring-app -DhideGenerationTimestamp=true,generateNonSpringApplication=true --additional-properties serverPort=8082 %*
+set ags=generate --artifact-id cxf-server-non-spring -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf-non-spring-app --additional-properties hideGenerationTimestamp=true,generateNonSpringApplication=true,serverPort=8082 %*
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-cxf-petstore-server-test-data.bat b/bin/windows/jaxrs-cxf-petstore-server-test-data.bat
index 47c249ce0cf..ac42b6c0474 100644
--- a/bin/windows/jaxrs-cxf-petstore-server-test-data.bat
+++ b/bin/windows/jaxrs-cxf-petstore-server-test-data.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate --artifact-id cxf-test-data -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf-ext -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf-extended -o samples\server\petstore\jaxrs-cxf-test-data -DhideGenerationTimestamp=true -DuseAnnotatedBasePath=true --generate-alias-as-model --additional-properties java8=true,generateSpringApplication=true,generateSpringBootApplication=true,generateOperationBody=true,loadTestDataFromFile=true %*
+set ags=generate --artifact-id cxf-test-data -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf-ext -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf-extended -o samples\server\petstore\jaxrs-cxf-test-data --additional-properties hideGenerationTimestamp=true,useAnnotatedBasePath=true --generate-alias-as-model --additional-properties java8=true,generateSpringApplication=true,generateSpringBootApplication=true,generateOperationBody=true,loadTestDataFromFile=true %*
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/jaxrs-cxf-petstore-server.bat b/bin/windows/jaxrs-cxf-petstore-server.bat
index d64116025f9..82880f59590 100644
--- a/bin/windows/jaxrs-cxf-petstore-server.bat
+++ b/bin/windows/jaxrs-cxf-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf -DhideGenerationTimestamp=true %*
+set ags=generate -t modules\openapi-generator\src\main\resources\JavaJaxRS\cxf -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-cxf -o samples\server\petstore\jaxrs-cxf --additional-properties hideGenerationTimestamp=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
index 84307a12dfa..41c29d41cc4 100644
--- a/bin/windows/jaxrs-spec-petstore-server-interface.bat
+++ b/bin/windows/jaxrs-spec-petstore-server-interface.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples\server\petstore\jaxrs-spec-interface -DhideGenerationTimestamp=true,serializableModel=true,interfaceOnly=true
+set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples\server\petstore\jaxrs-spec-interface --additional-properties hideGenerationTimestamp=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
index 7172d579e34..eeb11da17fa 100644
--- a/bin/windows/jaxrs-spec-petstore-server.bat
+++ b/bin/windows/jaxrs-spec-petstore-server.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
-set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples\server\petstore\jaxrs-spec -DhideGenerationTimestamp=true,serializableModel=true
+set ags=generate --artifact-id "jaxrs-cxf-client-petstore-client" -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g jaxrs-spec -o samples\server\petstore\jaxrs-spec --additional-properties hideGenerationTimestamp=true,serializableModel=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/objc-petstore.bat b/bin/windows/objc-petstore.bat
index d75eeb2b7b0..d5264e33c37 100755
--- a/bin/windows/objc-petstore.bat
+++ b/bin/windows/objc-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g objc -o samples\client\petstore\objc\default -DappName=PetstoreClient
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g objc -o samples\client\petstore\objc\default --additional-properties appName=PetstoreClient
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python-petstore.bat b/bin/windows/python-petstore.bat
index 9c5ea9c7512..c09fd3a44b0 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\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples\client\petstore\python -DpackageName=petstore_api
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g python -o samples\client\petstore\python --additional-properties packageName=petstore_api
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python2-flask-petstore.bat b/bin/windows/python2-flask-petstore.bat
index cc77dfcd5fc..54189a7d193 100755
--- a/bin/windows/python2-flask-petstore.bat
+++ b/bin/windows/python2-flask-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask-python2 -c bin\supportPython2.json -D service
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask-python2 -c bin\supportPython2.json
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/python3-flask-petstore.bat b/bin/windows/python3-flask-petstore.bat
index c1677662bd0..56205cf151a 100755
--- a/bin/windows/python3-flask-petstore.bat
+++ b/bin/windows/python3-flask-petstore.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask -D service
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g python-flask -o samples\server\petstore\python-flask
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 a9a2cc4797d..e87ba8ed7de 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\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g spring --library=spring-mvc -o samples\server\petstore\spring-mvc-j8-async -c bin\spring-mvc-petstore-j8-async.json -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g spring --library=spring-mvc -o samples\server\petstore\spring-mvc-j8-async -c bin\spring-mvc-petstore-j8-async.json --additional-properties hideGenerationTimestamp=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 202de357718..02783f339cf 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\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -c bin\spring-mvc-petstore-server.json -g spring --library=spring-mvc -o samples\server\petstore\spring-mvc -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -c bin\spring-mvc-petstore-server.json -g spring --library=spring-mvc -o samples\server\petstore\spring-mvc --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/springboot-petstore-server.bat b/bin/windows/springboot-petstore-server.bat
index 9790ce15b39..af0e4c2ba10 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\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples\server\petstore\springboot -DhideGenerationTimestamp=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore-with-fake-endpoints-models-for-testing.yaml -g spring -o samples\server\petstore\springboot --additional-properties hideGenerationTimestamp=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v2-interfaces.bat b/bin/windows/typescript-angular-v2-interfaces.bat
index 443d8eb53cd..881810e729f 100644
--- a/bin/windows/typescript-angular-v2-interfaces.bat
+++ b/bin/windows/typescript-angular-v2-interfaces.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v2\with-interfaces -D withInterfaces=true --additional-properties ngVersion=2
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v2\with-interfaces --additional-properties withInterfaces=true --additional-properties ngVersion=2
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v6-not-provided-in-root-with-npm.bat b/bin/windows/typescript-angular-v6-not-provided-in-root-with-npm.bat
index 5d7ace44e2c..4e3e38dff45 100644
--- a/bin/windows/typescript-angular-v6-not-provided-in-root-with-npm.bat
+++ b/bin/windows/typescript-angular-v6-not-provided-in-root-with-npm.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -c bin\typescript-angular-v6-petstore-not-provided-in-root-with-npm.json -o samples\client\petstore\typescript-angular-v6-not-provided-in-root\builds\with-npm -D providedInRoot=false --additional-properties ngVersion=6.0.0
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -c bin\typescript-angular-v6-petstore-not-provided-in-root-with-npm.json -o samples\client\petstore\typescript-angular-v6-not-provided-in-root\builds\with-npm --additional-properties providedInRoot=false --additional-properties ngVersion=6.0.0
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v6-not-provided-in-root.bat b/bin/windows/typescript-angular-v6-not-provided-in-root.bat
index 3cddf6e1926..d5550355dff 100644
--- a/bin/windows/typescript-angular-v6-not-provided-in-root.bat
+++ b/bin/windows/typescript-angular-v6-not-provided-in-root.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v6-not-provided-in-root\builds\default -D providedInRoot=false --additional-properties ngVersion=6.0.0
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v6-not-provided-in-root\builds\default --additional-properties providedInRoot=false --additional-properties ngVersion=6.0.0
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v7-not-provided-in-root-with-npm.bat b/bin/windows/typescript-angular-v7-not-provided-in-root-with-npm.bat
index b95ce1fbdb7..5a133e10265 100644
--- a/bin/windows/typescript-angular-v7-not-provided-in-root-with-npm.bat
+++ b/bin/windows/typescript-angular-v7-not-provided-in-root-with-npm.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -c bin\typescript-angular-v7-petstore-not-provided-in-root-with-npm.json -o samples\client\petstore\typescript-angular-v7-not-provided-in-root\builds\with-npm -D providedInRoot=false --additional-properties ngVersion=7.0.0
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -c bin\typescript-angular-v7-petstore-not-provided-in-root-with-npm.json -o samples\client\petstore\typescript-angular-v7-not-provided-in-root\builds\with-npm --additional-properties providedInRoot=false --additional-properties ngVersion=7.0.0
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-angular-v7-not-provided-in-root.bat b/bin/windows/typescript-angular-v7-not-provided-in-root.bat
index 3522fae151e..b9a18244d0f 100644
--- a/bin/windows/typescript-angular-v7-not-provided-in-root.bat
+++ b/bin/windows/typescript-angular-v7-not-provided-in-root.bat
@@ -5,6 +5,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v7-not-provided-in-root\builds\default -D providedInRoot=false --additional-properties ngVersion=7.0.0
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-angular -o samples\client\petstore\typescript-angular-v7-not-provided-in-root\builds\default --additional-properties ngVersion=7.0.0 --additional-properties providedInRoot=false
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-axios-petstore-interfaces.bat b/bin/windows/typescript-axios-petstore-interfaces.bat
index b92c34a9f8b..2c34eba5c7a 100644
--- a/bin/windows/typescript-axios-petstore-interfaces.bat
+++ b/bin/windows/typescript-axios-petstore-interfaces.bat
@@ -7,6 +7,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-axios -o samples\client\petstore\typescript-axios\builds\with-interfaces -D withInterfaces=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-axios -o samples\client\petstore\typescript-axios\builds\with-interfaces --additional-properties withInterfaces=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-fetch-petstore-interfaces.bat b/bin/windows/typescript-fetch-petstore-interfaces.bat
index e41be611298..e25d23badb7 100644
--- a/bin/windows/typescript-fetch-petstore-interfaces.bat
+++ b/bin/windows/typescript-fetch-petstore-interfaces.bat
@@ -7,6 +7,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-fetch -o samples\client\petstore\typescript-fetch\builds\with-interfaces -D withInterfaces=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-fetch -o samples\client\petstore\typescript-fetch\builds\with-interfaces --additional-properties withInterfaces=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/bin/windows/typescript-rxjs-petstore-interfaces.bat b/bin/windows/typescript-rxjs-petstore-interfaces.bat
index 401ccb7b376..b2232e82cd3 100644
--- a/bin/windows/typescript-rxjs-petstore-interfaces.bat
+++ b/bin/windows/typescript-rxjs-petstore-interfaces.bat
@@ -7,6 +7,6 @@ If Not Exist %executable% (
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M
-set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\with-interfaces -D withInterfaces=true
+set ags=generate -i modules\openapi-generator\src\test\resources\2_0\petstore.yaml -g typescript-rxjs -o samples\client\petstore\typescript-rxjs\builds\with-interfaces --additional-properties withInterfaces=true
java %JAVA_OPTS% -jar %executable% %ags%
diff --git a/modules/openapi-generator-cli/pom.xml b/modules/openapi-generator-cli/pom.xml
index a9207670efa..181a3fb219e 100644
--- a/modules/openapi-generator-cli/pom.xml
+++ b/modules/openapi-generator-cli/pom.xml
@@ -4,7 +4,7 @@
org.openapitoolsopenapi-generator-project
- 4.0.3
+ 4.1.0-SNAPSHOT../..
diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
index 62924e2b6ab..00a7f533486 100644
--- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
+++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
@@ -140,7 +140,7 @@ public class Generate implements Runnable {
private List typeMappings = new ArrayList<>();
@Option(
- name = {"--additional-properties"},
+ name = {"-p", "--additional-properties"},
title = "additional properties",
description = "sets additional properties that can be referenced by the mustache templates in the format of name=value,name=value."
+ " You can also have multiple occurrences of this option.")
@@ -383,7 +383,10 @@ public class Generate implements Runnable {
configurator.setStrictSpecBehavior(strictSpecBehavior);
}
- applySystemPropertiesKvpList(systemProperties, configurator);
+ if (systemProperties != null && !systemProperties.isEmpty()) {
+ System.err.println("[DEPRECATED] -D arguments after 'generate' are application arguments and not Java System Properties, please consider changing to -p, or apply your options to JAVA_OPTS, or move the -D arguments before the jar option.");
+ applySystemPropertiesKvpList(systemProperties, configurator);
+ }
applyInstantiationTypesKvpList(instantiationTypes, configurator);
applyImportMappingsKvpList(importMappings, configurator);
applyTypeMappingsKvpList(typeMappings, configurator);
diff --git a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java
index d8812b5c8d1..a2304283d68 100644
--- a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java
+++ b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java
@@ -64,9 +64,11 @@ public class GenerateTest {
@Test
public void testRequiredArgs_ShortArgs() throws Exception {
- setupAndRunTest("-i", "src/test/resources/swagger.yaml", "-g", "java", "-o", "src/main/java", false, null);
+ setupAndRunTest("-i", "src/test/resources/swagger.yaml", "-g", "java", "-o", "src/main/java", false, null, "-p", "foo=bar");
new FullVerifications() {
{
+ configurator.addAdditionalProperty("foo", "bar");
+ times = 1;
}
};
}
@@ -138,85 +140,6 @@ public class GenerateTest {
};
}
- @Test
- public void testSystemProperties() throws Exception {
-
- setupAndRunGenericTest("-D", "hello=world,foo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- }
- };
-
- setupAndRunGenericTest("-Dhello=world,foo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- }
- };
-
- setupAndRunGenericTest("-D", "hello=world,key=,foo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- configurator.addSystemProperty("key", "");
- times = 1;
- }
- };
-
- setupAndRunGenericTest("-D", "hello=world,key,foo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- configurator.addSystemProperty("key", "");
- times = 1;
- }
- };
-
- setupAndRunGenericTest("-D", "hello=world", "-D", "key", "-D", "foo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- configurator.addSystemProperty("key", "");
- times = 1;
- }
- };
-
- setupAndRunGenericTest("-Dhello=world", "-Dkey", "-Dfoo=bar");
-
- new FullVerifications() {
- {
- configurator.addSystemProperty("hello", "world");
- times = 1;
- configurator.addSystemProperty("foo", "bar");
- times = 1;
- configurator.addSystemProperty("key", "");
- times = 1;
- }
- };
- }
-
-
@Test
public void testConfigJson() throws Exception {
diff --git a/modules/openapi-generator-core/pom.xml b/modules/openapi-generator-core/pom.xml
index 520ac17e59c..d9e99ca645b 100644
--- a/modules/openapi-generator-core/pom.xml
+++ b/modules/openapi-generator-core/pom.xml
@@ -6,7 +6,7 @@
openapi-generator-projectorg.openapitools
- 4.0.3
+ 4.1.0-SNAPSHOT../..
@@ -15,11 +15,27 @@
openapi-generator-coreopenapi-generator-corehttps://github.com/openapitools/openapi-generator
+
+
+ com.google.guava
+ guava
+ ${guava-version}
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j-version}
+ org.testngtestngtest
+
+
+ 1.7.12
+ 26.0-jre
+
diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/Context.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/Context.java
new file mode 100644
index 00000000000..6bd2588ae19
--- /dev/null
+++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/Context.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.codegen.config;
+
+/**
+ * The Context used for generation.
+ *
+ * @param the type of the input spec document.
+ */
+public class Context {
+ private TSpecDocument specDocument;
+ private GeneratorSettings generatorSettings;
+ private WorkflowSettings workflowSettings;
+
+ /**
+ * Instantiates a new Context.
+ *
+ * @param specDocument the spec document
+ * @param generatorSettings the generator settings
+ * @param workflowSettings the workflow settings
+ */
+ public Context(TSpecDocument specDocument, GeneratorSettings generatorSettings, WorkflowSettings workflowSettings) {
+ this.specDocument = specDocument;
+ this.generatorSettings = generatorSettings;
+ this.workflowSettings = workflowSettings;
+ }
+
+ /**
+ * Gets the generator settings. These options are specific to "what" gets generated (language, framework).
+ *
+ * @return the generator settings
+ */
+ public GeneratorSettings getGeneratorSettings() {
+ return generatorSettings;
+ }
+
+ /**
+ * Gets the spec document.
+ *
+ * @return the spec document
+ */
+ public TSpecDocument getSpecDocument() {
+ return specDocument;
+ }
+
+ /**
+ * Gets the workflow settings. These options are specific to "how" code gets generated (input, output directory, ignore files, template engine, etc).
+ *
+ * @return the workflow settings
+ */
+ public WorkflowSettings getWorkflowSettings() {
+ return workflowSettings;
+ }
+}
diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java
new file mode 100644
index 00000000000..565539c7ca3
--- /dev/null
+++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/GeneratorSettings.java
@@ -0,0 +1,872 @@
+/*
+ * Copyright 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.codegen.config;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Serializable;
+import java.util.*;
+
+/**
+ * Represents those settings applied to a generator.
+ */
+public final class GeneratorSettings implements Serializable {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(GeneratorSettings.class);
+ private static String DEFAULT_GIT_USER_ID = "GIT_USER_ID";
+ private static String DEFAULT_GIT_REPO_ID = "GIT_REPO_ID";
+ private static String DEFAULT_RELEASE_NOTE = "Minor update";
+
+ private String generatorName;
+ private String apiPackage;
+ private String modelPackage;
+ private String invokerPackage;
+ private String packageName;
+ private String modelNamePrefix;
+ private String modelNameSuffix;
+ private String groupId;
+ private String artifactId;
+ private String artifactVersion;
+ private String library;
+
+ private ImmutableMap instantiationTypes;
+ private ImmutableMap typeMappings;
+ private ImmutableMap additionalProperties;
+ private ImmutableMap importMappings;
+ private ImmutableSet languageSpecificPrimitives;
+ private ImmutableMap reservedWordMappings;
+
+ private String gitUserId;
+ private String gitRepoId;
+ private String releaseNote;
+ private String httpUserAgent;
+
+ /**
+ * Gets the name of the generator to use.
+ *
+ * @return the generator name
+ */
+ public String getGeneratorName() {
+ return generatorName;
+ }
+
+ /**
+ * Gets the api package name for generated sources.
+ *
+ * @return the api package
+ */
+ public String getApiPackage() {
+ return apiPackage;
+ }
+
+ /**
+ * Gets the model package name for generated sources
+ *
+ * @return the model package
+ */
+ public String getModelPackage() {
+ return modelPackage;
+ }
+
+ /**
+ * Gets the invoker package name for generated sources.
+ *
+ * @return the invoker package
+ */
+ public String getInvokerPackage() {
+ return invokerPackage;
+ }
+
+ /**
+ * Gets the overall package name for generated sources.
+ *
+ * @return the package name
+ */
+ public String getPackageName() {
+ return packageName;
+ }
+
+ /**
+ * Gets a model name prefix for generated models. This name will be prefixed to a model name.
+ *
+ * This option is often used to circumvent compilation issues where models match keywords.
+ *
+ * Example:
+ *
+ * Prefix My applied to Object results in a generated class named MyObject.
+ *
+ * @return the model name prefix
+ */
+ public String getModelNamePrefix() {
+ return modelNamePrefix;
+ }
+
+ /**
+ * Gets a model name suffix for generated models. This name will be appended to a model name.
+ *
+ * This option is often used to circumvent compilation issues where models match keywords.
+ *
+ * Example:
+ *
+ * Suffix Gen applied to Object results in a generated class named ObjectGen.
+ *
+ * @return the model name suffix
+ */
+ public String getModelNameSuffix() {
+ return modelNameSuffix;
+ }
+
+ /**
+ * Gets the group id for generated sources which support this concept (e.g. Java and pom.xml, Scala and SBT/Gradle/pom).
+ *
+ * @return the group id
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * Gets artifact id for generated sources which support this concept (e.g. Java and pom.xml, Scala and SBT/Gradle/pom).
+ *
+ * @return the artifact id
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * Gets artifact version for generated sources which support this concept (e.g. Java and pom.xml, Scala and SBT/Gradle/pom).
+ *
+ * @return the artifact version
+ */
+ public String getArtifactVersion() {
+ return artifactVersion;
+ }
+
+ /**
+ * Gets library (sub-template) for the target generated.
+ *
+ * @return the library
+ */
+ public String getLibrary() {
+ return library;
+ }
+
+
+ /**
+ * Gets instantiation types mappings. These allow for customizing the defaults provided by a built-in generator.
+ *
+ * For example, "array" to "ArrayList" applied to the Java generator will cause all array properties to be instantiated as ArrayList.
+ *
+ * This option differs from {@link GeneratorSettings#getTypeMappings()} in that values provided here are generally used for type construction (what is applied to "new").
+ *
+ * @return the instantiation types
+ */
+ public Map getInstantiationTypes() {
+ return instantiationTypes;
+ }
+
+ /**
+ * Gets type mappings. These allow for customizing type definitions.
+ *
+ * For example, "array" to "List" applied to the Java generator will cause all variable assignments for array properties to be of type List.
+ *
+ * This option differs from {@link GeneratorSettings#getInstantiationTypes()} in that values provided here are variable reference types rather than concrete instantiation types.
+ *
+ * @return the type mappings
+ */
+ public Map getTypeMappings() {
+ return typeMappings;
+ }
+
+ /**
+ * Gets additional properties which will be passed to template as dynamic properties.
+ *
+ * @return the additional properties
+ */
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Gets import mappings between a given class and the import that should be used for that class.
+ *
+ * Use import mappings, for example, when you want to "bring your own models" from another location.
+ *
+ * @return the import mappings
+ * @see Bringing your own models
+ */
+ public Map getImportMappings() {
+ return importMappings;
+ }
+
+ /**
+ * Gets language specific primitives. These are in addition to the "base" primitives defined in a generator.
+ *
+ * In general, a primitive defined here will indicate to the generator:
+ *
+ * - models with these types don't require an import
+ * - model names not included here require imports and likely indicate a model reference
+ *
+ * There may be generator-specific implementation details which differ slightly.
+ *
+ * @return the language specific primitives
+ */
+ public Set getLanguageSpecificPrimitives() {
+ return languageSpecificPrimitives;
+ }
+
+ /**
+ * Gets reserved word mappings. Values defined here define how a reserved word should be escaped.
+ *
+ * If no mapping is present, the mapping is generally automatically applied to a default with prefixed underscore (_name). Note that
+ * some languages don't support identifiers beginning with a prefix, in which case the generator applies a more appropriate prefix.
+ *
+ * @return the reserved word mappings
+ */
+ public Map getReservedWordMappings() {
+ return reservedWordMappings;
+ }
+
+ /**
+ * Gets git user id. e.g. openapitools.
+ *
+ * Generally used by git_push.sh in generated sources which support it.
+ * This value may also be used by templates in maven style references, READMEs, or other documentation.
+ *
+ * @return the git user id
+ */
+ public String getGitUserId() {
+ return gitUserId;
+ }
+
+ /**
+ * Gets git repo id. e.g. openapi-generator.
+ *
+ * Generally used by git_push.sh in generated sources which support it.
+ * This value may also be used by templates in maven style references, READMEs, or other documentation.
+ *
+ * @return the git repo id
+ */
+ public String getGitRepoId() {
+ return gitRepoId;
+ }
+
+ /**
+ * Gets release note for the generated instance.
+ *
+ * Generally used by git_push.sh in generated sources which support it.
+ * This value may also be used by templates in maven style references, READMEs, or other documentation.
+ *
+ * @return the release note
+ */
+ public String getReleaseNote() {
+ return releaseNote;
+ }
+
+ /**
+ * Gets the http user agent to be used by client generators which support setting this value.
+ *
+ * e.g. codegen_csharp_api_client, defaults to 'OpenAPI-Generator/{packageVersion}}/{language}'
+ *
+ * @return the http user agent
+ */
+ public String getHttpUserAgent() {
+ return httpUserAgent;
+ }
+
+ private GeneratorSettings(Builder builder) {
+ setDefaults();
+
+ generatorName = builder.generatorName;
+ apiPackage = builder.apiPackage;
+ modelPackage = builder.modelPackage;
+ invokerPackage = builder.invokerPackage;
+ packageName = builder.packageName;
+ modelNamePrefix = builder.modelNamePrefix;
+ modelNameSuffix = builder.modelNameSuffix;
+ groupId = builder.groupId;
+ artifactId = builder.artifactId;
+ artifactVersion = builder.artifactVersion;
+ library = builder.library;
+ instantiationTypes = ImmutableMap.copyOf(builder.instantiationTypes);
+ typeMappings = ImmutableMap.copyOf(builder.typeMappings);
+ importMappings = ImmutableMap.copyOf(builder.importMappings);
+ languageSpecificPrimitives = ImmutableSet.copyOf(builder.languageSpecificPrimitives);
+ reservedWordMappings = ImmutableMap.copyOf(builder.reservedWordMappings);
+ gitUserId = builder.gitUserId;
+ gitRepoId = builder.gitRepoId;
+ releaseNote = builder.releaseNote;
+ httpUserAgent = builder.httpUserAgent;
+
+ Map additional = new HashMap<>(builder.additionalProperties);
+
+ if (isNotEmpty(apiPackage)) {
+ additional.put("apiPackage", apiPackage);
+ }
+ if (isNotEmpty(modelPackage)) {
+ additional.put("modelPackage", modelPackage);
+ }
+ if (isNotEmpty(invokerPackage)) {
+ additional.put("invokerPackage", invokerPackage);
+ }
+ if (isNotEmpty(packageName)) {
+ additional.put("packageName", packageName);
+ }
+ if (isNotEmpty(groupId)) {
+ additional.put("groupId", groupId);
+ }
+ if (isNotEmpty(artifactId)) {
+ additional.put("artifactId", artifactId);
+ }
+ if (isNotEmpty(artifactVersion)) {
+ additional.put("artifactVersion", artifactVersion);
+ }
+ if (isNotEmpty(modelNamePrefix)) {
+ additional.put("modelNamePrefix", modelNamePrefix);
+ }
+ if (isNotEmpty(modelNameSuffix)) {
+ additional.put("modelNameSuffix", modelNameSuffix);
+ }
+ if (isNotEmpty(gitUserId)) {
+ additional.put("gitUserId", gitUserId);
+ }
+ if (isNotEmpty(gitRepoId)) {
+ additional.put("gitRepoId", gitRepoId);
+ }
+ if (isNotEmpty(releaseNote)) {
+ additional.put("releaseNote", releaseNote);
+ }
+ if (isNotEmpty(httpUserAgent)) {
+ additional.put("httpUserAgent", httpUserAgent);
+ }
+
+ additionalProperties = ImmutableMap.copyOf(additional);
+ }
+
+ /**
+ * Instantiates a new Generator settings.
+ */
+ @SuppressWarnings("unused")
+ public GeneratorSettings() {
+ setDefaults();
+ instantiationTypes = ImmutableMap.of();
+ typeMappings = ImmutableMap.of();
+ additionalProperties = ImmutableMap.of();
+ importMappings = ImmutableMap.of();
+ languageSpecificPrimitives = ImmutableSet.of();
+ reservedWordMappings = ImmutableMap.of();
+ }
+
+ private void setDefaults() {
+ gitUserId = DEFAULT_GIT_USER_ID;
+ gitRepoId = DEFAULT_GIT_REPO_ID;
+ releaseNote = DEFAULT_RELEASE_NOTE;
+ }
+
+ private boolean isNotEmpty(String value) {
+ return value != null && value.length() > 0;
+ }
+
+ /**
+ * New builder builder.
+ *
+ * @return the builder
+ */
+ public static Builder newBuilder() {
+ return new Builder();
+ }
+
+ /**
+ * New builder builder.
+ *
+ * @param copy the copy
+ * @return the builder
+ */
+ public static Builder newBuilder(GeneratorSettings copy) {
+ Builder builder = new Builder();
+ builder.generatorName = copy.getGeneratorName();
+ builder.apiPackage = copy.getApiPackage();
+ builder.modelPackage = copy.getModelPackage();
+ builder.invokerPackage = copy.getInvokerPackage();
+ builder.packageName = copy.getPackageName();
+ builder.modelNamePrefix = copy.getModelNamePrefix();
+ builder.modelNameSuffix = copy.getModelNameSuffix();
+ builder.groupId = copy.getGroupId();
+ builder.artifactId = copy.getArtifactId();
+ builder.artifactVersion = copy.getArtifactVersion();
+ builder.library = copy.getLibrary();
+ builder.instantiationTypes = new HashMap<>(copy.getInstantiationTypes());
+ builder.typeMappings = new HashMap<>(copy.getTypeMappings());
+ builder.additionalProperties = new HashMap<>(copy.getAdditionalProperties());
+ builder.importMappings = new HashMap<>(copy.getImportMappings());
+ builder.languageSpecificPrimitives = new HashSet<>(copy.getLanguageSpecificPrimitives());
+ builder.reservedWordMappings = new HashMap<>(copy.getReservedWordMappings());
+ builder.gitUserId = copy.getGitUserId();
+ builder.gitRepoId = copy.getGitRepoId();
+ builder.releaseNote = copy.getReleaseNote();
+ builder.httpUserAgent = copy.getHttpUserAgent();
+
+ return builder;
+ }
+
+ /**
+ * {@code GeneratorSettings} builder static inner class.
+ */
+ @SuppressWarnings("UnusedReturnValue")
+ public static final class Builder {
+ private String generatorName;
+ private String apiPackage;
+ private String modelPackage;
+ private String invokerPackage;
+ private String packageName;
+ private String modelNamePrefix;
+ private String modelNameSuffix;
+ private String groupId;
+ private String artifactId;
+ private String artifactVersion;
+ private String library;
+ private Map instantiationTypes;
+ private Map typeMappings;
+ private Map additionalProperties;
+ private Map importMappings;
+ private Set languageSpecificPrimitives;
+ private Map reservedWordMappings;
+ private String gitUserId;
+ private String gitRepoId;
+ private String releaseNote;
+ private String httpUserAgent;
+
+ /**
+ * Instantiates a new Builder.
+ */
+ public Builder() {
+ instantiationTypes = new HashMap<>();
+ typeMappings = new HashMap<>();
+ additionalProperties = new HashMap<>();
+ importMappings = new HashMap<>();
+ languageSpecificPrimitives = new HashSet<>();
+ reservedWordMappings = new HashMap<>();
+
+ gitUserId = DEFAULT_GIT_USER_ID;
+ gitRepoId = DEFAULT_GIT_REPO_ID;
+ releaseNote = DEFAULT_RELEASE_NOTE;
+ }
+
+ /**
+ * Sets the {@code generatorName} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param generatorName the {@code generatorName} to set
+ * @return a reference to this Builder
+ */
+ public Builder withGeneratorName(String generatorName) {
+ this.generatorName = generatorName;
+ return this;
+ }
+
+ /**
+ * Sets the {@code apiPackage} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param apiPackage the {@code apiPackage} to set
+ * @return a reference to this Builder
+ */
+ public Builder withApiPackage(String apiPackage) {
+ this.apiPackage = apiPackage;
+ return this;
+ }
+
+ /**
+ * Sets the {@code modelPackage} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param modelPackage the {@code modelPackage} to set
+ * @return a reference to this Builder
+ */
+ public Builder withModelPackage(String modelPackage) {
+ this.modelPackage = modelPackage;
+ return this;
+ }
+
+ /**
+ * Sets the {@code invokerPackage} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param invokerPackage the {@code invokerPackage} to set
+ * @return a reference to this Builder
+ */
+ public Builder withInvokerPackage(String invokerPackage) {
+ this.invokerPackage = invokerPackage;
+ return this;
+ }
+
+ /**
+ * Sets the {@code packageName} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param packageName the {@code packageName} to set
+ * @return a reference to this Builder
+ */
+ public Builder withPackageName(String packageName) {
+ this.packageName = packageName;
+ return this;
+ }
+
+ /**
+ * Sets the {@code modelNamePrefix} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param modelNamePrefix the {@code modelNamePrefix} to set
+ * @return a reference to this Builder
+ */
+ public Builder withModelNamePrefix(String modelNamePrefix) {
+ this.modelNamePrefix = modelNamePrefix;
+ return this;
+ }
+
+ /**
+ * Sets the {@code modelNameSuffix} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param modelNameSuffix the {@code modelNameSuffix} to set
+ * @return a reference to this Builder
+ */
+ public Builder withModelNameSuffix(String modelNameSuffix) {
+ this.modelNameSuffix = modelNameSuffix;
+ return this;
+ }
+
+ /**
+ * Sets the {@code groupId} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param groupId the {@code groupId} to set
+ * @return a reference to this Builder
+ */
+ public Builder withGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ /**
+ * Sets the {@code artifactId} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param artifactId the {@code artifactId} to set
+ * @return a reference to this Builder
+ */
+ public Builder withArtifactId(String artifactId) {
+ this.artifactId = artifactId;
+ return this;
+ }
+
+ /**
+ * Sets the {@code artifactVersion} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param artifactVersion the {@code artifactVersion} to set
+ * @return a reference to this Builder
+ */
+ public Builder withArtifactVersion(String artifactVersion) {
+ this.artifactVersion = artifactVersion;
+ return this;
+ }
+
+ /**
+ * Sets the {@code library} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param library the {@code library} to set
+ * @return a reference to this Builder
+ */
+ public Builder withLibrary(String library) {
+ this.library = library;
+ return this;
+ }
+
+ /**
+ * Sets the {@code instantiationTypes} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param instantiationTypes the {@code instantiationTypes} to set
+ * @return a reference to this Builder
+ */
+ public Builder withInstantiationTypes(Map instantiationTypes) {
+ this.instantiationTypes = instantiationTypes;
+ return this;
+ }
+
+ /**
+ * Sets a single {@code instantiationTypes} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param key A key for some instantiation type
+ * @param value The value of some instantiation type
+ * @return a reference to this Builder
+ */
+ public Builder withInstantiationType(String key, String value) {
+ if (this.instantiationTypes == null) {
+ this.instantiationTypes = new HashMap<>();
+ }
+ this.instantiationTypes.put(key, value);
+ return this;
+ }
+
+ /**
+ * Sets the {@code typeMappings} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param typeMappings the {@code typeMappings} to set
+ * @return a reference to this Builder
+ */
+ public Builder withTypeMappings(Map typeMappings) {
+ this.typeMappings = typeMappings;
+ return this;
+ }
+
+ /**
+ * Sets the {@code additionalProperties} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param additionalProperties the {@code additionalProperties} to set
+ * @return a reference to this Builder
+ */
+ public Builder withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Sets the {@code additionalProperties} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param key A key for some additional property
+ * @param value The value of some additional property
+ * @return a reference to this Builder
+ */
+ public Builder withAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap<>();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Sets the {@code importMappings} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param importMappings the {@code importMappings} to set
+ * @return a reference to this Builder
+ */
+ public Builder withImportMappings(Map importMappings) {
+ this.importMappings = importMappings;
+ return this;
+ }
+
+ /**
+ * Sets a single {@code importMappings} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param key A key for some import mapping
+ * @param value The value of some import mapping
+ * @return a reference to this Builder
+ */
+ public Builder withImportMapping(String key, String value) {
+ if (this.importMappings == null) {
+ this.importMappings = new HashMap<>();
+ }
+ this.importMappings.put(key, value);
+ return this;
+ }
+
+ /**
+ * Sets the {@code languageSpecificPrimitives} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param languageSpecificPrimitives the {@code languageSpecificPrimitives} to set
+ * @return a reference to this Builder
+ */
+ public Builder withLanguageSpecificPrimitives(Set languageSpecificPrimitives) {
+ this.languageSpecificPrimitives = languageSpecificPrimitives;
+ return this;
+ }
+
+ /**
+ * Sets a single {@code languageSpecificPrimitives} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param value The value of some primitive to set
+ * @return a reference to this Builder
+ */
+ public Builder withLanguageSpecificPrimitive(String value) {
+ if (this.languageSpecificPrimitives == null) {
+ this.languageSpecificPrimitives = new HashSet<>();
+ }
+ this.languageSpecificPrimitives.add(value);
+ return this;
+ }
+
+ /**
+ * Sets the {@code reservedWordMappings} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param reservedWordMappings the {@code reservedWordMappings} to set
+ * @return a reference to this Builder
+ */
+ public Builder withReservedWordMappings(Map reservedWordMappings) {
+ this.reservedWordMappings = reservedWordMappings;
+ return this;
+ }
+
+ /**
+ * Sets a single {@code reservedWordMappings} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param key A key for some reserved word mapping
+ * @param value The value of some reserved word mapping
+ * @return a reference to this Builder
+ */
+ public Builder withReservedWordMapping(String key, String value) {
+ if (this.reservedWordMappings == null) {
+ this.reservedWordMappings = new HashMap<>();
+ }
+ this.reservedWordMappings.put(key, value);
+ return this;
+ }
+
+ /**
+ * Sets the {@code gitUserId} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param gitUserId the {@code gitUserId} to set
+ * @return a reference to this Builder
+ */
+ public Builder withGitUserId(String gitUserId) {
+ this.gitUserId = gitUserId;
+ return this;
+ }
+
+ /**
+ * Sets the {@code gitRepoId} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param gitRepoId the {@code gitRepoId} to set
+ * @return a reference to this Builder
+ */
+ public Builder withGitRepoId(String gitRepoId) {
+ this.gitRepoId = gitRepoId;
+ return this;
+ }
+
+ /**
+ * Sets the {@code releaseNote} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param releaseNote the {@code releaseNote} to set
+ * @return a reference to this Builder
+ */
+ public Builder withReleaseNote(String releaseNote) {
+ this.releaseNote = releaseNote;
+ return this;
+ }
+
+ /**
+ * Sets the {@code httpUserAgent} and returns a reference to this Builder so that the methods can be chained together.
+ *
+ * @param httpUserAgent the {@code httpUserAgent} to set
+ * @return a reference to this Builder
+ */
+ public Builder withHttpUserAgent(String httpUserAgent) {
+ this.httpUserAgent = httpUserAgent;
+ return this;
+ }
+
+ /**
+ * Returns a {@code GeneratorSettings} built from the parameters previously set.
+ *
+ * @return a {@code GeneratorSettings} built with parameters of this {@code GeneratorSettings.Builder}
+ */
+ public GeneratorSettings build() {
+ GeneratorSettings instance = new GeneratorSettings(this);
+ //noinspection PlaceholderCountMatchesArgumentCount
+ LOGGER.debug("GeneratorSettings#build: %s", instance.toString());
+ return instance;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "GeneratorSettings{" +
+ "generatorName='" + generatorName + '\'' +
+ ", apiPackage='" + apiPackage + '\'' +
+ ", modelPackage='" + modelPackage + '\'' +
+ ", invokerPackage='" + invokerPackage + '\'' +
+ ", packageName='" + packageName + '\'' +
+ ", modelNamePrefix='" + modelNamePrefix + '\'' +
+ ", modelNameSuffix='" + modelNameSuffix + '\'' +
+ ", groupId='" + groupId + '\'' +
+ ", artifactId='" + artifactId + '\'' +
+ ", artifactVersion='" + artifactVersion + '\'' +
+ ", library='" + library + '\'' +
+ ", instantiationTypes=" + instantiationTypes +
+ ", typeMappings=" + typeMappings +
+ ", additionalProperties=" + additionalProperties +
+ ", importMappings=" + importMappings +
+ ", languageSpecificPrimitives=" + languageSpecificPrimitives +
+ ", reservedWordMappings=" + reservedWordMappings +
+ ", gitUserId='" + gitUserId + '\'' +
+ ", gitRepoId='" + gitRepoId + '\'' +
+ ", releaseNote='" + releaseNote + '\'' +
+ ", httpUserAgent='" + httpUserAgent + '\'' +
+ '}';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (!(o instanceof GeneratorSettings)) return false;
+ GeneratorSettings that = (GeneratorSettings) o;
+ return Objects.equals(getGeneratorName(), that.getGeneratorName()) &&
+ Objects.equals(getApiPackage(), that.getApiPackage()) &&
+ Objects.equals(getModelPackage(), that.getModelPackage()) &&
+ Objects.equals(getInvokerPackage(), that.getInvokerPackage()) &&
+ Objects.equals(getPackageName(), that.getPackageName()) &&
+ Objects.equals(getModelNamePrefix(), that.getModelNamePrefix()) &&
+ Objects.equals(getModelNameSuffix(), that.getModelNameSuffix()) &&
+ Objects.equals(getGroupId(), that.getGroupId()) &&
+ Objects.equals(getArtifactId(), that.getArtifactId()) &&
+ Objects.equals(getArtifactVersion(), that.getArtifactVersion()) &&
+ Objects.equals(getLibrary(), that.getLibrary()) &&
+ Objects.equals(getInstantiationTypes(), that.getInstantiationTypes()) &&
+ Objects.equals(getTypeMappings(), that.getTypeMappings()) &&
+ Objects.equals(getAdditionalProperties(), that.getAdditionalProperties()) &&
+ Objects.equals(getImportMappings(), that.getImportMappings()) &&
+ Objects.equals(getLanguageSpecificPrimitives(), that.getLanguageSpecificPrimitives()) &&
+ Objects.equals(getReservedWordMappings(), that.getReservedWordMappings()) &&
+ Objects.equals(getGitUserId(), that.getGitUserId()) &&
+ Objects.equals(getGitRepoId(), that.getGitRepoId()) &&
+ Objects.equals(getReleaseNote(), that.getReleaseNote()) &&
+ Objects.equals(getHttpUserAgent(), that.getHttpUserAgent());
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ getGeneratorName(),
+ getApiPackage(),
+ getModelPackage(),
+ getInvokerPackage(),
+ getPackageName(),
+ getModelNamePrefix(),
+ getModelNameSuffix(),
+ getGroupId(),
+ getArtifactId(),
+ getArtifactVersion(),
+ getLibrary(),
+ getInstantiationTypes(),
+ getTypeMappings(),
+ getAdditionalProperties(),
+ getImportMappings(),
+ getLanguageSpecificPrimitives(),
+ getReservedWordMappings(),
+ getGitUserId(),
+ getGitRepoId(),
+ getReleaseNote(),
+ getHttpUserAgent()
+ );
+ }
+}
diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java
new file mode 100644
index 00000000000..2f506ac15ff
--- /dev/null
+++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java
@@ -0,0 +1,534 @@
+/*
+ * Copyright 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.openapitools.codegen.config;
+
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Represents those settings applied to a generation workflow.
+ */
+@SuppressWarnings("WeakerAccess")
+public class WorkflowSettings {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowSettings.class);
+
+ private String inputSpec;
+ private String outputDir;
+ private boolean verbose;
+ private boolean skipOverwrite;
+ private boolean removeOperationIdPrefix;
+ private boolean logToStderr;
+ private boolean validateSpec;
+ private boolean enablePostProcessFile;
+ private boolean enableMinimalUpdate;
+ private boolean strictSpecBehavior;
+ private String templateDir;
+ private String templatingEngineName;
+ private String ignoreFileOverride;
+ private ImmutableMap systemProperties;
+
+ private WorkflowSettings(Builder builder) {
+ setDefaults();
+ inputSpec = builder.inputSpec;
+ outputDir = builder.outputDir;
+ verbose = builder.verbose;
+ skipOverwrite = builder.skipOverwrite;
+ removeOperationIdPrefix = builder.removeOperationIdPrefix;
+ logToStderr = builder.logToStderr;
+ validateSpec = builder.validateSpec;
+ enablePostProcessFile = builder.enablePostProcessFile;
+ enableMinimalUpdate = builder.enableMinimalUpdate;
+ strictSpecBehavior = builder.strictSpecBehavior;
+ templateDir = builder.templateDir;
+ templatingEngineName = builder.templatingEngineName;
+ ignoreFileOverride = builder.ignoreFileOverride;
+ systemProperties = ImmutableMap.copyOf(builder.systemProperties);
+ }
+
+ /**
+ * Instantiates a new workflow settings.
+ */
+ @SuppressWarnings("unused")
+ public WorkflowSettings() {
+ setDefaults();
+ systemProperties = ImmutableMap.of();
+ }
+
+ private void setDefaults(){
+ validateSpec = true;
+ strictSpecBehavior = true;
+ outputDir = ".";
+ }
+
+ public static Builder newBuilder() {
+ return new Builder();
+ }
+
+ public static Builder newBuilder(WorkflowSettings copy) {
+ Builder builder = new Builder();
+ builder.inputSpec = copy.getInputSpec();
+ builder.outputDir = copy.getOutputDir();
+ builder.verbose = copy.isVerbose();
+ builder.skipOverwrite = copy.isSkipOverwrite();
+ builder.removeOperationIdPrefix = copy.isRemoveOperationIdPrefix();
+ builder.logToStderr = copy.isLogToStderr();
+ builder.validateSpec = copy.isValidateSpec();
+ builder.enablePostProcessFile = copy.isEnablePostProcessFile();
+ builder.enableMinimalUpdate = copy.isEnableMinimalUpdate();
+ builder.strictSpecBehavior = copy.isStrictSpecBehavior();
+ builder.templatingEngineName = copy.getTemplatingEngineName();
+ builder.ignoreFileOverride = copy.getIgnoreFileOverride();
+ builder.systemProperties = ImmutableMap.copyOf(copy.getSystemProperties());
+
+ // force builder "with" methods to invoke side effects
+ builder.withTemplateDir(copy.getTemplateDir());
+
+ return builder;
+ }
+
+ /**
+ * Gets input spec's location, as URL or file
+ *
+ * @return the input spec
+ */
+ public String getInputSpec() {
+ return inputSpec;
+ }
+
+ /**
+ * Gets the output dir (where we write generated files). Defaults to the current directory.
+ *
+ * @return the output dir
+ */
+ public String getOutputDir() {
+ return outputDir;
+ }
+
+ /**
+ * Configures verbosity of generation. When true, more messages will be printed during generation.
+ *
+ * @return true if verbose mode, false otherwise.
+ */
+ public boolean isVerbose() {
+ return verbose;
+ }
+
+ /**
+ * Indicates whether or not the existing files should be overwritten during the generation. This option is more rudimentary than
+ * defining patterns in .openapi-generator-ignore or {@link WorkflowSettings#isEnableMinimalUpdate()}.
+ *
+ * @return true if defaulting to overwriting files, false otherwise.
+ * @see Ignore File Format
+ */
+ public boolean isSkipOverwrite() {
+ return skipOverwrite;
+ }
+
+ /**
+ * Indicates whether or not to remove the prefix of operationId, e.g. config_getId to getId.
+ *
+ * @return true if the operation id prefix should be removed during generation, false otherwise.
+ */
+ public boolean isRemoveOperationIdPrefix() {
+ return removeOperationIdPrefix;
+ }
+
+ /**
+ * Indicates whether or not the generator's executor will write all log messages (not just errors) to STDOUT. Useful for
+ * piping the JSON output of debug options (e.g. -DdebugOperations) to an external parser directly while testing a generator.
+ *
+ * @return true if the executor should attempt to write all messages to stderr,
+ * false otherwise (which defaults to logging configuration, not necessarily stdout).
+ */
+ public boolean isLogToStderr() {
+ return logToStderr;
+ }
+
+ /**
+ * Indicates whether or not generation should also validate an input specification.
+ *
+ * NOTE: Invalid specs may result in a generation error, disabling may cause unexpected results.
+ *
+ * @return true if spec document validation is enabled, otherwise false. Default: true.
+ */
+ public boolean isValidateSpec() {
+ return validateSpec;
+ }
+
+ /**
+ * Indicates whether or not file post-processing is enabled for generators which support it. Refer to individual generator documentation for details.
+ *
+ * In general, once enabled, a generator will evaluate a command stored in LANG_POST_PROCESS_FILE.
+ *