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.
* [kotlin-server][javalin6] Add Javalin 6 support
Javalin 5 support was added in 13edc5d. Javalin 6 has been released, with some breaking changes. Let's add a new supportedLibrary to not break existing users of Javalin 5.
https://javalin.io/migration-guide-javalin-5-to-6
* Fix Gradle config and don't include JVM 8 CI anymore (JVM 11 is the minimum for Javalin)
* Update docs
* Fix optional query parameter handling and turn into expected type
* Java generators: use codegen fields in mustable
* Java generators: use codegen fields in mustable
* Java generators: use codegen fields in mustable
* Use MUSTACHE_PARENT_CONTEXT in additionalProperties
* Fix link to mustache documentation
* [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
* Implement regression test for #12804
* Fix duplicate rendering of @Deprecated annotation on Builder methods
* Regenerate samples
* Sort entries so it's easier to parse if an entry already exists
* Add sample that uses generateBuilders=true to test build matrix
Serves as an additional regression check for #12804
* Add --no-transfer-progress to mvn build command to increase log legibility
* 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>
* Add enum support when building default values for model properties
* Update enum handling for Python for enum references
* Remove unused method
* Update mustaches for FastAPI, Pydantic, and Python for default values
* Address PR feedback and rebase main
* Remove old 2_0 samples
* Replace magic string "UTF-8" with StandardCharsets.UTF_8
This avoids an UnsupportedEncodingException by design.
* Remove unused UnsupportedCharsetException import
* Implement dedicated transitional test for #18831 bugfix
* Remove duplicated database migration file from supportingFiles collection
* Activate AllGeneratorsTest.noDuplicateSupportingFiles
* Drop transitional test again
* Simplify truthy assertions
* 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 76560e34c9, 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>
* Update springdoc-openapi-starter-* to v2.2.0 in gradle build
This brings it in sync with the maven pom. Brings swagger-annotations
version 2.2.15 as transitive dependency, implements the @Schema annotation
property `requiredMode`.
Hence fixes#14949
* Update kotlin-server samples
* 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>
Solving this issue has for goal to reduce the amount of work required to resolve the [[C++] Error making the cpprestsdk generated files](https://github.com/OpenAPITools/openapi-generator/issues/6726)
and to put the `cpp-pistache-server` generator a the "same compilation problems" level than the `cpp-restsdk` generator in font of the #6726.
* Fix kotlin-spring not building when `interfaceOnly=true`
Fixes#18803
* Regenerate fixed kotlin-spring samples
* Include sample kotlin-springboot-request-cookie in CI build check
* Apply suggestions from code review
Co-authored-by: Stefan Koppier <stefan.koppier@outlook.com>
---------
Co-authored-by: Stefan Koppier <stefan.koppier@outlook.com>
* Revert "Revert back to junit4 (#18786)"
This reverts commit 2471ba2d2e.
* Make junit engine execute TestNG test cases
* Fix failing test and use tempDir's for test code generation
* Make test fail with helpful info in case generator throws exception
* Suppress error output from TestUtils
* Remove transitive junit4 dependency
* Sync guava-testlib version with guava version
* Add hint regarding alternative for guava-testlib's FakeTicker