* Added a Julia client and server
This PR adds two new generators for the [Julia language](https://julialang.org/)
- `julia-client` to generate a client from specifications
- `julia-server` to generate a server with stubs that can be used to host a server conforming to the specifications
The generated code uses the Julia [OpenAPI.jl](https://github.com/JuliaComputing/OpenAPI.jl) package that includes support functions for both client and server.
* fix javadoc generation
* add changes after ensure-up-to-date run
* [REQ] Add equals and hashcode to java-cxf pojo #12519
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* [Java] Use abstraction for files for jaxrs-cxf #8792
* fix sample
* fix sample
---------
Co-authored-by: FWermelskirchen <fwermelskirchen@eitco.de>
* Fix#14276 Java Templates uses jakarta or javax package if useJakartaEe
is true
* generated samples after useJakartaEe changes
* generated docs after useJakartaEe changes
* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* added support for independent test-folder
* generate updated docs
* generate updated docs
* generate updated docs
* trigger a new CI builds
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Revert "Revert "Has generators set default template engine (#11245)" (#11316)"
This reverts commit 57987424a4eaa22d73337388489cd86d7f42a023.
* Only loads in the default template engine if the config file contains the generatorName
* Only sets templatingEngineName using condif default in one place
* Adds config files that lack generatorName
* Revert "Adds config files that lack generatorName"
This reverts commit 7dafc93c0f02c037d9be5d2c0a3ee7377c8b479d.
* Adds generator default templating engine to the generator metadata
* remove import mapping logic in model generation, better handle of file, list
* add new files for file, list
* fix some tests
* update tests, doc
* skip file as reserved word in feign client
* add new files
* remove file from reserved word list in spring generator
* Adds generatorLanguageVersion and uses it in python generators
* Regenerates docs
* Adds stability to generator docs
* Triple braces generatorLanguageVersion
* Regenerates samples
* Fixes the python-experimental setup.py file so it works with generatorLanguageVersion
* Updates generators readme
* Refactors generator md creation, adds generateMdMetadata
* Removes extra space
* Adds docs updates
* Fixes table definition for metadata
* Docs update
* Docs update
* Updates title, removes sidebar_label because it was not doing anything on pages like https://openapi-generator.tech/docs/generators/android
* Docs updated
* refactor: improve additionalModelTypeAnnotations generation
Split by ';' and/or newline
Trim value
fix: #7032
Run ./bin/generate-samples.sh to regenerate model files
Revert "Run ./bin/generate-samples.sh to regenerate model files"
This reverts commit da509c39f363da046fbd457e1ab67ef0f62f3561.
refector: remove unnecessary import
test: multiples tests for AdditionalModelTypeAnnotations
Add a getter to test the list
refactor: remove duplicate AdditionalModelTypeAnnotations
Without using Set to avoid any side effect somewhere, I use stream and
distinct to avoid duplicates
refactor: using Set instead of stream
Remove stream distinct for performance reason, use newHashSet
Keep AdditionalModelTypeAnnotations as List
doc: update info additionalModelTypeAnnotations
refactor: move doc in code for autogen
style: tab in java class
doc: run ensure-up-to-date
refactor: add imports lost in rebase
docs: regenerate docs
docs: update
* fix: docs
* Adds "useTags" option to all jaxrs code generators (AbstractJAXRSServerCodegen):
- jaxrs-jersey
- jaxrs-spec
- jaxrs-cxf-cdi
- jaxrs-resteasy
- jaxrs-cxf
- jaxrs-cxf-extended
- java-msf4j
- jaxrs-resteasy-eap
* jaxrs-spec
- Changed handling of root paths: e.g "/:", "/{id}:" to simplify code and create a more consistent behaviour
-- old: use tag for classname
-- new: use tag only if useTags is enabled, use "DefaultApi" if not
* @path class level annotation
- for all generators above and the microprofile generator (uses same jaxrs postprocessing)
- extended the "commonPath" to contain more than only the root path if possible
- e.g. "/group1/subgroup1/op1" -> "/group1/subgroup1" is moved to class level annotation
* Add option to prevent usage of jackson-nullable (#2901)
Add a option for all java client and server to prevent
usage of third party library (jackson-databind-nullable)
which may be forbidden in some company
Add samples for Vertx, Spring MVC, Spring Cloud, Feign and Play
Upgrade dependencies for org.openapitools:jackson-databind-nullable
* Samples - Remove dependency org.openapitools:jackson-databind-nullable (#2901)
* Fix generation of gradle file for vertx (#2901)
* Regenerate samples (#2901)
* Fix documentation and up to date (#2901)
* Fix forgotten regeneration of vertx after dependency integration (#2901)
* Regenerate template after rebase (#2901)
* Use yaml config files introduce in #6509 to manage samples (#2901)
* Regenerate template using the config (#2901)
* Fix bad version during testing generated samples (#2901)
* Regenerate template after fix bad version (#2901)
* Fix merge, allow for set importing on codegen model
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
* 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>
* [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>
* 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
* Updates CLI flag name to legacyDiscriminatorBehavior, default=true
Co-authored-by: William Cheng <wing328hk@gmail.com>
* 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
* [docs] Upgrade to Docusaurus 2
Due to formatting issues with Docusaurus 1 and code blocks, and upcoming
4.3 and 5.0 releases, this is an upgrade to have more control over
formatting and other functionality.
This adds behavior to have light/dark themes.
As a consequence of upgrading, columnar format on ul element in
generated generator docs had to be moved to css. This will not impact
users viewing the markdown on GitHub because it didn't display the
column format.
This upgrade should improve syntax highlighting and performance.
* Fix user page layout, choose theme with clear diff colors
* Flatten feature sets for display
* [cli] Add feature set output to config-help
This includes markdown and plain text outputs for config-help.
* [docs] FeatureSet on generator docs
* [config-help] Sort all outputs
* Remove old/stale generator docs (these have been renamed previously)
* Sort config doc outputs, making it easier to find relevant info
* Fixes cliOptions duplicates
Erlang client/proper improperly set the version option as packageName
(causing duplicate for packageName).
The java and swift option removals are because the options are added in
parent classes, resulting in duplication of the options.
* Add --github-nested-index for generating docs/generators/README.md
* 📝 Regenerate generator docs
* [docs] Updating docsite outputs to be browsable on Github as well
* Fix links to other files
Suffix `.md` was needed to make links works
* [docs] Add clarification to differences between customization and templating docs
* [docs] Collapsible side bar, scroll to top, minor enhancements
* [JAVA] fix artifactVersion is not taken from specification when not provided by generator option
* update jaxrs-spec samples
* update docs generator jaxrs
* [Java] improve docs with adding default value for additional properties
* remove using File.separator for sourceFolder/projectTestFolder path
* Improve artifactId and artifactVersion description
* update doc java pkmst and sample
* add option to generate alias as model
* [JAXRS/CXF] Emit method bodies, test data (#1158)
New jaxrs-cxf-extended generator with options:
- supportMultipleSpringServices Support generation of Spring services
from multiple specifications
- generateOperationBody (boolean) Enables generation of fully
functional test/service method bodies that pass/return random
but valid values & models.
- loadTestDataFromFile (boolean) When true, generated method bodies
load test data from a generated JSON file. When false, generated
method bodies contain inline code to construct the test data.
- testDataFile (string) The path of a JSON file to contain generated
test data. The file is initially generated but editable; edits are
preserved by subsequent generations.
- testDataControlFile (string) The path of a JSON file to control test
data generation - specifically, to control the number of items
required in array properties, structured by API class
/ operation name / parameter name. The file is initially generated
but editable; edits are preserved by subsequent generations.
- tests for the jaxrs-cxf-extended generator, including the new options
Bug fixes:
- fix bug (DefaultGenerator): handle absolute paths in supporting file
spec
- fix bug (DefaultCodegen): process enums in allVars
- fix bug (AbstractJavaCodegen): support multiple inheritance via
allOf (inheritance code deleted, as a subsequent pull broke it)
- fix bug (JavaCXFServerCodegen): use operationId instead of nickname
(gets out of step with duplicate operationIds)
- fix bug (JavaCXFServerCodegen): set appropriate default
consumes/produces for operations with body parameters or non-void
returns (CXF providers don't handle */*)
- fix indentation (DefaultCodegen)
- add support for a system property openapitools.implementation.version
to specify the package implementation version when running non-JAR'd
classes in an IDE (otherwise {{{generatorVersion}}} evaluates to
'unset'.
* reformat code
* make sh executable
* fix template folder
* fix template folder, update samples
* run test data manually to avoid ci failure