* Autosets the parameters with the only value specified as enum if the parameter is also marked as required
* Autosets the parameters with the only value specified as enum if the parameter is also marked as required
* Autosets the parameters with the only value specified as enum if the parameter is also marked as required for Java default client.
* Autosets the parameters with the only value specified as enum if the parameter is also marked as required for Java default client.
* Autosets the parameters with the only value specified as enum if the parameter is also marked as required for Java default client.
* Autosets the parameters with the only value specified as enum if the parameter is also marked as required for Java default client.
* spec for recommend test
* add ValidateTask test for custom defined tasks
* add ValidateTask test for recommend option
* ValidateTask recommend default value is true
* [Go] return errors that happen while unmarshalling objects
* Update model samples
* More updates to samples
* Update failing Go store API test to match the one that passes
* add nullable case to spring test spec
* generate samples for changed spring input
* add nullable case to general test spec
* generate samples for changed general input
* generate samples again
* generates samples again
* re-build from new sources, generates samples again
The added option removes the wrapper part of build.gradle, enabling the generated project to be used as a sub project. The same option from kotlin client was used as reference for this change.
This patch fixes two issues with the Resteasy generated client code.
The first is the usage of a deprecated method, getFormData. The fix for
this issue was originally conceived by @peter-seitz.
The second issue was a problem in how the Content-Disposition header was
being constructed. If we had a file named "test.txt" and were uploading
it to a field named "myFile", the Content-Disposition header should look
like
Content-Disposition: form-data; name="myFile"
Instead, the code was using the file's name (rather than the field name)
in the name directive and the header looked like
Content-Disposition: form-data; name="test.txt"
The Content-Disposition header can take an optional directive, filename,
but I have not included that here as that directive is mostly useful for
file downloads and not uploads.
Descriptions can easily exceed line-length limits because they are often
extracted from doc/comments strings, which may use unexpected formatting.
Python doc strings, in particular, are likely to use newlines, which mustache
does not preserve, causing descriptions to be condensed to a single line.
* [Ruby] Test correct escaping of pattern sequences
Ruby is not correctly escaping pattern sequences containing forward
slashes in their definition. This commit adds tests that verify the
correct behaviour of the code generator.
See issue #5582.
* [Ruby] Correctly escape patterns containing forward slashes
Ruby regexs are always generated as match patterns enclosed in slash
characters (i.e. using the `/pattern/` syntax). Regular expressions
defined in the OpenAPI declaration via the `pattern` attribute follow
[ECMA 262](https://262.ecma-international.org/5.1/#sec-15.10.1) which
means they already include the correct escaping of forward slashes as
far as Ruby is concerned.
The current Ruby codegen is incorrectly escaping all forward slashes,
which ultimately causes the generated code to include additional
incorrect escape sequences which cause the generated file to have an
invalid syntax.
This commit ports the same fix introduced in #1539 for the Python
codegen, as both Ruby and Python use perl-flavored regular expressions
so they behave in the same way when it comes to escaping forward
slashes.
Fixes#5582.
* started source generator
* copy the options
* fixed visibility
* added new sample
* discarded changes to existing samples
* discarded changes to existing samples
* build new sample
* changed package name due to file path length limit
* reverted changes to manual tests
* fixed all new manual tests
* inject contexts into api
* only one JsonConstructor
* fixed spacing
* revert samples for easier merge master
* revert unnecessary change
* fixed formatting
* build samples
* reverting unintended commit
* fixing default value
* reverting unintended commit
* move minor formatting changes to different pr
* php-nextgen first commit
* [php] Set minimal PHP version to ^8.0 (#14500)
* Set minimal PHP version to ^8.0
* Fix php-nextgen config
* Change stability to BETA
* Add phplint package (#15054)
* [php-nextgen] Rename folders to follow PDS skeleton (#15102)
* Change lib -> src, test -> tests folder
This will make build compliant to PHP-PDS skeleton.
Ref: https://github.com/php-pds/skeleton
* Refresh samples
* Exclude composer.lock from codebase (#15105)
Since client generator is library and not a project it makes sense
to exclude composer.lock from codebase by default.
Ref: http://getcomposer.org/doc/02-libraries.md#lock-file
* Add @generated tag to DocBlocks (#15106)
This tag in draft status right now(PSR-19), but I think we can leverage
from it already.
Ref: https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md#55-generated
* update samples, doc
* update samples
---------
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
* python: several typing and style improvements
The generated (python) code fails with several standard validation tools,
including `flake8`, `mypy`, and `autoflake`. While fixing every possible
violation -- especially wrto typing -- woudl be a project, some of the
changes are fairly easy.
- The `autoflake` tool picks up on unused imports. These can just be removed.
- The `mypy` tool picks up on numerious typing violations, especially if set
to its strictest mode. As a starting point, all functions ought to annotate
a return type, including constructors, even if the return type is `None`
because otherwise the functions are omitted from type checking and it's
impossible to make incremental progress towards adding types.
- The `flake8` tool mostly finds whitespace and line-length issues; while
line-length standards very, the source already includes several flake8
ignores, so it seems safe to add a few more.
* Add generated files
* Restore imports used by `AbstractPythonCodegen.java`
* Update generated files
* bug: python client generator didn't respect range response specification (e.g. "1XX", "2XX", etx.). Return values tended to become None as a result
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* fix cast exception when handling uuid example/default
* more cast exception fix
* better fix in example generator
* better code format
* better code format
* make Java imports overridable
* fix for other dateLibraries
* complete core fix
* adapt test - step 1/2
* add unit test
* adapt test - step 2/2
* remove accidentally added file
* final small clean-up
* fix: Using Map.Entry to avoid "reference to Entry is ambiguous"
when spec defines a model Entry it conflicts. Also rest of mustache
uses Map.Entry to matching it
* fix: Map.Entry - update samples
* regenerate tests in jersey2-java8 client
* update samples
* fix java google api client tests
* update java resteasy to use v3 spec for tests
* update java vertx to test with v3 spec
* update java resttemplate to test with v3 spec
* add new files
* regenerate jersey1 tests
* [ruby] Not symbolize header param keys to allow the usage of underscore ("_") character
* use lambda to convert header key to a string if underscore is included
* Fix and improvement of Ada server code generator
- add support for EWS (Embedded Web Server)
- fix GNAT project to avoid depending on util_http but instead use util_aws or util_curl
- update server skeleton generation to handle more data types for the response
- add more explanation on the generated server README
* Rebuild the Ada client GNAT project
* add mapping features to julia generators
* additional changes required for mapped names (#16383)
---------
Co-authored-by: Tanmay Mohapatra <tanmaykm@gmail.com>
* started source generator
* copy the options
* fixed visibility
* added new sample
* discarded changes to existing samples
* discarded changes to existing samples
* build new sample
* changed package name due to file path length limit
* reverted changes to manual tests
* fixed all new manual tests
* inject contexts into api
* only one JsonConstructor
* fixed spacing
* reverted samples changes
* reverted more unrelated changes
* reverted more unrelated changes
* minor refactors
* [typescript] add http info calls to access headers
* [typescript] add http info calls to access headers
* [typescript] add http info calls to access headers
* [typescript] add http info calls to access headers
* [typescript] add http info calls to access headers
---------
Co-authored-by: Robert Schuh <robert.schuh@valtech.com>
* adopt python3.5+ syntax
removing some residual python2 code, since it is not supported anymore, like:
- no need for `six` anymore
- no need for encoding utf8 in top file
- remove `object` inheritance in base model
- remove absolute import `__future__`
* generate samples
applying the new templates
* update python ignore pattern
ignore all the `.venv` folders
* JsonConverter.mustache - Obfuscate "propertyName" variable to rare name "__jsonPropertyName__" to avoid conflict with generated variables
obfuscate "propertyName" variable, fixes issue if #allVars contains a variable named "propertyName" conflicting with the declared variable
* prefix local variable with localVar
* remove eol
* minor fix
* update
---------
Co-authored-by: SDP190 <sprizant1@gmail.com>
* Update go-gin-server templates to return a configurable library
Before this change, the user would be required to make changes in the
generated code. This makes it really hard to update the API and the
documentation at the same time. With this change, the generated code can
be imported as is and used. The user just needs to set the handler
functions for each endpoint.
* Use spaces instead of tabs for api files
* Use space instead of tab for ApiHandleFunctions in go-gin-server
* Update samples for go-gin-server
* [Java][WebClient] support string list return type
* [Java][WebClient] add test
* [Java][WebClient] support string list return type
* [Java][WebClient] support string list return type
* fix webclient auto-generated test files
---------
Co-authored-by: Gavin.Wu <gavin.guohao.wu@kingland.com>
* Remove trailing underscore in security_controller_.py and base_model_.py
* Regenerating sample files
* Clean-up files with trailing underscore in samples
* Update security extension to use the new security_controller
* Regenerate unmaintained samples
* Fix Retrofit template with Jackson (Fix#8147)
This commit amends the `ApiClient` template for Retrofit. It fixes a bug where the Retrofit client uses Jackson as the serialization library.
Until now, the `ApiClient` could not be compiled when using the Jackson library (default in SpringBoot applications), as the constructor of the class had the following parameter:
`private val serializerBuilder: Builder = Serializer.Builder,`
The change done in the commit, is to ensure that in case of Jackson, the right property of the `Serializer` class is assigned
* Add sample code for `kotlin-jvm-jackson`
This commit adds a sample code for the `kotlin-jvm-jackson` generated code to test the changes on CI
* Update kotlin code samples for CI
This commit only runs the command `bin/generate-samples.sh bin/configs/kotlin-*` to ensure that all code samples are up-to-date and CI can pass successfully.
* feat(swift5): allow to swift build in linux
* chore(ci): add .github/workflows/samples-swift.yaml
* feat(swif5): bump Alamofire to 5.7.0
* chore(ci): run in macos all swift sample clients
HaskellServantCodegen and HaskellYesodServerCodegen modify
specialCharReplacements by replacing its keys: backslash ("\\") with
"\\\\" and "\"" with "\\\"".
It seems that those replacements were for using the keys in string
literals in the specialChars table in the generated code. However,
modifying the keys causes the substitution of those characters in
field names not to work, making generated code syntactically invalid.
Since the specialChars table has already been removed, we can safely
stop modifying the specialCharReplacements.
When creating an enum where a valid value is `String`, the override of toString() will be the wrong type.
Simply using `*kotlin*.String` will allow using `String` as a value in an enum.
* bugfix-15672 updated mavenplugin dependencies
* bugfix-15672 re-added maven-compat since needed by maven-plugin-testing-harness
* bugfix-15672 explicit dependency of plexus archiver in a new version due to CVEs in version included from maven-plugin-testing-harness (2.2)
---------
Co-authored-by: Kai Neuhaus <kneuhaus@communicode.de>
* Partitally reverts #15185
* Remove unused import
* Set zero value if param is empty
* Refactor samples, add test config
* Add tests
* Clean up
* Fix test
* [bug][kotlin] sanitize model names according to convention
* [bug][kotlin] revert to english word sanitization except minus
---------
Co-authored-by: Theo Meneau <tmeneau@clearcover.com>
* Add support for deep equality for complex types.
* Use version of collection used by the SDK.
* Use a const instead of final.
* Use deep equality only for arrays and maps.
* Generate pet store sources.
* Downgrade version of dependency.
* Expose `DeepCollectionEquality` instance.
* Revert last change.
* introduce useApachePekko flag into scala-akka-http-server
* useApachePekko flag in scala-akka-http-server templates
* introduce scala-pekko-http-server samples
* [haskell-servant][haskell-yesod] use table-based conversion for field name conversion
Current fieldLabelModifier implementation always produces uncapitalize
name, but it is inappropriate if the original JSON field name begins
with a capital letter.
* [haskell-servant][haskell-yesod] regenerate samples
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.3.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (7.0.1 - patch release), `7.1.x` (minor release - breaking changes with fallbacks), `8.0.x` (breaking changes without fallbacks)
- [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request.
| 7.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.0.0-SNAPSHOT/) | Jul/Aug 2023 | Major release with breaking changes (no fallback) |
| [6.6.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.6.0) (latest stable release) | 11.05.2023 | Minor release with breaking changes (with fallback) |
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.6.0/openapi-generator-cli-6.6.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.0.0/openapi-generator-cli-7.0.0.jar)
<!-- /RELEASE_VERSION -->
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -1139,7 +1140,7 @@ If you want to join the committee, please kindly apply by sending an email to te
(Not all generators support this feature yet. Please give it a try to confirm the behaviour and open an issue (ticket) to let us know which generators you would like to have this feature enabled and we'll prioritize accordingly.)
To map model names, use `modelNameMappings` option, e.g.
Not all generators support thess features yet. Please give it a try to confirm the behaviour and open an issue (ticket) to let us know which generators you would like to have this feature enabled and we'll prioritize accordingly. We also welcome PRs to add these features to generators. Related PRs for reference: #16209, #16234 (modelNameMappings), #16194, #16206 (nameMappings, parameterNameMappings).
NOTE: some generators use `baseName` (original name obtained direclty from OpenAPI spec, e.g. `shipping-date`) mustache tag in the templates so the mapping feature won't work.
@@ -49,6 +49,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useOneOfDiscriminatorLookup|Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped.| |false|
|useSourceGeneration|Use source generation where available (only `generichost` library supports this option).| |false|
|zeroBasedEnums|Enumerations with string values will start from 0 when true, 1 when false. If not set, enumerations with string values will start from 0 if the first value is 'unknown', case insensitive.| |null|
@@ -192,6 +193,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<li>string</li>
<li>struct</li>
<li>switch</li>
<li>system</li>
<li>this</li>
<li>throw</li>
<li>true</li>
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.