* Enable per-request access token in Python client.
* Add missing regenerated sample files.
* Rework to the more general case of overriding the auth settings for a request.
* Add unit tests.
* Update api_client.mustache so that request_auth overrides all other auth settings when specified.
* Mustache template should use invokerPackage tag to generate import
* Enable unit tests for ECDSA keys
* fix unit test
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
* [java][jersey2] Add support for discriminator, fix nullable typo and nullable deserialization (#6495)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* update samples
* add tests to oas3 java jersey2 petstore
* Fix 'method too big' error with generated code
* resolve merge conflicts
* comment out jersey2 ensure uptodate
* fix compiler warnings
* Jersey2 supports additional properties with composed schema (#6523)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
* Set supportsAdditionalPropertiesWithComposedSchema to true for Java jersey2
* Support additional properties as nested field
* Support additional properties as nested field
* add code comments
* add customer deserializer
* Fix 'method too big' error with generated code
* resolve merge conflicts
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* [Jersey2] Fix code generation of 'registerDiscriminator' method for large models (#6535)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
* Fix 'method too big' error with generated code
* resolve merge conflicts
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* Add unit test for date time
* Add unit test for date time
* update samples
* comment out tests
* support additional properties in serialize and deserialize
* add discriminator lookup
* remove oneof/anyof logic in apilcient
* add serializer to mammal.java
* add serialize to oneOf model
* add serializer to anyof model
* comment out test cases that are subject to further discussion
* add back files
* update configs, samples
* resolve merge conflicts
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [java][jersey2] Add support for discriminator, fix nullable typo and nullable deserialization (#6495)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* update samples
* add tests to oas3 java jersey2 petstore
* comment out jersey2 ensure uptodate
* Jersey2 supports additional properties with composed schema (#6523)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
* Set supportsAdditionalPropertiesWithComposedSchema to true for Java jersey2
* Support additional properties as nested field
* Support additional properties as nested field
* add code comments
* add customer deserializer
* Fix 'method too big' error with generated code
* resolve merge conflicts
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* [Jersey2] Fix code generation of 'registerDiscriminator' method for large models (#6535)
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* support for discriminator in jersey2
* fix typo in pom.xml
* disable unit test because jersey2 deserialization is broken
* disable unit test because jersey2 deserialization is broken
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* Add code comments
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* resolve merge conflicts
* Add unit tests
* fix unit tests
* continue implementation of discriminator lookup
* throw deserialization exception when value is null and schema does not allow null value
* continue implementation of compose schema
* continue implementation of compose schema
* continue implementation of compose schema
* Add more unit tests
* Add unit tests for anyOf
* Add unit tests
* Fix 'method too big' error with generated code
* resolve merge conflicts
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* update samples
* comment out tests
* support additional properties in serialize and deserialize
* add discriminator lookup
* remove oneof/anyof logic in apilcient
* add serializer to mammal.java
* add serialize to oneOf model
* add serializer to anyof model
* comment out test cases that are subject to further discussion
* add back files
* update configs, samples
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
* Ensure CLI-level generator settings are available in additional properties
* Initial conversion to yaml configs
Configs prefix with 1- need to be manually evaluated.
* Add "other" configs not in ensure-up-to-date
* Add other/openapi3 files
* Cleanup all generation scripts
* Clean up: add missed configs and fix some openapi 3 diffs
* Move generate-samples script, error on batch failures
* Temporarily disable elm which requires skip validation of spec
* CI updates (todo: run all generators through appveyor or move to github workflows)
* Add success count to batch generation command output
* [samples] Regenerate
* Remove bin/windows
* Generate swift5 samples in bitrise
* Expand user input glob pattern
* Regenerate samples
* Update PR template
* Support config based generateAliasAsModel
* [samples] Regenerate
* [rust] Generate as alias for all samples configs
* [csharp] Move test staged file changes to in-directory
* Include "live" test files and ignore test cache files from samples.ci
* Remove concept of samples.ci staging
Generators support .openapi-generator-ignore, allowing maintainers to
explicitly ignore the regeneration of files which have been modified.
Note that the tooling does not overwrite test files whenever those files
exist, and it's not entirely necessary to add test files to the ignore
file.
* Re-add meta generator scripts
* Modify ensure-up-to-date to log stdout, so script does not look like it hangs on slower machines
* [csharp] Regenerate sample
* Set generateAliasAsModel CodegenConfigurator#toContext
This ensures the property (which is effectively a thread-local) gets set
as expected if the caller resets GlobalSettings as is done in the
GenerateBatch command.
* [rust] Regenerate samples
* Re-enable elm
* [java] Support OffsetDateTime example, fail ensures script on any generation error
* [samples] Regenerate
* Fix jersey2-java8 ignore file
* Fix elm spec validation
* Force UTC in sample generation to avoid timezone conflicts during generation (user vs ci)
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [C++][Pistache] Catch HttpError when user-provided handler has thrown
This allows for returning valid http code through exception
* [C++][Pistache] Update Petstore sample
* [python] Support named arrays
* Fix named array type
* Use ModelSimple
* Reset samples
* Regenerated
* Animal farm test
* Array of enums
* Clean-up
* Clean-up
* Clean-up
* Fix array type generation
* simplify
* array model is not alias
* Array model has one value field
* ensure up-to-date
* ./bin/utils/ensure-up-to-date --batch
* Solve issue with missing import for array model
* regenerate
* Fixed compilation on linux and UE4.23
* Added string and enum type definition support
* Better handling or variable names, should avoid conflicts with reserved keywords or empty variable names in edge cases
* Updated samples
The current `npx ` command says to use:
```
npx openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/
```
This however, pulls a similarly-named but different project: [zhang740/openapi-generator](https://www.npmjs.com/package/openapi-generator).
This commit fixes this, by using the appropriate package `@openapitools/openapi-generator-cli`
* Prints out the parameter name in throwIfNullOrUndefined
* Fixed misspelling
Co-authored-by: Justin Van Dort <justinvandort@gmail.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
* Added the possibility for a codegen to set the location of the generated model files, similarly to API files.
* Removed std::shared_ptr from the generated types. Types in UE4Codegen are handled as POD structs, not shared pointers.
* Fixed handling of body parameters as per the specification, the single body object is written directly as the payload.
* Fixed handling of files and binaries, if a field is both isFile and isBinary, file will take precedence.
* Updated cpp-ue4 client samples
* Fixed handling of enums in models
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Mustache template should use invokerPackage tag to generate import
* fix typo, fix script issue, add log statement for troubleshooting
* Add java jersey2 samples with OpenAPI doc that has HTTP signature security scheme
* Add sample for Java jersey2 and HTTP signature scheme
* Add unit test for oneOf schema deserialization
* Add unit test for oneOf schema deserialization
* Add log statements
* Add profile for jersey2
* Temporarily disable unit test
* Temporarily disable unit test
* fix typo in pom.xml
* fix duplicate jersey2 samples
* fix duplicate jersey2 samples
* fix duplicate artifact id
* fix duplicate jersey2 samples
* run samples scripts
* [breaking] Enforce vendor extension naming convention
* [breaking] Rename system properties to global properties
* [docs] Update site with global properties list and usage explanation
* Use proper vendor extension casing in all templates
* Set remaining vendor extensions to convention of lower kebab-cased with x- prefix
* [samples] Regenerate
* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java
Before we were adding hasPathParams twice, once with !op.pathParams.isEmpty(), and then again with hasPathParams. This was probably caused by a mistaken merge.
This is causing the difference in samples
Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>
* [Samples] Regenerated!
* Fix -D conversion to additional-properties, missed in bat files
* JERSEY2 option changed
* [samples] Regenerate
* [scala][finch] Fix remaining vendor extensions format to conventino
* [scala] The -D option was replaced with --global-property
* [samples] Regenerate
* Fix -DskipFormModel usage which has been moved to --global-property skipFormModel=true
* [samples] Regenerate
Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>
* [core] Refactor templating management
This refactors template management to get logic out of DefaultGenerator
and to provide a cleaner API to template search and read/compile.
Deprecates MockDefaultGenerator, which is not a mock and causes
in-memory retention of file contents. Maintainers should prefer
executing a "dryRun" with new DefaultGenerator(true) or do true
mock/spies if evaluating template intermediaries is truly necessary.
Tests may read written files with lower overhead than the in-process
retention of those bytes.
This attempts to maintain some compatibility with existing templating
adapter interfaces. Any breaking change here would be unintentional but
minimal effort to retarget the new interface.
* Tests for dry run file outputs
* Update API usage in Meta, test TemplateManager
* Wait on lastModified, lookup by filename in SpringCodegenTest
* Test DefaultGenerator + ignore file
* Move config.processOpenAPI in DefaultGenerator
* Fix wrong use of libraries templateDirector (java)
The samples scripts for Java incorrectly referenced the libraries
directories directly rather than the upper-level Java directory. This
was incorrect usage of template directories, because the generator
expects to be given the "language" directory and perform a lookup for
missing templates in the order:
* user defined libraries directory
* user defined language root
* embedded libraries directory
* embedded language root
* _common directory
This is incorrect in our samples scripts because a user or maintainer
has the expectation that any template change to files at the Java/ root
should also be honored on generation if the script specifies a custom
template directory.
* Fix handlebars extension usage, clean up Meta tasks
HandlebarseEngineAdapter previously didn't handle files without
extensions in the same was as the MustacheEngineAdapter. This now allows
for files without extension (or dotfiles) to lookup in the same
location.
Meta tasks are cleaned up to use template manager only, rather than
attempting to create an "empty" generator to use the previous templating
specific methods.
* Update kotlin-multiplatform gradle wrapper
* Rename GraphQL .gitignore template
The .gitignore file is unable to load via classpath resource from the
graphql node server resource directory (for unknown reasons). Before
this change, the missing template would fail silently.
A .gitignore file may exist in other directories and load as expected.
Added a default .gitignore to _common as a fallback so as not to break
any custom generators which may also be failing silently.
* Log entire stacktrace in go sdk built by gradle in AppVeyor
* Rename PHP .gitignore to gitignore
Java resources may not load .gitignore, this follows suit with other
generators and uses "gitignore" (some use "gitignore.mustache").
* [php] Rename .gitignore templates to gitignore
* Use same classpath lookup in common locator
* [rust] Properly escape empty triple-braces
* [samples] Regenerate
* Set PHP 7.1.3 required version
I've tried to specify ^7.0 version at first, but main package which is
symfony/framework-bundle@v4.4.8 requires PHP ^7.1.3.
* Bump Symfony FrameworkBundle to ^4.4.8
Current Symfony Framework stable version is v5.0.8, but I guess it
requires significant codebase upgrade, so I've sticked with 4.4.8 which
shouldn't cause any breaking changes. Old requirement was ^3.3|^4.1
which compatible with 4.4.8.
* Bump PHPUnit version to ^7.0
PHPUnit 8.x version required PHP ^7.2, so I'm setting 7.x version to
support PHP 7.1.
There is new way to specify Kernel class, related PR:
https://github.com/symfony/symfony/pull/22668
* Bump PHP CS Fixer version to ^2.16.3
Configuration and all renamed rules fixed.
Config file renamed to .php_cs.dist as recommended in migration guide.
Migration guide from 1.x to 2.x:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/UPGRADE.md#config-file
* Remove PHP_CodeSniffer package
Second linter doesn't make sense. I think Symfony user would prefer
PHP CS Fixer over PHP_CodeSniffer because first one maintained by Symfony
members.
* Remove satooshi/php-coveralls package from Composer
This package is abandoned and Coveralls recommends to install it directly
in Travis-CI task script.
* Update Travic-CI config
I've changed test versions to PHP 7.1.3 and 7.2. PHPUnit generates
coverage report in report/logs/clover.xml file. Then PHP CS Fixer runs
with --dry-run option to not override anything just to show coding style
errors.
* Add basic Coveralls config
This is basic recommended config for a PHP based project.
* Add symfony/yaml package
This package was part of satooshi/php-coveralls, now it should be
defined as dev dependency.
* Do not commit composer.lock
I think committed composer.lock can cause CI errors while tests on fresh
installs are better.
* Remove confusing Ruby comment
* Include map for `AnyType` in `typescript`
* Exclude `any` from the list of types extracted from `anyOf`, `allOf`, `oneOf`
Exclude if there are other meaningful types
* Include new scripts and `yaml` to test the new case
* Execute the new sample for `typescript-axios`
* Filter out only `AnyType` instead of all `any` types
* Renamed and modified samples
- Included more examples using `oneOf, `allOf`, `anyOf`
- Includede examples when types that are translated to `any` are involved (`file`)
* Changes in mustache file
Set default value to empty object when the `requestParameter` doesn't have any required param
* New schema with operations without required params
* Generate the sample
* Mustache template should use invokerPackage tag to generate import
* Add a unit test for allOf and additionalProperties
* Fix getAdditionalProperties
* Add code comments
* Add code comments
* set nullable for additionalproperties
* add variants of additionalProperties
* Add more unit tests
* Handle additionalProperties for composed schemas
* improve code comments
* Add code comments
* Add code comments
* Add code comments
* Add code comments
* Add code comments
* Add assertions in unit tests
* Add new property to support the 'additionalProperties' keyword with composed schemas
* run sample scripts
* fix unit tests to handle additionalProperties
* Handle additional properties and composed schema
* Handle additional properties and composed schema
* Add support for additionalProperties and composed schema
* Format java code
* Add more unit tests for Python
* Handle reference in additionalProperty keyword
* Handle reference in additionalProperty keyword
* Add use case for additionalProperties and reference
* run sample scripts
* resolve schema reference
* Add OpenAPI argument
* Add OpenAPI argument
* Add OpenAPI argument
* Add OpenAPI argument
* Add OpenAPI argument
* Handle additional property keyword with reference
* Handle additional property keyword with reference
* Handle additional property keyword with reference
* Handle additional property keyword with reference
* add additionalproperties attribute with boolean values
* Run sample scripts
* handle additional properties
* Handle additionalProperties boolean values
* Run sample scripts
* fix javadoc issues
* fix javadoc issues
* Add Locale to String.toLowerCase
* execute sample scripts
* handle additional properties
* Add code comments
* Handle imports of referenced models in additional properties
* Handle isNullable class
* handle nullable type
* improve documentation, run sample scripts
* improve documentation, run sample scripts
* execute sample scripts
* execute sample scripts
* Execute sample scripts
* Run samples scripts
* set legacyAdditionalPropertiesBehavior to true by default, except python
* create separate yaml file to avoid having lots of changes in the pr
* create separate yaml file to avoid having lots of changes in the pr
* create separate yaml file to avoid having lots of changes in the pr
* create separate yaml file to avoid having lots of changes in the pr
* create separate yaml file to avoid having lots of changes in the pr
* create separate yaml file to avoid having lots of changes in the pr
* Change name of CLI option
* Generate doc
* Add TODO statement
* add code comments
* run samples scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* refactor cli option for additional properties
* refactor cli option for additional properties
* run samples scripts
* run sample scripts
* run sample scripts
* run sample scripts
* run sample scripts
* Add yaml comments
* small refactor
* small refactor
* run sample scripts
* run sample scripts
* fix unit tests
* Set disallowAdditionalPropertiesIfNotPresent flag
* reduced size of test yaml file
* simplify code and add imports directly
* rename some of the properties used in tests
* Handle more scenarios for nullable types
* add code comments
* Adds *args input to __init__ method to fix test testFruitNullValue
* Resolve merge issues
* run samples scripts
* run doc generator
* fix merge conflicts
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Mustache template should use invokerPackage tag to generate import
* fix runtime exception when HttpSignatureAuth is not set
* fix runtime exception when HttpSignatureAuth is not set
* [cli] new 'author template' command
This new command allows users to extract templates for authoring
(customization) without the complexity of finding and downloading a
specific directory for their versioned artifact.
Example usage:
```
openapi-generator author template -g java --library webclient
```
This will write all templates with library-specific templates to the
'./out' directory relative to the current directory.
CLI will refer the user to
https://openapi-generator.tech/docs/templating after generation
* [docs] Usage of author template command
* Log warning if author template fails to output requested library
* Updates comments in new method
* Adds missing line in model_utils.py
* Removes biology examples, adds ParentPet ancestor example + test, adds Pig schemas
* Updates comment and var names in get_discriminator_class, adds testMammal test
* Updates comment
* minor improvement to jersey2 test, remove script/bat
* remove tests for java7 jersey2
* remove log from abstrct java class
* undo change to jaxrs path
* migrate all scala generators to use oas3
* add back pom.xml for scala-sttp
* skip form model in scalaz
* fix scala lagom tests
* add new files
* skip form models in scala finch petstore
* update samples
* Include map for `AnyType` in `typescript`
* Exclude `any` from the list of types extracted from `anyOf`, `allOf`, `oneOf`
Exclude if there are other meaningful types
* Include new scripts and `yaml` to test the new case
* Execute the new sample for `typescript-axios`
* Filter out only `AnyType` instead of all `any` types
* Renamed and modified samples
- Included more examples using `oneOf, `allOf`, `anyOf`
- Includede examples when types that are translated to `any` are involved (`file`)
* Mustache template should use invokerPackage tag to generate import
* Fix runtime exception when composed schema has 'null' type
* Fix runtime exception when composed schema has 'null' type
* Fix path provider bug on CI
Previous path sorting logic failed on CI due to one or more files in the
cpp-qt5 script being associated with different path providers. This
caused a ClassCastException from Path#compareTo
This change uses Apache Commons PathFileComparator to sort by full path.
File list is copied to avoid sort side effects. Log on all exceptions.
* generate valid code if no Authentication implementations present
resurrects https://github.com/OpenAPITools/openapi-generator/pull/2861
* remove what I assume are human generated test cases
* need to iterate over authMethods in order to pull out name
* fix another test
* update more tests
* rename hasTokenAuthMethods to hasApiKeyAuthMethods
* remove duplicate methods, fix hasHttpBearerMethods check
* update templates
* update windows java-petstore files
* update windows java-petstore files
* re-generate
* re-generate
* restore samples.ci tests
* restore samples.ci tests
* Mustache template should use invokerPackage tag to generate import
* Add unit test showing how to construct objects from a JSON dict
* rename from_server to json_variable_naming
* rename from_server to json_variable_naming
* fix code so it can execute in python 2.x
* rename variable
* fix typo
* fix typo
* fix deprecation warning
* fix deprecation warning
* fix deprecation warning
* Mustache template should use invokerPackage tag to generate import
* A float may be serialized as an integer, e.g. '3' is a valid serialized float
* A float may be serialized as an integer, e.g. '3' is a valid serialized float
* add unit tests
* [REQ][JAVA]: Add option to generate arrays with "uniqueItems" true as Sets rather than Lists
- Update Java code generation to use sets instead of lists when uniqueItems is set to true
- Add import resolution for sets
- Add tests and fix broke tests
resolve#5254
* Update Javascript, Perl, Python and Ruby to preserve current functionality.
* Switch set implementation to LinkedHashSet
* Fix missing import for uniqueItems used on param.
* Fix missing import and return type for responses with uniqueItems
* Fix default values for array of enum
* Update generated samples
* fix merge issue
* Update generated samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Mustache template should use invokerPackage tag to generate import
* upgrade to http signature library version 1.4
* Use updated HTTP signature library
* Run sample scripts
* Add code samples in README file for HTTP signature
* fix java imports
* Update http-signature version
Change helper method '''writeResponseHeaders''' implementation to just set the headers, instead of write them, and also rename the method to '''setSocketResponseHeaders''', to maintain the new semantic.
The implementation of '''QHttpEngine::Socket::write''' or '''QHttpEngine::Socket::writeJson''' implementations will call '''Socket::writeData''' that writes the Headers and Status Code before write the content if they are not already written.
If these methods are not called (e.g.: empty reply), we could set the headers just before close the socket.
* [typescript-rxjs] restore prototype inhertance
- previously clone() and its clients in the BaseAPI class were generic
- with removal of the generic argument, these methods became unavailable
to the API classes inheriting from BaseAPI
- original generic was imprecise, as these are not statics
- return type of `this` is the correct notation
* [typescript-rxjs] Chery-pick from #5465 by @denyo
- this is done to prevent the changes slated for 5.0 from conflicting
- apply destructuring changes from
- denyo:feature/rxjs-statuscode-and-progress@673d67c
* [C++] [Qt5] [Server] [Bug] fixed Incomplete Read JSON
Emit signal requestReceived only after request content is entirely received.
* [C++] [Qt5] [Server] [Bug] fixed Incomplete Read JSON
Emit signal requestReceived only after request content is entirely received.
* [PHP] ObjectSerializer fix for array of objects
Array of objects translate to "map[string,object][]" and they fail to deserialize. This is because the deserialization does not parse the mapping string correctly. A quick fix is trying moving array deserialization before object deserialization.
Example object
ObjectExample:
type: object
properties:
data:
type: array
items:
type: object
additionalProperties: true
* Update sample
Co-authored-by: Alexandru Negrila <alex@arntech.ro>
* Added support Retrofit2(RxJava/RxJava2/Coroutines) to Kotlin client code generator
* Added generated samples for Retrofit2(RxJava/RxJava2/Coroutines) on Kotlin
* Fixed generating retrofit2 without Rx/Coroutines
* Fixed MultipartBody template, remove redundant space after MultipartBody.Part annotation
* Fix documentation diff.
* Fix generating build.gradle file for samples.
Add dependencies for rxJava/rxJava2 and rx retrofit's adapter.
* Update generated sample with rx dependencies
* Update generated sample with coroutines
* Update generated sample with RxJava 2 dependencies
* Update and refactoring scripts for sample generation
* Update generated sample code
* revert changes by mistake
* revert changes by mistake #2
* Fix return type for first RxJava
* Add RxJavaCallAdapterFactory to ApiClient scheme for RxJava 1/2
* Fix script loggin
* Update generated code for RxJava 1/2
* Fix kotlin.md documentation by script export_docs_generators.sh
* Update Kotlin samples project in pom.xml
* Revert "Update Kotlin samples project in pom.xml"
This reverts commit 9de4d0ba
* Fixed "" wrapping number types for annotation value
Fixed generating polymorphic interfaces for Gson, interface fields can't be marked with @SerializedName annotation, it's enough to mark it in child model.
Fixed instantiationTypes(array, list, map) for Kotlin generator
* Update Kotlin samples project after last fixes
* Update Kotlin samples project for kotlin-jvm-*
* Update Kotlin readme.md documentations
* Update Kotlin client sample changes
* Fixed encoding braces for generics model
* Update Kotlin client sample changes
* Update Kotlin client sample after merge with master
* Fixed adding empty braces for inherit from Map/Array
* Update sample model after last fix with empty braces
* Revert adding @SerializedName to Kotlin interface fields through @get:SerializedName as for Jackson
* Update Kotlin client samples with adding @get:SerializedName
* Handle null type
* Handle null type
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* improve documentation
* Handle 'null' type
* Handle 'null' type. Add unit tests
* Add NullType for go
* Add NullType for go
* fix modeling of AnyType for go-experimental
* execute scripts in bin directory
* Add review comments
* Add 'null' type in oneOf
* Improve OAS YAML file for golang openapi3 samples
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* Handle AnyType and NullType
* handle anytype for go-experimental
* Log warning instead of error
* anyOf/oneOf
* Change x-golang-is-container extension to x-golang-has-wrapper
* Add code comments
* Handle Object and any type
* Handle Object and any type
* Handle object and any type
* add code comments
* handle additional properties
* handle additional properties
* handle additional properties
* handle anytype and objecttype for go-exerimental
* Move golang changes to a separate branch
* Move golang changes to a separate branch
* Better names for the OAS document test properties
* Move golang changes to a separate branch
* Run samples scripts
* Run samples scripts
* fix unit test issues
* Handle none type
* Fix index out of range exception
* fix formatting issues
* fix formatting issues
* fix formatting issues. Finally figured out how to check formatting in local workspace
* fix formatting issues
* Add reference to oneOf schema
* Add model showing unit test failure with ref to oneOf schema
* Updates get_discriminator_class to return visited_composed_classes
* Fixes broken test, adds is_valid_type
* run samples scripts
* move unit test to test_drawing.py file
* Add more unit tests
* invoke git pull from spacether fork
* invoke git pull from spacether fork
* Improve unit tests
* Add is_nullable_type util function
* Add unit test for null value
* Add 'ShapeOrNull' type to handle the oneOf/anyOf scenario when the child schema is the null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Support schema property which has to 'oneOf' schema and child schema is null type
* Mustache template should use invokerPackage tag to generate import
* handle null type in oneOf/anyOf
* handle null type in oneOf/anyOf
* Add more unit test for nullable shape
* resolve merge conflicts
* resolve merge conflicts
* handle null type in oneOf/anyOf
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Changes in mustache file to include new option
- New options `useSingleRequestParameter` to use a single param for the request, instead of one param per request param.
* Chanes in the documentation
Include new parameter `useSingleRequestParameter`.
Default value = `false` to keep compatibility with previous versions.
* Include script to generate samples
Also included script in the script that runs all
* Generate new samples
- Previous samples have a minor change (one line is deleted)
- New sample generated with the new parameter set to true
* Include scripts for windows
* Include new CLI option in codegenerator class
* Change the order for the new parameter in the docs
* [dart-dio] Adds support for generating inline enums
Previously these were generated as strings if declared inline in the spec.
* Adds more detailed comment about inline enums
* add scaffolded new documentation generator files
* add openapi3 plantuml bin scripts
* change plantuml codegen to only generate a schemas.plantuml file
* initial plantuml schema diagram
* add item type to Lists
* add inheritance relationships
* add list one-to-many relationships
* add newline between model definitions and relationships
* add composition data type relationship
* remove allOf models and interface references
* add new entities data to SupportingFileData
* add List dataType support to entity fields
* remove composed types and remove allOf suffix from inline types
* add inheritances to supporting files data object
* add aggregation relationships to supporting file data
* add isList to compisition relationships
* refactor PlantumlDocumentationCodegenTest
* add property name to relationships
* remove old code form PlantumlDocumentationCodegen
* add plantuml generator sample output
* remove use of javafx.util.Pair
* fix casing of complex data type for fields
* add plantuml generator docs
* fix bug caused by assumption that inline _allOf types will always be unique but apparently they can be shared if they have identical properties!
* fix bug with missing relationships caused by shared identical _allOf schemas
Co-authored-by: Patrick.Burls <patrick.burls@bskyb.com>
* migrate mysql samples to oas 3.0
* update apache2 to use oas3 spec
* migrate graphql samples to use oas3 spec
* move avro script under bin
* update protobuf samples to use openapi3 spec
* add new files
* Add reference to oneOf schema
* Add model showing unit test failure with ref to oneOf schema
* Updates get_discriminator_class to return visited_composed_classes
* Fixes broken test, adds is_valid_type
* move unit test to test_drawing.py file
* Add more unit tests
* invoke git pull from spacether fork
* invoke git pull from spacether fork
* Improve unit tests
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Handle null type
* Handle null type
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* Handle null type. Add 'null' type in the OAS document for testing purpose
* improve documentation
* Handle 'null' type
* Handle 'null' type. Add unit tests
* Add NullType for go
* Add NullType for go
* fix modeling of AnyType for go-experimental
* execute scripts in bin directory
* Add review comments
* Add 'null' type in oneOf
* Improve OAS YAML file for golang openapi3 samples
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* 'Any type' includes the null value, so 'isNullable' should be set to TRUE
* Handle AnyType and NullType
* handle anytype for go-experimental
* Log warning instead of error
* anyOf/oneOf
* Change x-golang-is-container extension to x-golang-has-wrapper
* Add code comments
* Handle Object and any type
* Handle Object and any type
* Handle object and any type
* add code comments
* handle additional properties
* handle additional properties
* handle additional properties
* handle anytype and objecttype for go-exerimental
* Move golang changes to a separate branch
* Move golang changes to a separate branch
* Better names for the OAS document test properties
* Move golang changes to a separate branch
* Run samples scripts
* Run samples scripts
* fix unit test issues
* Handle none type
* Fix index out of range exception
* fix formatting issues
* fix formatting issues
* fix formatting issues. Finally figured out how to check formatting in local workspace
* fix formatting issues
* run samples scripts
* fix flake8 folder
* fix flake8 folder in python2
* comment out flake8
* comment out flake8
* comment out flake8
* comment out flake8
* comment out flake8
* Unwrap the `AnyHashable` and use the `base` value in Models.mustache
- Unwraps the `AnyHashable` base in `NSURLResponse.allHeaderFields` instead of the `AnyHashable` itself
* Update samples (just running the script)
* Update samples
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Runs ensure up to date
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Fix NPE when at least one extension is defined but not x-discriminator-value
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Adds updates from Sebastien Rosset
* Removes newlines
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* Add documentation and new getValidDiscriminatorMappings function
* throw exception if discriminator mappingName argument is null
* handle scenario when composed schema has 'null' type
* remove extraneous characters in comments
* Uses df.isString
* Traverse discriminators to resolve discriminator mapping
* Fixes tests be correctly setting df.isString
* Remove unused method
* Updates discriminatorExplicitMappingVerbose description per PR feedback
* Adds description of how mappedModels is populated
* Adds the suggestion exception raising when a MappedModel mappingName is null
* Actually resolves merge conflicts
* Adds addComposedMappedModels and testComposedSchemaOneOfDiscriminatorMap
* Requires that discriminators be required properties
* Strengthens discriminaotr validation, adds better error messages, adds schema oneof samples
* Adds oneOf and anyOf invalidDiscriminator tests
* Updates incorrect addOneOfInterfaceModel invocation
* Runs ensure-up-to-date
* Adds updates from Sebastien Rosset
* Removes newlines
* Uses df.isString
* Fixes tests be correctly setting df.isString
* Updates discriminatorExplicitMappingVerbose description per PR feedback
* Adds description of how mappedModels is populated
* Adds the suggestion exception raising when a MappedModel mappingName is null
* Actually resolves merge conflicts
* Switches two methods to package private because they are needed for testing
* Allow nulls in MappedModel.getMappingName
* Remove exception when mappingName is null value
* Remove exception when mappingName is null value
* resolve merge conflicts
* resolve merge conflicts
* Execute scripts in the bin directory
* Fix CI issues and address PR review comments: better documentation and fix white space issues.
* Fix CI issues and address PR review comments: better documentation and fix white space issues.
* run sample scripts
* resolve merge conflicts
* fix end-of-line issue
* resolve merge conflicts
* resolve merge issues
* Handle case when discriminator is not specified in input data
* minor changes and add code comments
* Refactor get_discriminator code
* Add unit test with missing discriminator property
* improve get_discriminator function
* Run sample scripts
* add unit tests for recursive get_discriminator_class
* fix unit test issues
* fix formatting issues
* fix formatting issues
* fix formatting issues
* fix index out of range exception
* fix formatting issues
* fix formatting issues
* fix formatting issues. Finally figured out how to check formatting in local workspace
Co-authored-by: Justin Black <justin.a.black@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Use AttributeError instead of ApiKeyError because that's what the hasattr builtin function uses
* Use AttributeError instead of ApiKeyError because that's what the hasattr builtin function uses
* fix unit tests
* create ApiAttributeError exception
* fix formatting
* run samples scripts
* Fix locale issue for numeric string conversions
Using a generated C# client from an application with a locale that formats numbers with a comma as a decimal separator will make the client send invalid numeric parameters to the API. Any numeric parameter with decimals will added to the URL with a comma ('0,15' instead of '0.15'), potentially breaking the API integration.
In my specific use case, the API interpreted '0,15' as '15', resulting in pretty funky errors.
This commit ensures that parameters are parsed with the invariation culture, fixing the mentioned error.
* Add missing reference to System.Globalization
* Update ClientUtils.mustache
* Make the array items optional
* Handle any type schema
* Handle any type schema
* remove prefix and fullSuffix
* Remove prefix and suffix
* fix Java code comment
* Add code comments, use recursion for any type
* Address review comments
* Bump PHP version to 7.1 in readme
* Bump PHP version to 7.1 in class templates
* Remove HHVM from Travis CI config
PHPUnit dropped support of hhvm, so build unlikely will pass tests.
https://github.com/sebastianbergmann/phpunit/issues/3320#issuecomment-426325646
* Remove sudo: false from Travis-CI config
Official doc recommendation:
https://docs.travis-ci.com/user/reference/trusty/#container-based-infrastructure
* Change tested versions to 7.1, 7.2 in Travis-CI
* Remove PHP_CodeSniffer from dev dependencies
There is another linter(PHP CS Fixer) which is fully configured while
CodeSniffer isn't configured at all.
* Use caret instead of tilde in dependencies
^2.12 equals (>= 2.12.0 && <3.0.0) while ~2.12 is (>=2.12.0 && <2.13.0)
* Refresh samples
* [C++][Qt5] Add the ability to pass QNetworkAccessManager as a parameter
* connect to QNetworkReply::finished instead of QNetworkAccessManager::finished
* [C++][Qt5] regen samples for cpp-qt5-client
* [C++][Qt5] disconect from reply by timeout
* [C++][Qt5] regen samples for cpp-qt5-client
Co-authored-by: alfredotg <alfredotg@tu.ru>
* [Rust Server] Fix RustServerCodegen type: object example "Disabled because there's no example" issue.
* [Rust Server] Add test case yaml with "Disabled because there's no example" issue.
* [Rust Server] Fix example-client-main param.example character escaping issue with raw string.
* [Rust Server] Add test case yaml new generated code after fix.
* [Rust Server] Fix issue with multiple tags on an operation generating duplicate methods.
* [Rust Server] Add test case yaml with multiple tags on a single operation.
* Change the Model template (#5222)
* Add a link to Xero blog post (#5426)
* Removal of Encoding in the Query-Params in order to prevent double Encoding. (#5255)
This way letting WebClient do its Job in encoding the URL.
* update java webclient sample
* [kotlin][client] Add Jackson as serialization library (#5236)
* [kotlin][client] Add Jackson as serialization library
* [kotlin][client] Add kotlin-client-jackson.sh to kotlin-client-all.sh
* update kotlin client samples
* update doc
Co-authored-by: William Cheng <wing328hk@gmail.com>
* include kotlin jackson in CI tests (#5438)
* [Ruby] Add error output (#5428)
* Add error output to the log so that we can make sure why the error occurred
* Fix forbidden method invocation using default charsets
* Update usage.md (#5443)
* fix NPE for enum (#5445)
* [Java][WebClient] better code format (#5433)
* better code format for java webclient
* prefix local varaible with localVar
* fix issue with online service (#5461)
* Support for additionalProperties in the C generator "Client: C" solves #5395 (#5440)
* Support for additionalProperties in the C generator.
* Support for additionalProperties in the C generator.
* [docs] Enable Algolia search (#5472)
* Fix#5420 add headers from configuration object (#5422)
* Fix#5420 add headers from configuration object
* Add baseOptions undefined checking #5420
* Update the samples and replace array to object #5420
* Update sample
* [typescript] Clean up modelPropertyNaming across generators (#5427)
* [typescript] Clean up modelPropertyNaming across generators
Fixes https://github.com/OpenAPITools/openapi-generator/issues/2976
Generators without runtime models conversion use "original" property naming by default. It's still possible to change it via cli options
Generators with runtime conversion keep using "camelCase"
* Refactoring: use enum instead of string for modelPropertyNaming
* Restore the original camelCase for var names, decouple it from property names
* Swap toParamName and toVarName logic (looks like I've mistaken them)
* Regenerate docs
* Remove a no longer used private method
* Added support for msvc builds in cpp-qt5-client generator (#5468)
* Added support for msvc builds
Moved GCC-specific compile flags to non msvc builds, and added equivalent flags for msvc.
* CMakeLists condition cleanup
* [all] Move feature set setter (#5460)
When I originally implemented the feature set code, I added the
getter/setter on DefaultCodegen and CodegenConfig as well as on
GeneratorMetadata. GeneratorMetadata also includes the library variation
features. When I went to add library-specific features, I realized the
discrepancy.
This removes the public setter from DefaultCodegen/CodegenConfig, and
adds a protected modifyFeatureSet which accepts a lambda and hides the
builder logic away in the method.
This will be a breaking change for anyone who's created a custom
generator in 4.2.3, so the impact is very limited.
* [Swift5] small improvements to Objc compatibility (#5410)
* [swift] make some small improvements
* [swift][client] revert model to use allVars
* PostProcessModelProperty with allVars
* PostProcessModelProperty with vars
* [swift] improve objc interoperability
* [swift] fix swift4 for CI to pass
* [swift] improve objc interoperability
* [swift] improve objc interoperability
* Swift - try to fix build
* [swift] remove pods from git
* [scala] [template] scala sttp client (#5429)
* scala-sttp-client template
* invoker for sttp fixed and tests added
* clean up pet api test from redunant comments
* docs updated
* fix artefact name, model comments and redunant generic
* code optimization
* cross scala versions 2.11 2.12 2.13
* date serializers extracted and joda enabled as default
* basic and bearer authorization added, apikey in query supported
* [Ruby] Fix obsolete configuration of Rubocop and Rubocop's warns (#5417) (#5474)
* fix obsolute configuration in generated .rubocop.yml
* fix style of `expect` with block in generated ruby client's test code
* update sample of ruby client
* [scala] strip model class name for all scala generators (#5439)
* stripped parameter enabled for all scala based generators
* scala samples updated
* docs generators updated
* fix scalatra. regenerated by openapi3 script.
manually removed enum default value from scalatra example due bug in schema extraction
* [Scala][sttp] various improvements (#5475)
* various improvements to scala sttp
* update ScalaSttpClientCodegen.java
* add windows batch file
* test scala sttp in jdk8
* fix tempalte directory
* Use the dataType if the baseType is not set (#5372)
* Use the dataType if the baseType is not set
* add tests for passing enum as parameter
* updated requirements file in samples
* Update spec to explicitly name objects and prevent `inline_object`
* use the correct scripts to generate samples (`bin/openapi3/python-flask*`)
* [python] Adds python oneOf/anyOf models + tests (#5341)
* Adds oneOf + anyOf schemas, models and tests to python-experimental
* Adds setUpClass and tearDownClass
* Removes newline in method_init_shared.mustache
* Regenerated v3 spec sample for python-experimental
* Fxes test for discard_unknown_keys
* Moves new models into existing spec, regen python-exp and go-exp
* Also fix python-exp windows file
* fix CVE-2020-8130 (#5483)
* [go] Add Ptr method to const enum values (#5257)
* fix rubocop warns in Ruby client's custom spec (#5488)
* [C-libcurl] The name in API parameter should not be escaped even though it includes a C key word. (#5487)
* [go-experimental] Support aliasing of API keys (#4940)
* [go-experimental] Support aliasing of API keys
* Use {{.}} inside condition
* Use name instead of keyParamName for lookup
* x-lookup to x-auth-id-alias
* [java] Support aliasing of API keys (#4966)
* [java] Support aliasing of API keys
* Rebuild Java Jersey2 sample client
* x-lookup to x-auth-id-alias
* Regenerated
* [cli][gradle] Validate now uses parseOptions w/setResolve (#5471)
* [cli] Validate now uses parseOptions w/setResolve
The validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
* [gradle] Validate now uses parseOptions w/setResolve
The Graldle validate command now uses ParseOptions#setResolve(true) to match how
we parse in CodegenConfigurator and online's Generate. Without this
option, the OpenAPI 3 parser skips the "resolve" block, which made lead
to validations in the command not matching validations during
generation.
* [kotlin]Fix ktor doesn't generate nullable types (#5258)
* If not required, need `? = null`
* run ./bin/kotlin-server-petstore.sh
* Added `?` when value is `required` and `isNullable`
* Rerun ./bin/kotlin-server-petstore.sh. But No differences
* [C++] Add an option to allow having lowercase variables in models, Pistache: allow using reservedWords in models (#5434)
* [C++][Pistache] Use reserved words to replace incorrect names
discard old decision to truncate reservedWords
* [C++][Pistache] Update struct model to use name instead of baseName
* [C++][Pistache] Update Petstore sample
* [C++] Add option to have lowercase variables
* [C++] Update generated docs
* [BUG] [JAVA | Spring] Cookie in parameter is not correctly generated (#5393)
* Cookie in parameter is not correctly generated
* gh-5386: Fix cookie parameter in
* gh-5386: Fix cookie parameter in
* gh-5386: Update test file
* gh-5386: Fix cookie parameter in
* gh-5386: Fix cookie parameter in
* gh-5386: Regenerate samples
* gh-5386: Fix test
* Added Spring CookieValue tests
Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>
* Add missing `@Generated` annotation. (#5384)
The annotation is present on other generated files when using jaxrs-spec, but it missing on model classes.
* [scala] [template] scala model property style (#5486)
* Model property naming style generic for scala
* scala templates based on abstractScala regererated
* docs generators updated
* property format tests
* add Agoda as the user (#5494)
* Hide timestamp in Scala Play server samples (#5495)
* hide timestamp in scala play server output
* add chameleon82 to scala tech committee
* Add a link to tech blog tech.medpeer.co.jp (#5498)
* Add links to blog posts about OpenAPI Generator (#5508)
* Typescript array alias array (#4981)
* Add failing tests for typescript type declaration
* Refactor array and map child type string fallback
* Add unaliasSchema to typescript getTypeDeclaration
* TypeScriptRxjs: Use Blob as file type declaration
This was inadvertantly changed in
https://github.com/OpenAPITools/openapi-generator/pull/5266
* [core] Sanitize/underscore/camelize cache expiry (#5484)
The helper methods for sanitize/underscore/camelize were recently
updated to cache values in static maps. This would lead to a memory leak
in hosted environments as the maps had no cleanup/expiry.
This moves those cached entries to Caffeine caches with expiry based on
last access to allow the edge-case performance improvement gains on very
large documents, without the memory leak in hosted or embedded
environments.
* Update README.md
* Add a link to the conference paper (#5510)
* Add a link to the conference paper
* fix author list
* [Slim4] Add Data Mocker middleware (#4978)
* [Slim4] Store response schemas
* [Slim4] Add Data Mocker middleware
* [Slim4] Enhance Slim router
* [Slim4] Enhance config
* [Slim4] Fix data format key in object mocking
* [Slim4] Add tests for Data Mocker middleware
* [Slim4] Add Mock feature documentation
* [Slim4] Refresh samples
* [Java][Spring][Spring-Cloud] Fix#5144 - Use conditional package declaration to avoid unnecessary dependencies (#5145)
* FIX: Use conditional package declaration to avoid unnecessary dependencies
* DEV: Adjusted sample ClientConfiguration.java for async spring-cloud
* fix(php): no need to serialize collections, Guzzle does that, fix#2292 (#3984)
* fix(php): only serialize collections if !explode, Guzzle handles the rest, fix#2292
* fix(php): update petstore samples
Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>
* [php] replace $collectionFormat with $style (#5517)
* php - remove $collectionFormat
* update php openapi3 petstore sample
* [BUG][scala][template] scala generate java.math.BigDecimal instead of scala type (#5514)
* [BUG] scala generate java.math.BigDecimal instead of scala type
* update docs/generators
* [PHP] complete support for form style (#5519)
* [BUG][PHP] Parameter property style not fully implemented (related to comment on PR #3984)
* [AUTOGENERATED][PHP] Sample Files
* update jackson dependency to newer version (#5527)
* Fix Swift4 CI tests (#5540)
* comment out swift 4 order tests
* comment out store tests
* Test Dart petstore client in CircleCI (#5544)
* test dart2 in circle ci (jdk7)
* fix tests
* update package
* fix dart installation
* Add serialization of ModelComposed (#5551)
* Fixes kwargs typos, removes E501s (#5552)
* Update generic model to support nullable properties (#5568)
* [DOC] Add link to integration test wiki in CONTRIBUTING.md (#5570)
* Add link to integration test wiki
* Add link to integration test wiki
* [Kotlin][client] fix file upload (#5548)
* [kotlin] fix file upload
* [kotlin] fix file upload
* [kotlin] fix file upload
* [kotlin][client] fix jackson integration
* [kotlin] fix file upload
* [kotlin] fix file upload
* update doc
* [Java] Fix exception when OAuth2 token URL is a relative URL (#5535)
* Add support for case when OAuth2 token URL is a relative URL
* Add support for case when OAuth2 token URL is a relative URL
* run scripts under bin
* [Java] fix runtime exception when there are multiple auth methods (#5530)
* fix runtime exception when there are multiple auth methods
* Refactor a bit so that it does not cause conflict with relative url token branch
* [markdown] Fix broken links when generating markdown (#5569)
* [markdown] Fix broken links when generating markdown
The `api.mustache` file generates links to the markdown model files.
These links were previously brokeen.
Additionally, the defaultPackage for markdown is "/Models", so this
looked pretty in the heading for model files. So this prefix has been
stripped from the header in `model.mustache`.
* Re-generate Petstore samples for markdown
* typescript-angular: fix zone-js version for angular 8 (#5585)
* Add a link to the slide (#5590)
* [Swift] fix URLSession file upload (#5546)
* [swift5] - fix URLSession file upload
* [swift5] - fix URLSession file upload
* [swift5] fix file upload
* [swift5] - fix URLSession file upload
* [swift] add unit tests for file upload
* [swift] update samples copyright
* [swift] add option for API prefix (#5567)
* [swift] add option for API prefix
* [swift] update docs
* [haskell-http-client] update stack; exclude problem time versions (#5589)
* [go-experimental] Do not generate HTTP signature unit test for every generated SDK (#5588)
* Do not generate HTTP signature unit test for every generated SDK
* Add golang 1.14 to CI environment
* fix unit test issues
* remove script commands that were commented out
* add support for ed25519 private keys
* PR to solve 2 open issues on enums: #5091 and #4293 (#5477)
* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.
* PR to solve 2 open issues on enums:
Issue 5091 needs to generate enums also when the enum is directly in a param to a API call, instead than in a model. I did that by copying and adapting enum code from *model* to *api*
Issue 4293 needs to decorate enums, for when enum names or enum values are repeated over the yaml definition.
* Enums decorated: with {{projectName}}_{{classVarName}}_{{enumName}}_ in the models, with {{projectName}}_{{classVarName}}_{{enumName}}_ in the operations.
* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."
* Changes to the c client:
- Removed white space.
- Removed ToJSON and FromJSON function for the enums, since they are not used
- Sanitized project name in the .java file. For example, this solves a problem with the issue #2338, where the yaml file had title: "Skycoin REST API."
* Adds parseFlattenSpec (#5526)
* Adds parseFlattenSpec, updates tests and helper functions
* Adds parseSPec invocation inside parseFlattenSpec
* Scala-Akka: Add missing body to PATCH requests (#5605)
* NodeJS - Adds missing keyword (#5606)
* [jaxrs-cxf-cdi] Support PATCH httpMethod (#5574)
Update the required CXF version to 3.1.2 since PATCH support appeared
with this version.
Add the cxf PATCH annotation to the imports so that the generated code
when defining a PATCH api compiles.
* fix default value for abstract scala and scalatra server impl (#5578)
* [Java] Generated API class has wrong dataType and does not compile Issue (#5331)
* add unit test assertion
* add check for composed schema
* add support for x-allOf-name
* change x-allOf-name to x-all-of-name
* Add more troubleshooting information
* Add more troubleshooting information
* Add more troubleshooting information
* Add more troubleshooting information
* [swift5] stop hiding network error (#5603)
* [swift5] stop hiding network error
* [swift5] stop hiding network error
* [scala][templates] java 8 dates support (#5291)
* [scala][akka-http-client] java8 dates support
* scala-akka readme doc updated
* DateSerializers renamed
* rename serializers
* move date-library option to abstractScala
* generators docs updated
* enum defined for date libraries
* Backport to scala-http-client
* fix scala-akka-client date serializers
* fix typo in docs
* switch scala templates to java8 (jsr-310) date library by default
* update scala samples with java8 date library
* update scala generators docs with java8 default date library
* fix scala-play-server generator cli options as only java8 dateLibrary supported
* fix scalaz DateTimeCodecs template to support java8
* scalaz ci test againt java7 removed as it generate scala 2.11.8 client which is java8 based
* update doc
* Adding Response Interceptor (#5500)
* added Response interceptor for native clients
* added Response interceptor for native clients
* [k6] Add blog post about using the k6 generator (#5608)
* [Kotlin] Remove kotlin-reflect dependency when not needed (#5502)
* Remove kotlin-reflect dependency when using CodeGen
* Update Kotlin tests
* Regenerated unit test samples
* Remove newline in generated build.gradle files
* [typescript-fetch] add interfaces, withInterfaces (#5612)
* typescript-fetch: interfaces, first draft
* fix name in description
* [scala] Regenerate akka sample (#5622)
* scala-version 2.11.12 (#5618)
* micheleISEP->michelealbano (#5625)
* [Powershell] refactor the client generator (#5629)
* add api client
* add local variables
* add configuration
* add header/query/form parameter support
* add partial header
* add auth, fix parameters type
* fix accept, content type
* url query string
* fix path, header
* remove dep on C# client
* fix method naming with package name
* fix object
* convert result from json
* better response handling
* remove tostring method
* fix model doc
* fix default module
* generate api test files
* better api, model tests
* fix add pet
* add appveyor
* fix accept, content type
* add petstore tests
* fix form parameters
* test delete
* better file handling (upload)
* better code sample
* add package version, better doc
* delete unused files
* fix header parameters
* clean up api client
* update samples
* support query parameter
* better method and parameter naming
* minor formatting change
* better doc, fix cookie parameter
* better doc
* add api prefix support
* better api nam prefix option
* fix configuration
* throw errors for required parameter
* fix authentication
* add try catch block to sample code
* rename model
* use debug, clean up comment
* revise code
* move bin script
* update doc
* add new file
* better map support
* [PowerShell] minor improvements and bug fixes (#5635)
* add output type, minor format fix
* minor test improvement
* Port client updates to server (#5634)
* Revert "scala-version 2.11.12 (#5618)"
This reverts commit 6b984a926a.
* update release date
* Handle negative response from the server (#5649)
* Fix integration tests (Travis, CircleCI) (#5672)
* fix php tests
* fix scala tests
* update ts angular v6 rest
* fix user create test
* fix spring cloud test
* comment out user delete
* fix angular v7 tests
* fix user test
* fix tests
* fix go exp tests
* commented out delete user tests
* comment out delete user tests in go openapi 3
* fix clojure tests
* [PowerShell] Fixes typo (#5648)
* Solving issue #5623 and supporting bools for C client label:"Client: C" (#5624)
* Removed stray "printf"s in
modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CLibcurlClientCodegen.java
* Support for booleans in C client
* Update README.md
* Change to C API mustache files to solve issue #5623
* Debugging of C's modle-body.mustache, as suggested by ityuhui
* Final changes suggested by ityuhui
* [PowerShell] Fix map type (#5638)
* fix map type
* remove output type, fix appveyor
* test macos
* comment out failing scala test
* fix typo: configuration
* Revert "comment out failing scala test"
This reverts commit 1dcf84ffcb.
* [powershell-experimental] Protects against stackoverflow when OAS spec has circular references (#5646)
* protects against stackoverflow when OAS spec has circular references
* protects against stackoverflow when OAS spec has circular references
* Adds configuration option to skip certificate check. Fixes a typo. Fixes an issue which was restricting from cookie to get consumed (#5657)
* [k6] bugfixes to improve the output script (#5614)
* [k6] Skip appDescription escaping
* [k6] Fix variable identifier in output
* [k6] Fix bug with reserved words handling
* [C][Client] Check the pointer before deleting operation to avoid core dump label:"Client C" (#5626)
* [C-libcurl] Check the pointer before deleting operation to avoid core dump
* [C-libcurl] Check the pointer before deleting operation, update sample
* [kotlin][client] Add Jackson to interface properties and remove extra line feed (#5459)
* [kotlin][client] Ensure Jackson annotations are consistent with interface vars
* [kotlin][client] Rebuild samples
* [kotlin][client] Some kotlin client enhancements
- Don't use JsonFormat for Date objects, this should be controlled via
a custom serializer/deserializer or a turning on and off serialization
features of Jackson. I've updated the jacksonObjectMapper config to
write the dates as strings, which I think was intended in the original
commit.
https://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/SerializationFeature.html#WRITE_DATES_AS_TIMESTAMPShttps://fasterxml.github.io/jackson-databind/javadoc/2.6/com/fasterxml/jackson/databind/cfg/MapperConfig.html#getDateFormat--
- Dont' use @JsonFormat(shape = JsonFormat.Shape.OBJECT) for enums.
This causes Enums to be formatted as objects with an internal "value"
field. In reality, OpenAPI enums are just strings without properties
and should be treated as a string.
https://www.baeldung.com/jackson-serialize-enums#2-enum-as-json-object
- Add's Kotlin use site annotation @get: to JsonProperty for parent interface
properties. Otherwise Kotlin will warn:
"This annotation is not applicable to target 'member property without
backing field or delegate'"
- Add's JsonTypeInfo annotations to interfaces for inheritance. This
was copied verbatim from the kotlin-spring generator.
https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/kotlin-spring/typeInfoAnnotation.mustache
* [kotlin][client] Rebuild kotlin samples
* Remove scala version in parent pom (#5647)
* [asciidoc] Allow the inclusion of additional documentation to t… (#5260)
* [asccidoc] Allow the inclusion of additional documentation to the asccidoc generated
Resolves#5228
* [jaxrs-reasteasy-eap] Fix invalid Bean Validation annotations for Longs (#5659)
* fix issue #5658
* update samples
* [PowerShell] Test powershell petstore client in Appveyor (#5674)
* remove scala version in parent pom
* test ps petstore in appveyor
* fix command
* build and import
* fix import module
* fix import
* skip module import
* run multiple commands
* move to test script
* test ps exit
* fix exit
* check last status code
* clean tests
* exit last code
* add import
* change dir
* skip build failure
* fix check
* trigger build failure
* fail fast
* restore c# test
* new line comment
* add powershell exp to ensure up to date script
* [PowerShell][Experimental] Better docstring (#5688)
* add docstring to powershell module
* add doc string
* Nodejs express js packages update (#5675)
* Updated to new nodejs packages, depending heavily on express-openapi-validator. Requires quite a change in code.
Updated the business-logic in the controllers/Controller.js file.
Logger now records also timestamp of events.
Files are uploaded according to definition in config.js file
* Removed commented-out code; Changed openApi document extensions to suit new express-openapi-validator definition; multipart and file uploading is supported now; Automatic response returns the values the were sent in the request
* fixed README documentation, fixed a mistage in package.json/mustache
* added generated files that were created when running the ./bin/test file
* [go-experimental] Fix nullable support (#5414)
* Fix nullable support in go-experimental client
* Fix support for models with parents and container fields
* Make sure that oneOf interfaces serialize properly even if they're required (non-pointers) on other models
* Spaces => tabs
* Regenerate samples
* Make some methods of nullables pointer-receivers, add tests
* Improve the Get/Set logic to make usage more convenient
* Address review
* [kotlin][client] make base path globally configurable (#5450)
* [kotlin][client] make base path configurable
* [kotlin][client] update pet project
* [kotlin][client] set default base path
* [kotlin][client] set default base path
* [kotlin][client] set default base path
* Add michelealbano to C technical committee (#5692)
* [Go][Experimental] Rename extensions from x-basetype to x-go-base-type (#5691)
* rename go vendor extension
* update go exp petstore samples oas3
* comment out powershell petstore in uptodate script
* remove processing of http_signature_test.mustache (#5696)
* Fix generation of oneOf interfaces for oneOf usage in properties (#5400)
* Fix generation of oneOf interfaces for oneOf usage in properties
* Only generate oneOf interface models when oneOf is defined
* use basic parsing (#5702)
* [python/asyncio] explicitly close client session via async context manager (#5621)
* [gradle] Include engine option for handlebars generation (#5686)
* [codegen][Go] Fix compilation error of generated go code when schema is free form object (#5391)
* Fix code generation for free-form objects in go-experimental
* Execute scripts in bin directory
* Add more use cases for open-ended types
* Add more use cases for open-ended types
* Add more use cases for open-ended types
* add code comments
* Better name for test properties
* handle scenario when type is arbitrary
* handle interface{} scenario
* handle interface{} scenario
* add helper function isAnyType
* isAnyType function
* implementation of isAnyType function
* fix javadoc issue
* handle interface{} scenario
* use equals comparison instead of ==
* merge from master
* Add code documentation
* add code comments, remove unused min/max attribute, fix equals method
* Handle 'anytype' use case
* add code comments
* override postProcessModelProperty to set vendor extension
* Use vendorExtensions.x-golang-is-container
* fix compilation error of generated code
* fix compilation error of generated code
* fix compilation error of generated code
* [Java] Update version of maven-surefire-plugin (#5509)
* use more recent version of maven-surefire-plugin
* use more recent version of maven-surefire-plugin
* higher debug level for troubleshooting ci issue
* temporarily increase debug log to help troubleshoot
* Use local instance of pet store service for unit test purpose
* Add more logging to troubleshoot unit test failures
* Add more logging to troubleshoot unit test failures
* Add more logging to troubleshoot unit test failures
* Add more logging to troubleshoot unit test failures
* Add more logging to troubleshoot unit test failures
* use random ID for Java unit test instead of fixed id
* add code comments and specify URL for java unit test
* reenable quiet argument
* fix java unit test issues
* fix java unit test issues
* Revert "fix java unit test issues"
This reverts commit e8508416ff.
* fix java unit test issues
* Generator for JavaScript/Apollo Client (#5645)
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Add yutaka0m to Kotlin Technical Committee (#5716)
* Add Scala client scripts to ensure-uptodate process (#5712)
* add scala client to ensure-upto-date
* new scala-akka petstore oas3 folder
* regenerate scala akka oas2 petstore
* remove script
* Minor improvments to JS apollo generator (#5714)
* minor improvments to js apollo generator
* comment out apollo
* [Rust Server] Handle text/xml correctly (#5660)
* [Rust Server] Handle text/xml correctly
Treat application/xml the same as text/xml as per RFC 7303
* [Rust Server] Add test for text/xml
* Update samples
* 4.3.0 release (#5721)
* update samples (#5722)
* 5211 - Use allVars instead of vars for Kotlin client (#5396)
* [C++] [Qt5] fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout... (#5651)
* - fixed cpp-client-qt5 HttpRequestWorker requests crashing on timeout when they have actually NOT timed out (were calling back into a deleted struct).
* #minor fixes after review
* Regenerate changed files
Co-authored-by: valentin Bisson <valentin@inrosoftware.com>
Co-authored-by: etherealjoy <sunn.ssb@live.com>
* Fix SSL setting in checkout script (#5725)
* fix ssl setting in checkout script
* add check for sbt-openapi-generator
* [C] fix decode funtion (#5642)
* fix function names and add parameter to return decoded bytes length from base64decode function
* format base64decode function to avoid unnecessary malloc and fix wrong length assigning
* update the pointer assigning
for some reason var++ / *var++ cannot be done on int *var, hence making a local variable which is incremented and at the end it is assigned to the pointer.
* Update bump.sh to go SNAPSHOT to version (#5727)
* Fix CI failures (#5734)
* update ci to use petstore 1.0.4
* comment out test
* comment out test
* comment out update user test
* comment out more tests
* use latest petstore
* comment out updatePetWithForm
* comment out update pet test
* fix file path in release_version_update_docs (#5724)
* better appveyor test (#5739)
* better readme, type mapping, new option (#5740)
* Remove warning for unused camel case vendor extension for Qt5 client and server (#5731)
* [PS][Experimental] Add multiple server support (#5741)
* code comment
* add get host setting
* add multiple server support
* add default headers support (#5746)
* [C][Client] Support SSL client authentication for the c client (#5719)
* [C][Client] Support SSL client authentication
* [C][Client] Support SSL client authentication, update sample
* [kotlin] Fix#5247 incorrect enum parameter type for arrays (#5435)
* [Erlang-Server] security definition context changes don't propagate to handler (#5751)
* Map Merge Context & Params
handler requires context and params to be merged before returned to user defined request_handler.
* post build & shell script
* Delete VERSION
* [PS][PowerShell] fix passthru, use switch instead of bool (#5768)
* fix passthru, use switch
* remove line
* comment out kotlin vertx server test (#5767)
* add support for common verbs (#5771)
* fix request.on_complete message when tempfile is nil (#5745)
* fix request.on_complete message when tempfile is nil
* update faraday client sample
* add openapi3 client samples
* use prepare instead of new (#5773)
* use Initialize instead of prepare (#5777)
* add map example (#5778)
* [PS][Experimental] Better common verb handling (#5783)
* better common verb handling
* better debugging
* add option to customize common verb
* [cli][docker] Better expose version/sha information of builds (#5736)
* [cli] Some CLI improvements…
* Introduce --version
* Introduce --help
* Add --sha to version command for short SHA display
* Output Version and SHA details
* In new --version output, display repo and doc site
Additional cleanup to suppress warnings and code quality.
* [docker] Adds labels for metadata
This adds image labels to store metadata on the online and cli docker
images, using standard labels:
* org.opencontainers.image.created
* org.opencontainers.image.revision
* org.opencontainers.image.title
* org.opencontainers.image.version
These can be inspected via 'docker inspect IMAGE_NAME' and may be useful
in tooling/automation or bug reports submitted by users.
For more details on these labels, see:
https://github.com/opencontainers/image-spec/blob/master/annotations.md
* Include version --full for equiv to --version
* [cli] Add --global-property for -D replacement (#5687)
-D option has been deprecated as it was previously used to:
* Pass "system properties"
* Pass additional properties
This was confusing because we already have --additional-properties and
because Java System Properties are passed as -D before program
arguments.
Confusion around the -D option had existed for some time, but when we
introduced the thread-safe GlobalSettings to avoid overwriting Java
System Properties, we created a hard break from Java System Properties
in the generator. This also disconnected the previous "system
properties" from accepting additional properties.
Once these newly deprecated methods are removed, we will have a clear
separation of concerns between:
* Java System Properties
* Global generator properties (used as workflow context)
* Additional properties (used as generator options)
This commit marks multiple places for cleanup in 5.0. These will be
breaking changes, and lower effort to break in 5.0 with deprecation
warnings now rather than adding sibling properties throughout the code
and potentially introducing logic errors.
* [dart-dio] Fixes --model-name-suffix having no effect (#5669)
Fixes#5409
* [go-experimental][go][client] Remove unreachable code in go client API methods (#5611)
* [go-experimental][go][client] Remove unreachable code in go client API methods
* Properly regenerate all samples
* please add openVALIDATION Project to readme (#5534)
* added openVALIDATION Project to readme
* Update README.md
Co-Authored-By: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
* [Csharp-client] Complex form parameters are not serialized as application/json (#5787)
* [csharp-client] Complex form parameters are now correctly serialized as json.
Reference: http://spec.openapis.org/oas/v3.0.3#special-considerations-for-multipart-content
* Updated bin/windows csharp sample generation scripts to point to the correct directories
* Updated csharp samples
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* fix scala-akka java8 serializers (#5742)
* fix scala-akka java8 serializers
* regenerate samples for akka-http
* [typescript-axios][client] Unnecessary imports occurs when using withSeparateModelsAndApi (#5797)
* add ts-ignore
* add petstore sample
* use write verbose in auth, better api doc (#5804)
* [PS][Experimental] add withHttpInfo support, fix "null" return (#5811)
* add with http support
* use full name in tests
* using full name in test
* skip type check
* [PS][Experimental] Add tests for array of object in response (#5814)
* debugging array response
* fix find pet tests
* better tests to ignore order
* [codegen] Use once(LOGGER) to reduce amount of identical warning messages (#5808)
* Warn once instead of many times when the log statement does not have contextual information
* Warn once instead of many times when the log statement does not have contextual information
* make name cache configurabl (#5775)
* [codegen] Cachesize config seconds (#5816)
* make name cache configurable
* Address review comments
* [Python-experimental] Documentation enhancement for oneOf schema and minor err msg improvement (#5791)
* Add documentation to generated code
* Improve error message
* Improve documentation
* Improve documentation
* Improve documentation
* Improve documentation
* Improve documentation
* Improve documentation
* Run sample scripts
* Address review comments
* Address review comments
* Fix problem in python error message
* rename hostsetting, validate base url (#5821)
* fix array return (#5822)
* Scala akka-http server (#5758)
* Scala akka-http server base implementation
* [scala-akka-http-server] petStore samples
* Improved the formatting of generated files
* Updated scala-akka-http server samples
* [scala-akka-http-server] the groupId, artifactId and artifactVersion default value are used as intended.
* Fixed the default operation not being correctly generated on parameterless operations
* Added build.sbt.mustache supporting file
* Updated scala-akka-http server samples
* ScalaAkkaHttpServer: Fixed a String.format call to use Locale.ROOT for locale
* [scala-akka-http-server] Fixed defaultValue being escaped during generation
* Added scala-akka-http.md
* Replaced all "⇒" character with "=>" to retain compatibility with scala 2.13
* [scala-akka-http] Added a config option akkaHttpVersion
It's set in the generated build.sbt.
* Updated scala-akka-http server samples
* [scala-akka-http] More accurate akkaHttpVersion parsing
* Updated scala-akka-http.md
* [scala-akka-http] Changed the akka-http version check to fix the generation of StringDirectives
* Updated scala-akka-http samples
* updated scala-akka-http.md
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* Minor improvements to scala akka server (#5823)
* minor improvements to scala akka server
* add samples
* update doc
* Update swagger parser to 2.0.19 (#5413)
* update swagger parser to 2.0.18
* fix online server exception
* Revert "fix online server exception"
This reverts commit fe3cb5221f.
* update parser to 2.0.19
* [jaxrs-cxf-cdi] fix allOf equals and hashCode (#5756)
When generating model that use allOf, the equals and hashCode methods
must take the parent class into account.
* [BUG] [KOTLIN] Fix default value generation for Kotlin Strings (#5776)
* fix default value generation for kotlin
* add updated pet templates
* Revert "add updated pet templates"
This reverts commit 7e8168ad
* regen pet store projects code
* tests for models for C-libcurl generator (#5699)
* First try to generate unit tests for the models of the C-libcurl client. Models into models are not supported yet.
* Added unit tests for the modules of the C-libcurl client to the git repository.
* Support for objects having other objects as properties, for the C-libcurl client generator
* Proper formatting of generated code
* use allVars to cover all properties (#5835)
* support enum in parameters (#5838)
* [C++] [Qt5] [Client] fixed cpp-client-qt5 HttpRequestWorker contentCompression variables initialization (#5834)
When contentCompression is not enabled, the variables isRequestCompressionEnabled and isResponseCompressionEnabled in HttpRequestWorker are not being initialized.
Without initialization the compress function could be called and the request content could be an empty QByteArray instead of original request body.
* minor fix to http basic auth (#5839)
* Scala akka http server - normalization of some vendor extensions (#5829)
* [scala-akka-http-server] Normalized vendor extension "paths" to "x-paths"
* [scala-akka-http-server] Normalized vendor extension "hasDefaultValue", "isDefault", "specificMarshallers", "fileParams", "nonFileParams"
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* Add Bouill to the Scala technical committee (#5843)
* C client generator improvements to support petstore. Solves #5836 (#5837)
* C client generator improvement to support:
openapi-generator/modules/openapi-generator/src/test/resources/3_0/petstore.yaml
* Improvements to the C client generator:
- moved base64* from apiClient.c to binary.h/binary.c
- changed CR/LF to LF in binary.h/binary.c
* C client generator: better support for base64encode / base64decode
* Add openapi.yaml file to Java clients (#5765)
* Add openapi.yaml file to Java client
* Move supporting template file to Java root
* Update petstore clients
* [codegen] Fix 'super.HashCode' for oneOf and allOf Implementations (retry) (#5830)
* Added hasVars after completion of all model post-processing (#5587)
* Post ensure-up-to-date
* Update to check the size of vars and not assume non-null
* update mysql samples
* Add default case to handle response code (#5825)
* add default case to handle response code
* fix default response code
* add test for isDefault
* fix user id in scala tc
* Fix for Issue #4840 [BUG][JAVA][spring-mvc] Generated Code for Map of Maps Return Type does not compile (#5240)
* add parent for allOf only (#5851)
* Add pythonSrcRoot option to python servers (aiohttp/flask/blueplanet) to support src/ layout projects [and reenable/fix all python server tests] (#5423)
* python server: Add pythonSrcRoot option
This will allow the python project to be in a subdirectory (as specified
in pythonSrcRoot). That could mean following the src layout with sources
under src/ or lib/. Multi-language projects might use a sub directory
like python/, or whatever makes sense for the project.
By default, the pythonSrcRoot is "", meaning the existing behavior is
the default.
* python server: update template files to support pythonSrcRoot
* python server: update docs to add pythonSrcRoot option
* python server: add pythonSrcRoot sample script
* python server: build sample srclayout project
* [Python] copy test files preserving history
* [Python] Make a conflict to preserve file copy history
* [Python] customize pom.xml for src layout tests
* [Python] add python-aiohttp-srclayout tests
* [Python] Fix server tests by updating requirements
Reverts the PR that disabled python2 server tests:
https://github.com/OpenAPITools/openapi-generator/pull/4949
Reverts commits that disabled python3 server tests:
9adfedbfbb17ee990baa
Issue about the python 3 tests:
https://github.com/OpenAPITools/openapi-generator/issues/5235
I couldn't find an issue about the python2 tests being disabled.
I'm guessing build errors like the following were the trigger:
https://travis-ci.org/github/OpenAPITools/openapi-generator/builds/634238181
Let's see what breaks!
* [Python] Copy setup.py to python-aiohttp
* [Python] Save history while copying setup.py to python-aiohttp
* [Python] Add aiohttp server setup.py
* [Python] Fix python server tests with src layout
* [Python] bump Flask-Testing version
* [Python] Pin pyyaml for py2.7 flask server
* [Python] simplify flask server requirements
* consolidate server tests
* [Python] rebuild python server samples
* [Python] Fix python server requirements for older pythons
Documented minimum python version for our aiohttp server is 3.5.
Documented minimum python version for our flask server is 3.4.
Connexion 2.3 is the last version to support python 3.4 and 3.5, so fix
the version pinning to correctly select <=2.3 for these EOL python
versions. Newer pythons should get the latest if possible as there many
relevant bug fixes.
Werkzeug also needs to be pinned for these old versions in the aiohttp
server just like for the flask server.
3.4 and 3.5 are EOL. We really should increase the minimum supported
version, but that is for another PR to do.
* stop error globally (#5858)
* [PS][Experimental] Add validations to model (#5842)
* add validations to model
* better error message
* improve validation
* Updates to allow the setting of the dateTime format string (#5763)
* [PS] Select Content-Type in the response (#5872)
* better return type handling
* update tempalte
* better documentation
* fix greater than
* various enhancement to ps exp generator (#5875)
* [C#] dependency upgrade (#5870)
* Updating packages version (#5313)
* Add support to RestSharp version 106.10.1
Restsharp 106.10.1 needs the Content Lenght as a parameter to AddFile method
* Updating RestSharp Version
Updating RestSharp Version
* Update netcore_project.mustache
* Update netcore_testproject.mustache
* Update Project.mustache
* Updating packages version
Updating packages version
* Updating packages version
Updating packages version
* Updating packages version
Updating packages version
* Updating packages version
Updating packages version
* Updating packages version
Updating packages version
* Updating packages version
Updating packages version
* Execute task async obsolete
Use ExecuteAsync instead
* update csharp samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [csharp] Library upgrade fix (#5848)
* On .net45 framework, Restsharp version is updated to 106.10.1 Otherwise, it stays on version 105.1.0
* Added additionalProperties for library versions and target frameworks
* Removed unused properties
* Added an additional property to test for a specific version of RestSharp
* Updated csharp samples
* Fixed nuspec.mustache to use library specific additional properties
* Updated csharp samples
* Updating CI/samples.ci csharp petstore test project file.
* Updated csharp.md
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* [csharp-client] Restored tests on csharp samples (#5879)
* Restored tests on csharp samples
* Restored a reference to the file used to test file uploads
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* update samples
Co-authored-by: Igor Quirino <iquirino91@gmail.com>
Co-authored-by: Bouillie <34162532+Bouillie@users.noreply.github.com>
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* [Csharp-client] Complex form parameters are not serialized as application/json (#5849)
* [csharp-client] Complex form parameters are now correctly serialized as json.
* Updated csharp samples
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
* docs: removes Nico from technical committee (#5883)
* [PS] better handle special variables (#5885)
* add variable
* fix reserved words
* update ps doc
* [PS] add file post-processing to the PowerShell generator (#5864)
* add post process to ps generator
* add import
* fix merge issue
* consolidate header selection functions (#5889)
* [Java-client] Add maven-compiler-plugin in pom.xml and enable linter checks by default (#5866)
* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default
* Add maven-compiler-plugin plugin in Java pom.xml and enable linter checks by default
* Update enum.mustache (#5793)
https://github.com/OpenAPITools/openapi-generator/issues/5792
* Update modelGeneric.mustache (#5378)
* Update modelGeneric.mustache
If maxlength is specified for a property type enum it there should be .ToString() appended before length check
* ran the csharp petstore bar and updated the file
Co-authored-by: Shweta Shukla <shshukl@microsoft.com>
* Fix Scala sttp generator packages (#5890)
* Fix Scala sttp generator packages
* Change package to parameterised
* [Dart] Fix "basic" auth method and Add Bearer token support (#5743)
* added auth check and lint
* fixed basic auth condition
* Added bearer auth
* updated samples
* update dart petstore samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Add date time format annotation on pojo for model query parameters (#5437)
* Add date time format annotation on pojo for model query parameters
* Regenetare samples
* update spring samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [mysql] Add basic SQL queries (#5757)
* Add basic SQL queries template
* Add namedParametersEnabled option
* Move model related SQLs into Model folder
* Update README template
* Refresh samples
* [enhancement] [jaxrs-spec] Add builders to models (#4930)
* Update formatting in jaxrs-spec POJOs
* Add generateBuilders option
* Update formatting in jaxrs-spec POJOs
* Disable the builders generation by default
* Ensure samples are up-to-date
* Revert newline change
* Run ensure-up-to-date
* update doc
* fix merge conflicts
Co-authored-by: Artem Shubovych <ashubovych@atlassian.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Update generated build files for REST Assured (#5873)
* REST Assured 4.3.0
* Jackson 2.10.3
* Gson 2.8.6, GSON-Fire 1.8.4
* Okio 1.17.5
* Joda-Time 2.10.5
* ThreeTenBP 1.4.3
* Added missing dependencies for Bean Validation
* Added missing dependencies for `@Generated` annotation
* Refresh REST Assured sample project
* [Java][Feign] Bug fix in @Param annotation (#5250)
* FIX-5249 fix @Param annotation for Feign-client code generation
Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.
* update samples
* FIX-5249 fix @Param annotation for Feign-client code generation
Use paramName instead of baseName in order to make mapping in @Headers
section fit the param-value.
Co-authored-by: Christoph Preißner <christoph.preissner@blu-pa.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [Java] Increase java compiler stack size to handle large files (#5901)
* increase java compiler stack size to handle large files
* increase java compiler stack size to handle large files
* Added emineo to list of companies on website (#5905)
* add emineo to the list
* [swift5] fix warning (#5900)
* update bitwise config (#5904)
* [Java] Discriminator lookup should not be case insensitive by default (#5894)
* Add 'discriminatorCaseSensitive' property
* Discriminator value lookup should not be case insensitive
* fix typo
* run scripts
* execute ./bin/utils/export_docs_generators.sh
* fix discriminator mapping, add code comments
* minor fix to users.yml
* Add a link to optim blog post (#5922)
* [Java] Fix inclusive max validation (#5908)
Co-authored-by: erikmolin <erik@zaver.se>
* add bearer auth support to csharp netcore (#5921)
* [Python][aiohttp] create venv as rule (#5913)
* create venv as rule
* create venv as rule II
* Fix for Result Model Name collision (#5923)
* Fix for Result Model Name collision
* Run Scripts
Co-authored-by: Sebastian Ohm <sebastian.ohm@ubimax.com>
* [Dart] Remove content type from header when content type is not specified (#5752)
* accept empty content type
* fixed test
* updated samples
* additional comment out
* update dependency for java client (#5926)
* Update axios dependency to the new minor version 0.19.0 (#5867)
* Update axios dependency to 0.19.0
Axios (version 0.18.0) used by typescript-axios generator is more than two years old (released in Feb 2018). Axios 0.19.2 released earlier this year contains a lot of fixes and functionality, I recommend updating to 0.19.2.
* Ran ./bin/typescript-axios-petstore-all.sh to update package.json in ./samples
Co-authored-by: Chandra Yalangi <chandra.yalangi@appklenz.com>
* fixed README/doc of bearer auth support for csharp-netcore (#5931)
* fix duplicated semi-colon in c# model (#5934)
* [Python-experimental] Use DER encoding for ECDSA signatures, add parameter to configure hash algorithm (#5924)
* Use DER encoding for ECDSA signatures
* Use DER encoding for ECDSA signatures
* Use DER encoding for ECDSA signatures
* Use DER encoding for ECDSA signatures
* fix python unit tests for http message signature
* Fix error message
* format python code
* format python code
* [Python-experimental] Fix TypeError: unhashable type: 'list' (#5810)
* handle scenario when value is a list, fix TypeError: unhashable type: 'list'
* Add __hash__ function
* use list instead of set
* use list instead of set
* use list instead of set
* use list instead of set
* use list instead of set
* use list instead of set
* [python/asyncio] fix passing proxy parameters to aiohttp (#5943)
* [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (#5828)
* [C][Client]Fix the defect of data lost when libcurl write-data callback function (configured by CURLOPT_WRITEFUNCTION) is called multiple times.
* [C][Client]Fix data lost when libcurl write-data callback function is called multiple times (Reset count)
* [typescript-axios][client] Allow apiKey type Promise. (#5953)
* change apiKey type
* recreate sample
* Add YITU Technology to the user list (#5967)
* add yitu to the user list
* use yitu technology
* Use model as body param for generateAliasAsModel (#4569)
* generateAliasAsModel: Use model name as body param
* Update samples
* resolve merge conflicts in the core generator files
* fix merge conflicts in pom.xml
* Resolve Elm merge conflicts
* [Rust Server] Fix up merge conflicts
* Update samples
* [Rust Server] Add debug log for rust-server-petstore.sh
* update samples
* update more samples
* fix dart openapi-generator version
* remove deprecated c# files
* update meta codegen
* fix port in pom.xml
* fix port in sample
* update jaxrs cxf version
Co-authored-by: sunn <33183834+etherealjoy@users.noreply.github.com>
Co-authored-by: dwlabcube <46682038+dwlabcube@users.noreply.github.com>
Co-authored-by: Herve DARRITCHON <herve.darritchon@orange.com>
Co-authored-by: Akihito Nakano <sora.akatsuki@gmail.com>
Co-authored-by: Johnny Peck <johnnypeck@users.noreply.github.com>
Co-authored-by: Michele Albano <michele.albano@gmail.com>
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
Co-authored-by: Nikita <nickita.davidenko@gmail.com>
Co-authored-by: Alexey Makhrov <amakhrov@gmail.com>
Co-authored-by: val <onzeonline@gmail.com>
Co-authored-by: Bruno Coelho <4brunu@users.noreply.github.com>
Co-authored-by: Aleksandr Nekrasov <snake_nas@mail.ru>
Co-authored-by: Akira Tanimura <autopp.inc@gmail.com>
Co-authored-by: Justin <JustinBusschau@users.noreply.github.com>
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
Co-authored-by: Hui Yu <ityuhui@gmail.com>
Co-authored-by: Yutaka Miyamae <48900426+yutaka0m@users.noreply.github.com>
Co-authored-by: Mateusz Szychowski (Muttley) <muttleyxd@users.noreply.github.com>
Co-authored-by: Jorge Rodriguez <jorgerod84@gmail.com>
Co-authored-by: Gonzalo <gonzalo.nom.es@gmail.com>
Co-authored-by: ChristianCiach <christian.ciach@gmail.com>
Co-authored-by: Bodo Graumann <mail@bodograumann.de>
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Co-authored-by: Daniel Klessing <sakanaou@users.noreply.github.com>
Co-authored-by: copypasta-g <53397163+copypasta-g@users.noreply.github.com>
Co-authored-by: Mahdi Dibaiee <mdibaiee@pm.me>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
Co-authored-by: siada <siada@users.noreply.github.com>
Co-authored-by: Samuel Hoffstaetter <samuel@hoffstaetter.com>
Co-authored-by: Esteban Gehring <esteban.gehring@bithost.ch>
Co-authored-by: Jon Schoning <jonschoning@gmail.com>
Co-authored-by: Marcin Kubala <marcin@mkubala.pl>
Co-authored-by: anoohya-n <51289018+anoohya-n@users.noreply.github.com>
Co-authored-by: Antoine Reilles <areilles@gmail.com>
Co-authored-by: Clemens Angermann <clemens.tirsch@web.de>
Co-authored-by: Mostafa Moradian <mostafa@loadimpact.com>
Co-authored-by: Adam <adkapx@gmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: sullis <github@seansullivan.com>
Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Matt Traynham <matt.traynham@pureport.com>
Co-authored-by: LEZIER-S2 <60382243+LEZIER-S2@users.noreply.github.com>
Co-authored-by: Thomas Enderle <dommaes@users.noreply.github.com>
Co-authored-by: YishTish <yishail@gmail.com>
Co-authored-by: Slavek Kabrda <slavek.kabrda@datadoghq.com>
Co-authored-by: Tomasz Prus <tomasz.prus@gmail.com>
Co-authored-by: Erica Kastner <dkastner@gmail.com>
Co-authored-by: Richard Whitehouse <richard.whitehouse@metaswitch.com>
Co-authored-by: valentin Bisson <valentin@inrosoftware.com>
Co-authored-by: etherealjoy <sunn.ssb@live.com>
Co-authored-by: Hemant Zope <42613258+zhemant@users.noreply.github.com>
Co-authored-by: Even André Fiskvik <even@myworkout.no>
Co-authored-by: ehansen31 <e.hansen31@live.com>
Co-authored-by: Timur Platonov <tpltn@users.noreply.github.com>
Co-authored-by: Josh Burton <josh@arklabs.nz>
Co-authored-by: Ilja leyberman <7ilya@gmx.de>
Co-authored-by: Bouillie <34162532+Bouillie@users.noreply.github.com>
Co-authored-by: Olivier Leonard <oleonard@ankama.com>
Co-authored-by: tanmen <yt.prog@gmail.com>
Co-authored-by: Alex Buchkovsky <alex.buchkovsky@gmail.com>
Co-authored-by: Natan Laverde <natanlaverde@gmail.com>
Co-authored-by: Nicholas Muesch <nicholas.muesch@datadoghq.com>
Co-authored-by: jburgess <11861789+jburgess@users.noreply.github.com>
Co-authored-by: emileonhardt <40421857+emileonhardt@users.noreply.github.com>
Co-authored-by: Jacob Floyd <cognifloyd@gmail.com>
Co-authored-by: Igor Quirino <iquirino91@gmail.com>
Co-authored-by: Nico König <npunktkoenig@gmail.com>
Co-authored-by: https://gitlab.com/selankon <selankon@selankon.xyz>
Co-authored-by: Shweta Shukla <25539662+shwetashukla@users.noreply.github.com>
Co-authored-by: Shweta Shukla <shshukl@microsoft.com>
Co-authored-by: Bartek Kowalik <bkowalik@users.noreply.github.com>
Co-authored-by: Shinya Sugmoto <34866626+gasugesu@users.noreply.github.com>
Co-authored-by: Artem Shubovych <shybovycha@gmail.com>
Co-authored-by: Artem Shubovych <ashubovych@atlassian.com>
Co-authored-by: Jochen Schalanda <jochen@schalanda.name>
Co-authored-by: Chr1st0ph <cpreissner@gmx.de>
Co-authored-by: Christoph Preißner <christoph.preissner@blu-pa.com>
Co-authored-by: Erikmolin <erik.johan.molin@gmail.com>
Co-authored-by: erikmolin <erik@zaver.se>
Co-authored-by: Nicolas Homble <nhomble@terpmail.umd.edu>
Co-authored-by: Sebastian <63457660+sebohdev@users.noreply.github.com>
Co-authored-by: Sebastian Ohm <sebastian.ohm@ubimax.com>
Co-authored-by: chandra-gh <63366477+chandra-gh@users.noreply.github.com>
Co-authored-by: Chandra Yalangi <chandra.yalangi@appklenz.com>
Co-authored-by: Fabian Freund <mail@fabi.online>
Co-authored-by: Erik Timmers <e.timmers@gmail.com>
* [Rust Server] Fix Rust 1.39+ "Box<Future" and "as &Has" compile issue
* [Rust Server] Fix Rust server side pathRegEx and baseName not match issue
* [Rust Server] Add test case yaml with path parameter.
* [Rust Server] Support complex query parameters
* [Rust Server] Remove unused extern crate
* [Rust Server] tokio should be a dev-dependency
* [Rust Server] Add test for complex query params
* Update samples
Co-authored-by: Matt Williams
* Remove test file erroneously checked in
* [Rust Server] Fix no features build
- Need serde_json for no-features build for undefined value structures
- Don't include `IntoHeader` type and implementations if we aren't including the client/server features
- Don't export the `IntoHeader` type at all - it's internal
* Update samples
* [Rust Server] Don't use structs in models
This avoids namespace clashes between model names and types used.
* [Rust Server] Handle models named after results
* [Rust Server] Add test for result models
* Update samples
* Run rustfmt over rust-server output
Automatically run rustfmt over rust-server output if --enable-post-process-file is set
* Update samples
* Add note about configuring post processing
* [Rust Server] Make parse error displayable
Change error type to be displayable to prevent compile errors
* [Rust Server] Add test for enum in path
* Update samples
Don't change the API version which is exposed in `crate::API_VERSION`.
- If the API version isn't set, we don't expose it.
- If it is set, we leave it well alone.
- Always pass a package version:
- Pass in the passed package version by preference
- Pass in the API version if it's not.
- If the API version isn't set, we use 1.0.0
- If it is set, and isn't a valid semver, we append .0 such that we have
something with three digits (so that an API version of 1 works).
* [Rust Server] Suffix reserved words with _
Suffix reserved words with an underscore instead of prefixing them.
This follows convention in the Rust community, as prefixing with an underscore
indicates an unused variable in Rust.
* Update samples
* [Rust Server] Support RFC 7386
Support application/merge-patch+json as defined by RFC 7386 -
https://tools.ietf.org/html/rfc7386
Handle exactly the same as application/json.
* [Rust Server] Add test for RFC 7386
* Update samples
* [core] Move overwrite ownership to SupportingFile
Previously, there was a writeOptional method in DefaultCodegen which
allowed *Codegen instances to immediately write out a supporting file if
it did not exist. This would allow a codegen implementation to skip
user-facing options such as definitions in .openapi-codegen-ignore, the
"supportingFiles" system property, and support for the experimental
handlebars templating engine. While our implementation only modified the
supportingFiles list conditionally, it added confusion as it seemed to
imply that file writes were somewhat the responsibility of
DefaultCodgen (it's DefaultGenerator which handles file manipulation).
This commit moves the definition of whether a file supports overwriting
existing files into the SupportingFile type itself, allowing that
functionality to be determined at time-of-write rather than
time-of-definition. This would allow us, for example, to dump the list
of files which would be generated using a --dry-run option or similar.
This will be a breaking change for anyone who has extended
DefaultCodegen and called "writeOptional". The path to migrate is to add
the SupportingFile to the supportingFiles list and chain the method call
`.doNotOverwrite()` on the instance.
This has the added benefit of clarifying this behavior, considering the
write behavior wasn't previously "optional" writes but optionally
defining the list of supportingFiles based on the state of the file
system.
* [samples] Regenerated
* [elm] Fix generating arrays of enums
* [elm] Add suffix to operation parameters
So there are no longer conflicts between parameters or
parameters and operation names.
* [elm] Remove support for Elm 0.18
* [elm] Drop `Main.elm`
* [elm] Put all models in a single file
* [elm] Put generated code in `Api` package
* [elm] Introduce Request type for operations
* [elm] Generate list of enum variants
* [elm] Make default Time module
* [elm] Small improvements & fixes
* [elm] Improve support for allOf
* All of types are now nested;
* Adding a discriminator creates a custom type wrapping all variants
and a 'catch-all' fallback variant.
* [elm] Add support for recursive types
* [elm] Add catch-all type for allOf
* [elm] Drop support for post-processing of files
* [elm] Only import required packages
* [elm] Handle reserved and unsafe words
* [elm] Minor improvements
* [elm] Add support for integer enums
* [elm] Remove additional slash in path
* [elm] Add link to docs
* [elm] Update CI test file & scripts
[Rust Server] Hyper 0.12 Support
- Hyper upgraded to Hyper 0.12.
- NewService becomes MakeService
- Request on MakeContext is not parameterised - instead, ReqBody, and ResBody are parameterized, and must implement hyper::body::Payload.
- This means that our existing tuples (i.e. (Body, Context)) don't work - instead we have a type ContextualPayload, which implements Payload, and derefs to an inner payload (the body), and contains a context.
- This is handled by the work done in Metaswitch/swagger-rs#63 but has some fall out here as well.
- tokio-proto/tokio-core is no longer supported, and hyper instead depends on tokio.
- Hyper depends on mime 0.3, but multipart depends on mime 0.2, so we now import both
- Hyper TLS 0.2 and native-tls 0.1
- Use Swagger Support library 3.x
- Futures are now Send. This forces ApiImpl to be need to Send as a result, and all forces Clients to be Send + Sync.
- [ ] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [ ] If contributing template-only or documentation-only changes which will change sample output, [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) before.
- [ ] Run the shell script(s) under `./bin/` (or Windows batch scripts under`.\bin\windows`) to update Petstore samples related to your fix. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run `./bin/{LANG}-petstore.sh`, `./bin/openapi3/{LANG}-petstore.sh` if updating the code or mustache templates for a language (`{LANG}`) (e.g. php, ruby, python, etc).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `4.3.x`, `5.0.x`. Default: `master`.
- [ ] If contributing template-only or documentation-only changes which will change sample output, [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) beforehand.
- [ ] Run the shell script`./bin/generate-samples.sh`to update all Petstore samples related to your fix. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/config/java*`. For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`
- [ ] Copy the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) to review the pull request if your PR is targeting a particular programming language.
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -85,7 +85,7 @@ For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master
To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
To test the templates, please perform the following:
- Update the Petstore sample by running the shell scripts under `bin` and `bin/openapi3` folder. For example, run `./bin/python-petstore.sh` and `./bin/openapi3/python-petstore.sh` to update the Python PetStore API client under [`samples/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/python) and [`samples/openapi3/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/openapi3/client/petstore/python). For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Update the Petstore sample by running the shell scripts under `bin` folder. For example, run `./bin/generate-samples.sh ./bin/configs/python*` to update the Python PetStore samples under [`samples/`](https://github.com/openapitools/openapi-generator/tree/master/samples/). For Windows users, please install [Git BASH](https://gitforwindows.org/) in order to run the scripts.
- Run the tests in the sample folder using maven `mvn integration-test -rf :<artifactId>`, e.g. open a shell in `samples/client/petstore/python`, run `mvn integration-test -rf :PythonPetstoreClientTests`. The artifactId of the project can be found in the pom.xml file. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
| 5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/) | 13.05.2020 | Major release with breaking changes (no fallback) |
| [4.3.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.0) (latest stable release) | 27.03.2020 | Minor release (breaking changes with fallbacks) |
| 5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/) | 17.06.2020 | Major release with breaking changes (no fallback) |
@@ -604,6 +598,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [GoDaddy](https://godaddy.com)
- [Here](https://developer.here.com/)
- [IBM](https://www.ibm.com/)
- [Instana](https://www.instana.com)
- [JustStar](https://www.juststarinfo.com)
- [k6.io](https://k6.io/)
- [Klarna](https://www.klarna.com/)
@@ -644,6 +639,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [Vouchery.io](https://vouchery.io)
- [Xero](https://www.xero.com/)
- [Yahoo Japan](https://www.yahoo.co.jp/)
- [Vonage](https://vonage.com)
- [YITU Technology](https://www.yitutech.com/)
- [Yelp](https://www.yelp.com/)
- [Zalando](https://www.zalando.com)
@@ -751,6 +747,11 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2020-03-15 - [Load Testing Your API with Swagger/OpenAPI and k6](https://k6.io/blog/load-testing-your-api-with-swagger-openapi-and-k6)
- 2020-04-13 - [俺的【OAS】との向き合い方 (爆速でOpenAPIと友達になろう)](https://tech-blog.optim.co.jp/entry/2020/04/13/100000) in [OPTim Blog](https://tech-blog.optim.co.jp/)
- 2020-04-22 - [Introduction to OpenAPI Generator](https://nordicapis.com/introduction-to-openapi-generator/) by [Kristopher Sandoval](https://nordicapis.com/author/sandovaleffect/) in [Nordic APIs](https://nordicapis.com/)
- 2020-04-27 - [How we use Open API v3 specification to auto-generate API documentation, code-snippets and clients](https://medium.com/pdf-generator-api/how-we-use-open-api-v3-specification-to-auto-generate-api-documentation-code-snippets-and-clients-d127a3cea784) by [Tanel Tähepõld](https://medium.com/@tanel.tahepold)
- 2020-05-09 - [OpenAPIでお手軽にモックAPIサーバーを動かす](https://qiita.com/kasa_le/items/97ca6a8dd4605695c25c) by [Sachie Kamba](https://qiita.com/kasa_le)
- 2020-05-18 - [Spring Boot REST with OpenAPI 3](https://dev.to/alfonzjanfrithz/spring-boot-rest-with-openapi-3-59jm) by [Alfonz Jan Frithz](https://dev.to/alfonzjanfrithz)
- 2020-05-19 - [Dead Simple APIs with Open API](https://www.youtube.com/watch?v=sIaXmR6xRAw) by [Chris Tankersley](https://github.com/dragonmantank) at [Nexmo](https://developer.nexmo.com/)
- 2020-05-22 - [TypeScript REST API Client](https://dev.to/unhurried/typescript-rest-api-client-4in3) by ["unhurried"](https://dev.to/unhurried)
## [6 - About Us](#table-of-contents)
@@ -765,6 +766,7 @@ OpenAPI Generator core team members are contributors who have been making signif
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.