* [CLI] Initial implementation for batch generation
Allows for generating multiple outputs via config. Just specify multiple
config files on command line.
Intent for this is to reduce CI times to generate outputs as well as to
reduce time for users to run ensure-up-to-date to meet PR standards.
Example command:
openapi-generator batch --includes-base-dir `pwd` --fail-fast -- bin/ci/*
---
As part of this implementation, the batch command support a customized
JSON key, `!include`. If this key's value refers to an existing file,
that file's contents are "unwrapped" into the config during
deserialization. This allows us to easily point to the same configs used
by our sample scripts without modifying the CLI generate task's switches
or assumptions.
* Allow for path-relative outputs
* Add batch JSON objects
* Include INFO log about threads used and includes/root
* Ensure GlobalSettings.reset()
* Improved thread-safety of ModelUtils
* [AVRO] Fix the package handling for the avro generator (#3987)
Also fix an issue with the outputFolder that wasn't overridable through opts
* Update sample files through avro-petstore.sh
There's an issue with inlined object but it's already present with the previous commit
* Revert the fix on outputFolder (not a bug)
* typescript-fetch: correct handling body as URLSearchParams
* typescript-fetch: run typescript-fetch-petstore-all.sh
* typescript-fetch: add URLSearchParams to globals
* feat: add companion object to data classes if the implement the interface java.io.Serializable
* style: format template file
* style: adapt to project's original code style
* fix: add missing imports
* style: reverted mustache template to original styling
* test: generate additional samples for kotlin-springboot-reactive and kotlin-springboot
* docs: name full qualified classname of interface java.io.Serializable to prevent confusion with kotlinx.serialization
* Add support for the `discriminator` feature of OpenAPI 3, and implement it with `enum` in Rust
* Add all missing explicit `dyn` to trait types to remove warnings
* Add missing re-export for properties that are enum (was missing from #2244).
* [typescript][node]: Add options to specify a from data file
Be able to specify file options as described on
https://github.com/request/request in the 'multipart/form-data
(Multipart Form Uploads)' section).
Related to #3944
Fix file return type
* [typescript][node]: Fix use of applyLocalTypeMapping
Previous call to applyLocalTypeMapping didn't had any effect.
* [typescript][node]: Update samples
* [PHP] Correctly format JSON in headers
`ObjectSerializer::toHeaderValue()` in the generated PHP code calls
`toString()` on the values, which formats JSON with the `JSON_PRETTY_PRINT`
option. This will result in a multi-line header which cannot be parsed
since linebreaks aren't allowed by RFC 7230.
In my case I have a header schema called `UpdateUser` which I had hoped
would be serialized as `{"type":"staff","id":123}`.
Every single `__toString()` in the generator does the same thing, so I
figured it's safe to change `toHeaderValue()` to convert to JSON directly,
without `JSON_PRETTY_PRINT`. This fix works for me.
* More sensible approach to providing a header value
* Just strip the newlines
* Go back to previous solution
This allows specifying a different formatString for parsing than for rendering, which is useful because padding widths are not supported in `parseTimeMSource`
* [typescript][node]: Add accept header if produces is not empty
Uses the correct Accept media types as specified in the OpenApi
specifications.
Related to #3944
* Update samples files
* [typescript][node]: Give presedence to 'application/json'
The endpoint may support multiple formats, e.g. 'application/xml',
'application/json'. However, we don't really support xml. In this case
only accept 'application/json'.
* Clean up samples directory before fixing tests
- removed from samples/client/petstore/dart2 :
- purge_test.sh (doesn't seem to be used and not helpful)
- openapi folder (is to be re-generated with more meaningful name)
- updated dart2-petstore.sh to generate client library with new name
- used updated shell script to re-generate client library
- updated CI/.drone.yml to use the new client library for tests
* Update petstore tests to use faked http client
- skipped all of the tests that hit a live endpoint
- made a fake http client that can be set to check for expected values
and/or return a provided response
- added some files with test data recorded from live api calls
- updated the README to reflect changes to tests
* Update .drone.yml so CI will run the tests