* Errors in Generate/Validate print to stderr/exit 1
Generate and Validate exposed exceptions rather than user-friendly
messages when an error occurred. In generate, this could happen for
numerous reasons, but the most likely is a user typing (or guessing) an
invalid generator name. In Validate, an error was exposed if there were
any validation errors in a spec.
New behavior:
* Generate now exposes a typed exception when a generator cannot be
loaded by name. This allows consistent messaging for load failures.
* Generate now presents guidance on failure (check the spelling and try
again). This is purely a usability improvement.
* Validate now writes validation errors to stderr and exits with code 1.
* Improve err messages: config-help/required opts.
config-help now presents same error for invalid generator names as the
'generate' command.
Options which are required, and those which require a value, now present
a user-friendly hint at the error and exit with code 1 (rather than an
uncaught exception).
* Log missing -g error to stderr rather than LOGGER
* Make SwaggerCodeGen serialize subclasses properly (PHNX-859) (#1)
Motivation
----
Previously, when serializing as subclass of a property, generated swagger clients would only serialize properties of the parent class causing some values to not be pass through
Modifications
----
Before serializing attributes of a given type, we check to see if there is a specific type to be serialized so that we don't miss any properties.
* Fix improper whitespace in mustache template (PHNX-859) (#2)
Motivation
----
OpenAPI Generator upstream requested whitespace fixes (from tabs to 4 spaces)
Modifications
----
Fixed whitespace
* New: methods return the element containing the $ref if the referenced
element is not found
* Fix null check in getApiResponse(OpenAPI, String)
* Fix null check in getParameter(OpenAPI, String)
* Create 'bin/ensure-up-to-date' script
* Update shippable config
* Do no longer copy 'CI/pom.xml.shippable' to 'pom.xml'
* Fix paths in CI/pom.xml.shippable
* shippable: remove write to file
* shippable: move order
* Run 'bin/ruby-petstore.sh' to update 'samples/'
* Add Kotlin scripts to the list
The $@ option in bash doesn't make sense to come before `generate`
because the only option we can pass before generate cli usage is `help`.
System properties can be passed via JAVA_OPTS, so there's not really a
need for any intermediaries in the command line construction.
Having $@ at the end of the arguments list allows maintainers and users
inspecting options to quickly pass new options to a script. For example,
```
./bin/aspnetcore-petstore.sh --additional-properties sourceFolder=asdf
```
For command line arguments that may appear more than once in the
arguments list, this change doesn't provide any rules about overwriting
values that may exist (hard-coded) in the script. That is, in the
example above, if aspnetcore-petstore.sh already includes the
sourceFolder set to a different value, the "winning" value is up to the
options parser and openapi-generator-cli implementation.