* [Golang] Move utility functions from client.mustache to utils.mustache
* re-generate Go samples
* re-generate Go samples again
* re-generate samples once more
* update go samples
---------
Co-authored-by: Martin Lakov <martin.lakov@ocado.com>
* avoid setting debug property if not needed
* update samples
* fix compatibility with python 3.7
* always set Configuration.__debug
* update samples
* check `Configuration` behavior when debug parameter is / is not set
* address PR requests
* [csharp] Don't apply json converter attribute for DateOnly (#18541)
Applying the OpenAPIDateConverter to an DateOnly property fails at runtime with an exception.
* [csharp] Update samples
Fixes#15077
The previous fix for this in #16096 is incomplete because it still
generates unnecessary inline models when readOnly or
nullable is used in conjunction with other properties like
description.
This commit fixes the logic error and adds testcases.
* [haskell-http-client] Support --name-mappings and handle _ name (#18943)
Fixes#18943
* [haskell-http-client] Add missing TypeOperators flag
-Wtype-equality-requires-operators:
The use of ‘~’ without TypeOperators
will become an error in a future GHC release.
* [android] Fix useAndroidMavenGradlePlugin type in template
* [android][volley] Use version variables in template
* [android][volley] Exclude httpclient
As it is incompatible with Android
* [android][volley] Resolve file conflict between httpcomponents modules
* [android] Update Gradle, the plugins, build tools
This fixes building with current Android Studio.
Android Gradle plugin version 8.0.0 was chosen for wider compatibility
with Android Studio versions (as far back as 2022.2.1).
The Maven plugin has been abandoned since the functionality is now
built in, and manual jar tasks are not necessary with it.
* [android] Regenerate samples
* Fix XML annotations on model properties (JavaSpring)
* generate JAXB annotations for attributes and elements
* generate wrapper annotations (JAXB and Jackson)
* use XML config from items for annotations of containers
* Add test for Jackson XML wrapper correctness
* Add additional test cases to cover all xml applications in spec
Test now covers all use cases described in
- https://web.archive.org/web/20240424203304/https://swagger.io/docs/specification/data-models/representing-xml/
- https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Fix basename used instead of xmlName when items.xmlName is unset
See last example in spec: https://spec.openapis.org/oas/v3.0.0#xml-arrays
* Harmonize spacing between Annotation attribute name and value
* Refactor and group JAXB vs. Jackson XML annotations, only generate latter if enabled
This is in line with the way the class annotations in `xmlAnnotations.mustache`
are rendered – which only renders the `@Jackson`… xml annotations if
additionalProperty jackson is true.
Also reorder annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Explicitly render `useWrapping = true` to @JacksonXmlElementWrapper
This was slightly inspired by @jzrebiec via PR #5371.
Wrapping is the default since Jackson 2.1 – so explicitly rendering
this will:
- make generated model work out-of-the-box in Jackson 2.0 for instance
- ensure the models still work if the local `XmlWrapper` was
configured with `useXmlWrapper(false)`
* Move xml test spec to java resources folder (not spring specific)
* Make test class name match class-under-test
This makes discovery & cross-navigation in IDE easier.
* Add complete xml annotations test for Java generators
* Fix Java PKMST generator not generating @JacksonXmlElementWrapper
* Fix Java microprofile generator missing @JacksonXmlRootElement
* Fix Java microprofile generator not using wrapper annotations and namespaces
* Fix Java Micronaut Client creating invalid (unclosed) @XmlAttribute annotations
* Fix Micronaut Client using wrong localName for @JacksonXmlElementWrapper
* Fix Micronaut client rendering @JacksonXmlProperty annotation twice
* Make Java Micronaut render @JacksonXmlElementWrapper(useWrapping=false) for non-wrapped elements
* Fix Jackson element using `xml.name` when it should be `items.xml.name`
Closes#5989Closes#3223
Relates to #9371
* Fix JAXB element using `baseName` instead of `xmlName` when items.xmlName is unset
* Remove XML generation debug output from templates
* Remove redundant newline between XML class annotations and class
Brings the SpringCodegen in line with other Java Codegen's
* Remove redundant newline between XML setter annotations and setter
* Fix multiline JavaDoc block indentation and format
* Simplify / condense xml annotation template into single lines
May look a bit more complex, but cuts out a lot of repetitiveness.
Also reorders annotation attributes in the following order:
- localName/name
- namespace (optional)
- isAttribute/useWrapping (optional)
* Harmonize spacing between Annotation attribute name and value
* Remove unused jackson_annotations partial
Was not referenced anywhere in java-helidon resources folder
---------
Co-authored-by: Christian Schuster <christian@dnup.de>
* improved apiclient.mustache to keep it dry, sharing a single exec with Action<> delegate.
* updated samples and test
* Removed async from ApiClient.mustache
Updated samples
* Revert change to CSharpClientDeepObjectTest.java
* Fix async await (it was not waiting creating a null exception)
Updated samples
* Fix File IO namespace with using directive
* Improved comments on new methods
Added new DRY method DeserializeRestResponseFromPolicy
* Fix comments and parameters for new method DeserializeRestResponseFromPolicy
Updated samples
* feat/typescript-angular/add-v17-support
* HTTP_TRANSFER_CACHE_IN_OPTIONS for angular 17 as well
* run build scripts again because of angular 17 HTTP_TRANSFER_CACHE_IN_OPTIONS
* Format Elixir generator
* Update Elixir reserved words
* Update Elixir generator docs
* Improve typespec generation to avoid double ".t" issues
* Fix compilation warnings by changing reserved words to use suffix instead of underscore prefix
* Include additional reserved words and handle words with leading underscores
* Update samples and docs
* Uses dataType instead of baseType for non-struct types
* Generate elixir samples
* Fixes issue with AnyType in a list
* Generate elixir samples
* Removes normalizeTypeName for arrays as they correct by getTypeDeclaration
* CodeStyle
---------
Co-authored-by: Michael Ramstein <michael@ramste.in>
* Replace magic string "UTF-8" with StandardCharsets.UTF_8
This avoids an UnsupportedEncodingException by design.
* Remove unused UnsupportedCharsetException import
* Adds basic support for query params.
* Need to parameterize them
* Need to add tests
* Need to add option to skip, maybe
* Need to add support for header params too
* Parameterizes query param values
* Need to add tests
* Need to add option to skip, maybe
* Need to add support for header params too
* Remove extra empty line
* Adds support for header params
* Also fixes extra end of line bug.
* Fixing failing test
* Adding tests for query params
* Adding tests for header params
* Adding basic support for env file
* Add support for env file for path variables and custom header variables
* TODO : Add tests
* Adding tests for env generation
* Adding generated test files
* Fix namefile
* Partially revert "replace deprecated ISO8601Utils with StdDateFormat (#17052)"
This partially reverts commit 76560e34c9aacd9d7593ac45bd204e2edf38abd9, namely anything
related to generators and samples using GSON instead of Jackson.
Changes to Jackson-only generation and generator-online regarding RFC3339DateFormat
are not being reverted.
* Test for default serialization library fallback
* Convert repetitive tests to parameterized test
* Add regression test for #18515
* [FEIGN] Only include <jackson-databind-version> property in pom.xml when required
* [RETROFIT2] Only include jackson-databind in gradle file when actually required
* [FEIGN] Don't include jackson dep's in sbt file when GSON is selected
* [FEIGN] Don't include jackson dep's in gradle file when GSON is selected
* DRY refactor JavaClientCodegen test code, increase readability
- use fluent assertions
- use helper method newTempFolder()
- use Java 9 static factory methods for maps
- don't declare variables that are only used once
- group declarations and usages
- use non-blocking java.nio.file API wherever possible
* Regenerate samples
* Fix the bug + add test case
* Add sample output
* Update version number in new sample output
---------
Co-authored-by: Gerwin Jansen <gerwinjansen@users.noreply.github.com>
* Drop separate version property
Not required as all Jackson packages usually tether on a version bump.
* Update Jackson to v2.17.1
* Sync Jackson version used by Spring Boot with project version
* Sync jackson update to v2.17.1 with generator templates
* Regenerate samples with updated versions
* Adjust test to current exception msg behavior
* Add dependency mgmt to ensure matching version for transitive dependencies
* Update library descriptions with correct Jackson version number
* Update library descriptions with correct GSON and JSONB versions
* Update retrofit library description with correct version number
* Update retrofit description to include Jackson as an option
This should have been done as part of in #16853.
* Update remaining libary version descriptions with correct versions
* Generate updated doc
* [cpp-restsdk] add support for oneOf via std::variant
* [cpp-restsdk] detect the latest supported C++ standard in CMake
* [cpp-restsdk] add test with oneOf support for cpprest
* [cpp-restsdk] avoid warnings because of implicit this capture
* [cpp-restsdk] avoid deprecated CMake version warnings
* [cpp-restsdk] build the test into the build directory - parallel build
* [cpprest-sdk] use absolute source path for cmake + debug build
* fix: remove inheritance due to template not overriding
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Mention that Golang generator also supports XML annotations
Looking at src/main/resources/go/model_simple.mustache and
src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java
the GoLang seems to cater for withXml=true
* Fix maven plugin config description for `withXml`
* Add basic test for global withXml setting
* Use global withXml setting if not configured in ConfigOptions
Resolves#3839 and #5764
* Don't generate metadata or other files when only Models are tested
* Reformat table for readability
* Remove global property `withXml` from generator and docs
* Move WITH_XML constant out of system constants block
Currently there is only a single reference to this value in the whole
codebase (GoClientOptionsProvider). Maybe we should re-think how this
file is organised (i.e. provide a clearer split / mapping / understanding
what are system properties vs. global properties vs. configOptions and
where to put them).
* Remove global option `withXml` from Maven plugin (Breaking change)
This is a "soft" breaking change: Plugin will no longer execute if
user have this option – which is good, b/c it never worked as expected.
We may want to hint this in the 8.0 release notes.
* Remove global property `withXml` from Gradle plugin (Breaking change)
This is a "soft" breaking change: Plugin will no longer execute if
user have this option – which is good, b/c it never worked as expected.
We may want to hint this in the 8.0 release notes, so they can add it
to the `configOptions` map if required, or simply delete it
* Update samples to reflect removed `withXml` property
* Move `withXml` option into ConfigOptions for Java Microprofile sample
* Remove unused local vars and parameters
* Avoid repetition using fluent assertions
* Remove extraneous debug output
* Even with .nil? typecheck, compiler still fails due to .empty? call on nillable type. This appears a poor implementation issue by crystal-lang, but this explicit try avoids the issue for now.
* Made call more succinct.