* 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
* 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