Compare commits

...

289 Commits

Author SHA1 Message Date
William Cheng
663ae41ad3 Merge branch 'patch-1' of https://github.com/aronkankel/openapi-generator into aronkankel-patch-1 2024-01-29 19:39:22 +08:00
Paul Horton
5055ebade9 fix: ensure models that have variables that contain a complexType of time.Time import the time module (#17452)
* fix: handle variables that have items that contain a complexType of `time.Time` properly

Signed-off-by: Paul Horton <phorton@sonatype.com>

* chore: trigger new CI runs

Signed-off-by: Paul Horton <phorton@sonatype.com>

* test: added test change an regenerated samples

Signed-off-by: Paul Horton <phorton@sonatype.com>

* resolved merge issues with upstream main

Signed-off-by: Paul Horton <phorton@sonatype.com>

* regenerated samples

Signed-off-by: Paul Horton <phorton@sonatype.com>

---------

Signed-off-by: Paul Horton <phorton@sonatype.com>
2024-01-28 11:36:05 +08:00
dmbakker
9952776e9c [java] fix Use jackson-jakarta-rs-json-provider when useJakartaEe is true (#17600)
* fix #17590 - use jackson-jakarta-rs-json-provider instead of jackson-jaxrs-json-provider in pom when useJakartaEe is true

* fix #17590 - fix indentation

* fix #17590 - updated samples

* fix #17590 - fixed groupid

---------

Co-authored-by: in376bak <dennis.bakker@duo.nl>
2024-01-28 00:38:18 +08:00
Tobias
8f441689f7 [JavaSpring] Add Javadoc to enum (x-enum-descriptions) (#14123)
refs #1693
2024-01-27 23:49:11 +08:00
Antoine Reilles
17473a035b make sure the imports are present for enum, if using jackson (#15123) 2024-01-27 23:29:18 +08:00
dabdirb
66a6af5ca4 add lombok model support on spring (#17622)
* add lombok model support on spring

* use regex to adapt annotation with parenthesis

* add ut case

* add samples

* add samples

* fix github workflow

* fix github workflow
2024-01-27 10:45:44 +08:00
Jesenko Mehmedbasic
a092bbd83b [BUG] [Java] Remove deprecation and serial warnings in ApiException.java and JSON.java (#17716)
* Add serialVersionUID to Java apiException.mustache templates

* Use 'enable()' and 'disable()' methods to handle object mapper features in JSON.mustache for the "native" Java generator instead of the deprecated 'configure()'

* Update samples
2024-01-27 10:42:27 +08:00
Jesenko Mehmedbasic
0a0428b89c Add JavaDoc to api and apiInterface templates for the JavaJaxRS spec generator (#17705)
* Add javadoc to api and apiInterface templates for JavaJaxRS/spec.

* Updated samples with javadoc change.
2024-01-27 10:40:37 +08:00
roseatromero
d152f4d995 [cpp-ue4] Fix generated code not compiling when using unique array items (#17684)
* Add CollectionToUrlString for TSet

Added a template for converting collection to url string parameters for associative container

* Add generated samples

* Add TSet template

* Fix iterator
2024-01-27 10:32:40 +08:00
dependabot[bot]
aa15ef9ab9 Bump eskatos/gradle-command-action from 2 to 3 (#17719)
Bumps [eskatos/gradle-command-action](https://github.com/eskatos/gradle-command-action) from 2 to 3.
- [Release notes](https://github.com/eskatos/gradle-command-action/releases)
- [Commits](https://github.com/eskatos/gradle-command-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: eskatos/gradle-command-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-27 10:02:40 +08:00
dependabot[bot]
ad73e115d9 Bump gradle/gradle-build-action from 2 to 3 (#17720)
Bumps [gradle/gradle-build-action](https://github.com/gradle/gradle-build-action) from 2 to 3.
- [Release notes](https://github.com/gradle/gradle-build-action/releases)
- [Commits](https://github.com/gradle/gradle-build-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: gradle/gradle-build-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-27 10:02:18 +08:00
Aron
ef94ee7a9f Merge pull request #1 from aronkankel/master
Fix for generated files
2024-01-26 16:50:45 +01:00
Aron
212dfb899b Merge branch 'OpenAPITools:master' into master 2024-01-26 16:44:17 +01:00
Aron
fe2ca3abb2 Merge branch 'OpenAPITools:master' into patch-1 2024-01-26 16:36:17 +01:00
Aron
9e1271fa83 FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:33:37 +01:00
Aron
159c86cafa FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:32:16 +01:00
Aron
0ab8c2c769 FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:30:50 +01:00
Aron
c6fbbfc2cb FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:29:16 +01:00
Aron
1bbd7c0f2f FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:27:30 +01:00
Aron
3aac4a8685 FakeApi.cs generated based on new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:25:58 +01:00
Aron
bb4b5034d3 MultipartApi.cs generated with new mustache
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-26 16:22:34 +01:00
Laith Hussein
a7439e456e feat(typescript-angular): add support for v17 of angular (#17685)
- Add support for `transferCache` property in request options

Refs: [#17301]

Co-authored-by: Laith Hussein <laith.hussein@beno.com>
2024-01-26 09:21:48 +01:00
William Cheng
96eb4a499a Add SSS Twitter to bronze sponsor (#17698)
* add SSS Twitter to the sponsor

* update url
2024-01-25 00:52:50 +08:00
Aron
592968e28e FormParameters correct handling for "isPrimitiveType"
https://github.com/OpenAPITools/openapi-generator/issues/17699
2024-01-24 17:51:19 +01:00
Tjeerd Verhagen
aaaf1e14c8 Fixes #17645 When interfaceOnly is true, RestApplication will be generated as well (#17646)
This class with the optional OpenAPIDefinition annotations is now generated always.
And no longer only when the interfaceOnly is set to false (default).
2024-01-24 21:37:10 +08:00
Jakub Szulc
45add92710 [RUST][CLIENT] Fix generated type not being converted to string (#17504) 2024-01-24 15:26:45 +08:00
William Cheng
f31164b569 Improvements on scala http4s server generator (#17693)
* improvements on scala https server generator

* trigger dockerfile build
2024-01-24 11:46:50 +08:00
William Cheng
6a8ca1018f fix missing import in ruby faraday test (#17692) 2024-01-24 11:02:53 +08:00
William Cheng
d0187ab359 Add tests for query parameters (array of integer/string) (#17686)
* add tests for query parameters in python client

* update other samples

* update samples
2024-01-24 10:20:18 +08:00
William Cheng
dccb147055 Fix allOf with a single item in inline model resolver (#17683)
* fix inline model resolver for allof with 1 item

* add files

* update sha

* more checks
2024-01-23 23:37:39 +08:00
atl3
4840b366bc Include support to Mojolicious relaxed placeholders (#17633) 2024-01-23 22:44:01 +08:00
William Cheng
90bd1f361b update samples 2024-01-23 16:52:00 +08:00
masudanaokinino
0357a1b1dd fix "parameters_to_url_query" throws an error (#17638) 2024-01-23 16:31:47 +08:00
Matt Pollock
1e17712f25 support binary response for R api client (#17626)
* support binary response for R api

* rework

* autogenerated samples
2024-01-23 16:28:37 +08:00
William Cheng
b2f622cd98 Fix map and free form object detection issue in 3.1 spec (#17624)
* fix map issue in 3.1 spec

* fix, add tests

* update samples

* update

* manully fix spec

* revert

* fix rust model
2024-01-23 12:06:38 +08:00
Yonatan Karp-Rudin
c2ec0bafdf Pass ObjectMapper to JacksonConverterFactory (#17673)
This commit fixes an issue where the object mapper is not passed to the JacksonConverterFactory. The issue causing the serialization to fail when passing to the ApiClient a pre-configured mapper object (e.g. the primary bean of SpringBoot).

With this fix, the bean would be correctly passed to the factory, and the serialization would work "out of the box" for the pre-configured bean.
2024-01-23 01:09:45 +08:00
Neeme Praks
74a3a8870d Fix typo in KotlinClientCodegen.java user-visible error message (#17674) 2024-01-22 23:40:37 +08:00
William Cheng
659e21a4bf Update perl tests (#17670)
* update perl tests

* add more tests
2024-01-22 17:59:49 +08:00
mHejlesen
256b27912b [Bash] Allow non-JSON request body payloads (#17641)
* Added option to mustache template that allows passing of non JSON request bodies

* Used linux terminal to run the generator scripts

---------

Co-authored-by: mHejlesen <mads.hejlesen@secata.com>
2024-01-22 16:41:20 +08:00
William Cheng
e6161cc044 Test perl petstore client in CircleCI (#17669)
* test perl client in circleci

* cpanm install

* install

* add bash

* bin bash

* update

* undo pom.xml change
2024-01-22 14:30:53 +08:00
William Cheng
df0e13f0c6 Remove outdated files in perl petstore cilents (#17668)
* remove outdated files in perl cilents

* update samples
2024-01-22 11:39:01 +08:00
Stefan Koppier
227c8602f7 [kotlin-client][jvm-spring-*] Fix runtime error in endpoints of type Unit (#17664)
* Fixed invalid extraction of response body in kotlin-client jvm-spring-*

* Generated echo-api for kotlin-jvm-spring-3-restclient

* Specific echo-api for Kotlin without allOf/anyOf

* Specific echo-api for Kotlin without allOf/anyOf

* Generated all samples

* Added kotlin-jvm-spring-3-restclient sample to workflow

* Fixed syntax problem
2024-01-22 10:57:40 +08:00
William E Little Jr
189bf7d6c5 feat(perl): Update agent to use version constant (#17665)
close #14297
2024-01-21 00:47:39 +08:00
Tjeerd Verhagen
3dcef8249b Fixes #17642 by adding info contact url to the generated OpenAPIDefinition annotation (#17644) 2024-01-20 22:47:40 +08:00
William Cheng
eb10b410e1 remove isAnyTypeSchema in default codegen (#17663) 2024-01-20 17:07:50 +08:00
William Cheng
e326d6aafc add auto-generated cpanfile in perl client (#17662) 2024-01-20 16:59:39 +08:00
William Cheng
27f766721a support x-internal in models and operations (#17639) 2024-01-20 15:20:25 +08:00
William Cheng
50ae17b197 add any type support in perl client gen (#17654) 2024-01-20 14:27:07 +08:00
William E Little Jr
5b6b082504 [Perl] Update _test.mustache templates to use done_testing (#17649)
* test(perl): Update test plan to use done_testing

close #14921

* fixup! test(perl): Update test plan to use done_testing

results of "./bin/generate-samples.sh ./bin/configs/perl.yaml"

* fixup! test(perl): Update test plan to use done_testing

regenerate samples

---------

Co-authored-by: William E Little Jr <13027375-bmodotdev@users.noreply.gitlab.com>
2024-01-20 14:25:45 +08:00
Vasiliy Ditsyak
3767110b1b [dart-dio] includeIfNull: truefalse bugfix (#17631)
Co-authored-by: Vasiliy Ditsyak <vasilich6107@users.noreply.github.com>
2024-01-20 14:19:21 +08:00
Sindre Møgster Braaten
3756c3b65d Support isResponseOptional in typescript-fetch generator #7720 (#17635) 2024-01-18 08:46:57 +01:00
William Cheng
d810d7c534 R echo client tests (#17629)
* add r echo api client sample

* add r workflow

* fix

* add env

* set r version

* install curl

* install dep

* fix

* comment out installation
2024-01-18 09:05:35 +08:00
dependabot[bot]
eab34c9b3f Bump actions/cache from 3 to 4 (#17636)
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 08:59:37 +08:00
Linh Tran Tuan
7e8b521069 [Rust] [Axum] Fix clippy warning (#17637) 2024-01-18 08:58:59 +08:00
Sindre Møgster Braaten
a730fe5048 Added missing copied properties from CodegenOperation in TypeScriptFetchClientCodegen and ErlangClientCodegen to resolve issue #15457 (#17627) 2024-01-17 23:34:15 +08:00
Rugal Bernstein
287e8fc69c Able to generate within parameter #17158 (#17623) 2024-01-16 21:48:46 +08:00
Chao Yang Wu
26ab9e7741 fix(typescript-axios): fix syntax error if a queryparameter called index exists (#17550) 2024-01-16 10:59:03 +01:00
Alexis Couvreur
092463a513 feat: add java-wiremock generator (#17614)
* feat: add `java-wiremock` generator

* remove text block usage for samples

this will allow more version of jav to be compatible with this

* fix extra parenthesis

* Add java-wiremock workflow
2024-01-16 11:40:13 +08:00
Robert Schweizer
a0418c2855 [python][client] Clean up samples and CI (#17509)
* chore: Remove leftover Github action file

This was probably added by mistake. A similar file is active in
.github/workflows/samples-python-pydantic-v1-petstore.yaml.

* chore: Remove leftover VERSION from old python-experimental sample

* ci: Stop running Python integration tests in Circle CI

These Python clients are all tested with Github Actions already, which
is faster, more cleanly separated and only runs on modifications.

I'm not cleaning up the pydantic-v1 client, I expect it to be removed soon anyway.

* chore: Remove true from sample folder name

python-disallowAdditionalPropertiesIfNotPresent-true
-> python-disallowAdditionalPropertiesIfNotPresent
2024-01-16 10:34:04 +08:00
Dennis Ameling
13edc5d494 kotlin-server: Add support for Javalin (#17596)
* kotlin-server: Add support for Javalin

* kotlin-server: Add Javalin generated sample code

* Add output from build scripts

* Address MR feedback

* Update CI to include new Javalin sample
2024-01-15 20:22:20 +08:00
William Cheng
36e4e4f316 add Carksberg Group to the user list (#17615) 2024-01-15 15:40:41 +08:00
Gonzalo Gomez
af71460c86 [Go-Server] Use ParseQuery For Parsing Query Parameters (#17585)
* Uses ParseQuery to check for malform paramater value pairs.
Runs ./mvnw clean package, ./bin/generate-samples.sh ./bin/configs/*.yaml, and ./bin/utils/export_docs_generators.sh.

* Adds missing import

* Only import url if hasQueryParams.

* Adds helper function to wrap url.ParseQuery.

* Fixes function return signature
2024-01-15 13:43:04 +08:00
William Cheng
6518932ccf add tests for oneOf object (go) 2024-01-15 12:06:56 +08:00
Ash Berlin-Taylor
90a7354c42 Fix Go generation of type: object inside anyOf (#17339)
Without this the generated code contains `{}` in the field name which is invalid.
2024-01-15 11:57:54 +08:00
William Cheng
33faa2960c update python flask samples 2024-01-15 09:18:32 +08:00
Matthias Tafelmeier
9391354b85 bug fix: breaking dependency of flask server gen (#17611)
Because the requirements file does not limit connexion version to below
3.0, with release of connexion 3.0 the openapi server startup sequence
runs into a module not found issue.

This contraint is preventing that.
2024-01-15 09:10:07 +08:00
William Cheng
64c763b87a [OAS 3.1] Fix null type check in normalizer (#17609)
* fix null type check in normalizer

* add back ref check

* add files
2024-01-14 00:49:35 +08:00
martin-mfg
51dbd32622 remove jersey1 templates (#17607) 2024-01-13 20:37:13 +08:00
Huan-Cheng Chang
8e9a17fe02 [Python] Handle nullable dictionary values (#17605)
* fix nullable elements in maps

* update examples

* exclude values typed as Any
2024-01-13 18:45:22 +08:00
Roi Shacham
406bc28a3d Fix parameters_to_url_query doesn't properly convert lists to string (#17592)
* fix parameters_to_url_query to properly handle lists

* fix query parameters bug in sample clients

* add tests for url query list value

* build project

* tests fix

* Revert "build project"

This reverts commit a486a6de75.
2024-01-13 11:36:01 +08:00
Alexis Couvreur
b01b182af6 fix: DefaultCodegen now generates an exemple for each status codes (#17603)
The DefaultCodegen now iterates through all api operations.

This allows to access different examples based on the response per status code and content type.
2024-01-13 11:33:36 +08:00
Huan-Cheng Chang
968c6dc418 [Python] Handle nullable list items (#17594)
* fix nullable elements

* update type info in docs

* update examples
2024-01-13 11:29:22 +08:00
William Cheng
c6efe8810d better npe handling when processing openapi 3.1 spec 2024-01-13 11:21:08 +08:00
William Cheng
75ef9e0b02 update java samples 2024-01-12 12:51:33 +08:00
Breus Blaauwendraad
e384201416 [JAVA] - fix BUG 14233 code gen support multiple accept headers, fallback is json/application (#15245) 2024-01-12 12:39:11 +08:00
William Cheng
62459f4a9a add copyright note to rust axum server codegen (#17598) 2024-01-12 10:37:43 +08:00
Linh Tran Tuan
6429711a58 [Rust] [Axum] Format ops-v3 sample (#17599) 2024-01-12 10:37:14 +08:00
William Cheng
987a52cf0f move rust axum configs to bin/configs/manual 2024-01-12 10:28:07 +08:00
Sergey Vladimirov
69e72203ae Fix flattenPath() in InlineModelResolver: use List instead of Map (#17579)
* Fix flattenPath() in InlineModelResolver: use List instead of Map

Fix for https://github.com/OpenAPITools/openapi-generator/issues/17578

* Update InlineModelResolver.java
2024-01-11 18:37:16 +08:00
Marc Weiß
76560e34c9 replace deprecated ISO8601Utils with StdDateFormat (#17052) 2024-01-11 18:24:52 +08:00
Linh Tran Tuan
be19c35c45 [Rust] [Axum] Deduplicate code from rust-axum generator (#17588)
* [Rust] [Axum] Deduplicate code from rust-axum generator

* Fix build
2024-01-11 16:48:28 +08:00
Jorge Rodríguez Martín
61c40474af [BUG][java][resttemplate] Fix NPE when query param with value null is exploded (#17568)
* Fix NPE when query param with value null is exploded

* Polish

* Add test

* Update tests

* Add integration test
2024-01-10 23:39:41 +08:00
Stefan Koppier
d0e533d573 [kotlin-client][jvm-spring-*] Fixed URL encoding (#17493)
* [kotlin-client][jvm-spring-*] do URL encoding via the UrlBuilder instead of manual replacement

* [kotlin-client][jvm-spring-*] Fixed imports

* ensure up-to-date

* Fixed syntax problem

* Removed unnecessary toString()
2024-01-10 15:24:29 +08:00
wrj97
cfe7dcc0cf feat: using Qt with 3rd Party Signals and Slots (#17067)
Replace signals,slots and emit with Q_SIGNALS,Q_SLOTS and Q_EMIT

Because these names will be used by a 3rd party library
2024-01-10 13:55:31 +08:00
Matthias Gabriel
e3c0a3e8b0 [BUG][Kotlin] Add default values to optional parameters for jvm-spring-webclient and jvm-spring-restclient (#17393)
* Add default values to optional parameters for jvm-spring-webclient

* Update samples

* Add default values to optional parameters for jvm-spring-restclient
2024-01-10 13:39:54 +08:00
William Cheng
9b7528d8c8 update samples, docs 2024-01-10 11:50:48 +08:00
mikkka
455add6d80 Implement scala http4s server generator (#17430)
* Implement scala http4s server generator

* Fix types and auth

* Add proper handling of various responses

* Fix configs

* Drop null values in json encoder

* Add sample files

---------

Co-authored-by: m.tkachev <m.tkachev@tinkoff.ru>
2024-01-10 11:40:31 +08:00
Anakael
11caad92df [CSharp] feat!: add useDateOnly flag (#17471)
* feat: DateOnly for client

* fix: generated doc for csharp

* doc: fix generators README for csharp

* add DateOnly option for aspnet

* refactor: update csharp docs

* refactor: fix typo

* finish

* finish

* finish

* regenerate

* rebuild and regenerate

* fix build error

* finish

* revert path

* regenerate

* remove exceed samples

* regenerate

* add DateOnly to nullable

* remove obsolete file from list

* update test files list

* remove obsolete sample build

* revert manual tests

* revert samples to master and regenerate

* remove new samples

* remove eol

* remove eol

* add new specs

* try fix test

* update tests

* update files

* remove eol

* revert

* remove eol

* regenerate

* add net6+ support to aspnetcore

* add jobs
2024-01-10 11:34:14 +08:00
Alexis Couvreur
9b62b9bb05 fix: ExampleGenerator correctly produces YYYY-MM-dd format for date with examples (#17495)
When an example was specified for a property with the `date` format, it's example would be generated to something like `2024-01-01T00:00:00.000+00:00` or `Sat Jan 30 01:00:00 CET 2021`.

It's because the resolved type for a Date example is a DateSchema, and a DateSchema uses `java.util.Date` to represents the Date. Which gets printed using .toString() not in the YYYY-MM-dd format.

Fixes #17494 #15342
2024-01-10 11:27:10 +08:00
Kernevez
e69c5269d5 Add tags on operation for template kotlin-spring (#17410)
* Add tags on kotlin-spring

* Fix review
2024-01-10 11:20:14 +08:00
William Cheng
7ddcb9a8cb update samples 2024-01-10 11:19:38 +08:00
Rugal Bernstein
1e0e8fe0eb Add ability to append ServerHttpRequest for kotlin-spring generator (#17158)
* Add ability to append ServerHttpRequest for kotlin-spring generator

* Add generated doc & sample
2024-01-10 11:11:23 +08:00
Alexis Couvreur
dd5c7e3b9a fix: ExampleGenerator correctly generates allOf composed schemas (#17499)
* fix: ExampleGenerator correctly generates allOf composed schemas

Changes the previous behavior of generating `null` examples for allOf composed schemas.

Fixes #17497

* fix: ExampleGenerator correctly generates anyOf and oneOf composed schemas

Changes the previous behavior of generating `null` examples for anyOf and oneOf composed schemas.

To generate a oneOf/anyOf example, we generate the example using the first valid schema available. In case of a $ref, we use the first valid reference.

Fixes #17497
2024-01-10 11:04:11 +08:00
Hansjörg Oppermann
8bab0ceb53 Generated methode ApiClient.parameterToPairs failed to handle empty collections #17460 (#17463)
* #17460 add missing empty collection check

* generate samples
2024-01-10 02:29:10 +08:00
Erik Booij
90f3b24edc fix(go-server): ensure original filename can be deduced from tmp file (#17416) 2024-01-10 02:00:44 +08:00
Linh Tran Tuan
425011a50c [Rust] [Axum] Remove redundant code in rust-axum generator (#17570) 2024-01-10 01:41:14 +08:00
Thomas Kläger
69a4a65bc7 fix spring generator dto annotations (#17054) 2024-01-09 16:47:10 +08:00
Jonathan Ballet
df7976c1a3 python: enable more mypy checks 1/n (#17556)
* python: more mypy checks

* mypy: check_untyped_defs

* mypy: disallow_subclassing_any

* mypy: disallow_untyped_decorators

* mypy: disallow_any_generics
2024-01-09 16:45:05 +08:00
dependabot[bot]
c041d7e12f Bump follow-redirects from 1.15.2 to 1.15.4 in /website (#17562)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 16:40:37 +08:00
Steven Sheehy
209344ba40 [java][native] Fix ObjectMapper deprecation warnings (#17558)
* Fix ObjectMapper deprecation warnings

Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>

* Fix missing JsonMapper import

Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>

---------

Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>
2024-01-09 16:37:59 +08:00
Linh Tran Tuan
9827098057 [Rust] [Server] New generator bases on Axum (#17549)
* Rust Server - Axum based (#5)

* Fix typo

* Address comment

* Address comment
2024-01-09 11:38:54 +08:00
William Cheng
210044eb8a fix description in allOf with single item (#17560) 2024-01-09 11:37:50 +08:00
William Cheng
f36659114b update runalloy logo and links (#17559) 2024-01-09 10:44:11 +08:00
Hui Yu
742c2c48e7 [C][Client] Update the API doc after some data types of parameters are changed from "int" to "int *" (#17540) 2024-01-06 19:04:36 +08:00
William Cheng
0d4c9fb2c3 update alloy automation logo 2024-01-06 15:43:42 +08:00
Jonathan Ballet
22a0fc1727 python: adjust basic typing information (#17511)
* python: adjust basic typing information

This is an initial pass to fix and adjust the typing information for the
generated client. This is enough to have mypy runnning without complains
on all the (modern) generated clients (Pydantic v1 code is not checked
for instance)

mypy is also now run directly in the CI, so further changes will also be
checked and thus, will need to be compliant with good typing
information.

Note that this doesn't *fully* type all the code: mypy is not run in
"strict" mode and there are still many functions/methods/attributes
which are still not fully typed, but it's a first good step in that
direction.

* ApiResponse's raw_data can't be None

* Fix indentation

* Revert test changes

* run mypy on tests/ directory

* don't forcefully convert the client response headers to dict

* override petstore ApiResponse model

* adjust type of 'any/one_of_schemas' fields
2024-01-06 15:40:42 +08:00
William Cheng
4acbd69c3d update samples 2024-01-06 15:29:09 +08:00
Sebastian Toepfer
cc946e3f61 fix typo in javadoc in RestTemplate/ApiClient (#17541) 2024-01-06 15:21:18 +08:00
William Cheng
ca260b2230 update ruby samples 2024-01-05 15:05:30 +08:00
Armand Mégrot
07a9257ee9 [Ruby][client] Handle enums (and other scalars) in oneOf and anyOf schemas (#17515)
* Handle enums in oneOf and anyOf schemas

* Update specs
2024-01-05 15:01:08 +08:00
William Cheng
5c571b0e1f add enum name mapping support to ruby generators (#17537) 2024-01-05 15:00:52 +08:00
William Cheng
c782526556 update samples 2024-01-05 14:28:13 +08:00
William Cheng
a0c2517e79 Add a link to new youtube tutorial (#17536)
* fix typo

* add link to youtube tutorial

* update julia doc
2024-01-05 12:02:36 +08:00
William Cheng
22d228b075 Add Alloy Automation as bronze sponsor (#17535)
* add Alloy Automation as bronze sponsor

* fix url
2024-01-05 11:53:20 +08:00
martin-mfg
64f2cad9e8 fix #17258 - use model class only if it is generated (#17490)
* fix  #16797 and #15796 spring child constructor missing parent params

* root cause and update the DefaultCodegen.java to add missing property when with multi inheritance

* rollback SpringCodegen.java

* update samples

* rollback with master cause #16992 fixed this issue too

* still using orignal design

* catchup master

* catchup master

* catchup master

* fix

* add tests

---------

Co-authored-by: dabdirb <dabdirb@gmail.com>
2024-01-05 10:30:28 +08:00
William Cheng
6317796cba Remove optional path parameter in C# generichost template (#17525)
* remove optional path parameter in C# generichost template

* update
2024-01-05 09:58:28 +08:00
Ilamparithi Natarajan
ddc7d4b1b5 [java][resttemplate] rethrow original exception when retry limits exceeded (#17488)
in rest template, when the retry limits exceeded
rethrow the original exception

also add 429 (Too many requests) status code to the
retry logic

fix #17478
2024-01-05 09:57:24 +08:00
William Cheng
23bd5d413c Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2024-01-05 09:56:51 +08:00
William Cheng
1b72140b46 update samples 2024-01-05 09:56:40 +08:00
Dan Booker
34c3f8c7aa [C][Client] Fix enum function names not matching headers in the model template (#17512)
- fixes #17510

Co-authored-by: Dan Booker <dan.booker@ncipher.com>
2024-01-05 09:49:04 +08:00
Antoine MARQUES
3d91fa8bd7 Update Configuration.mustache (#17529)
BUG: in getHostString : typo in variable usage : $hostsSettings instead of $hostSettings
2024-01-05 09:48:14 +08:00
Jonathan Ballet
063865973d python: simplify module imports (#17507)
In #16624, I introduced a new mechanism to record imports to other
modules, instead of having specialized datetime/typing/pydantic objects
to manage imports for these modules.

This change reuses the mechanism from #16624 and replace the specialized
import managers by the generic one. Unused imports from various
.mustache templates are also cleaned up.
2024-01-03 21:22:53 +08:00
cureaid
dffb5c121f Also escape '$' and '\' in normal Kotlin strings, … (#17434)
* also escape '$' and '\' in normal Kotlin strings, …

* rename `lambdaEscapeDoubleQuote` to `lambdaEscapeInNormalString`

* escape `$` and `\` in `@RequestMapping` annotation `value` property
2024-01-03 10:46:03 +08:00
Martin Delille
c56fc21517 [cpp-qt-client] Update minimum cmake version to 3.5 (#17480) 2024-01-03 10:22:46 +08:00
Martin Delille
cb84dffb2a [cpp-qt-client] Add cpp-qt-client technical committee to CODEOWNERS (#17481) 2024-01-03 10:22:09 +08:00
Aliaksei
48e9b9f408 [bugfix][jaxrs]: fix compile error for jaxrs samples (#17479) 2024-01-03 09:59:17 +08:00
William Cheng
218dccdb8b not throwing ex when ignore file exists (#17501) 2024-01-03 09:56:13 +08:00
Christopher Queen
8b5b5a74c3 Update README.md (#17483)
Added Christopher Queen Consulting to list of companies using the generator
2023-12-30 11:27:10 +08:00
Artur Neumann
a5d3fb4f60 fix rendering of stars in README (#17477) 2023-12-27 15:11:16 +08:00
Mobile Team @ AOK Systems
6eeecc1d18 Fix decoding OpenAPIDateWithoutTime (#17146)
* Fix decoding OpenAPIDateWithoutTime which in previous implementation only worked when used with CodableHelper, because it encoded to String, but tried to decode from Date afterwards

* update samples

* Update OpenAPIDateWithoutTime.mustache

* Update sample projects

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Bruno Coelho <4brunu@users.noreply.github.com>
Co-authored-by: Bruno Coelho <4brunu@gmail.com>
2023-12-26 17:56:39 +00:00
ken_tunc
1105759a6f [kotlin-client][jackson] Add support for unknown default enum value (#17404)
* [kotlin-client][jackson] Enable @JsonEnumDefaultValue

* Update samples
2023-12-26 16:36:44 +00:00
William Cheng
e20466bffe update readme to reference 7.2.0 2023-12-27 00:35:41 +08:00
Ghufran Zahidi
35b47e6382 Fixed the HttpSigning issue for ECDSA key supplied as string. (#17459)
Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2023-12-26 17:50:14 +08:00
Ghufran Zahidi
c252216700 [go]: Accept APIKey as string, byte array or stream using io.Reader interface (#17432)
* Added support for APIKey as string or bytes stream for golang sdk.

* updated the sample code

* Update modules/openapi-generator/src/main/resources/go/signing.mustache

Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>

* updated the sample code

---------

Co-authored-by: Aanisha Mishra <aanisha.mishra05@gmail.com>
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: Vikrant Balyan <vvb@users.noreply.github.com>
Co-authored-by: Sebastien Rosset <serosset@cisco.com>
2023-12-26 17:39:53 +08:00
William Cheng
c215bc681d better java resteasy echo api client tests (#17473) 2023-12-26 10:25:55 +08:00
fizzet
2d50655d8c [JaxRS] fix pojo equals (#17431)
* [JaxRS] fix Pojo equals

Fix equals for pojos that have the same name as one of their properties

* regen samples
2023-12-26 10:13:36 +08:00
Raphaël Ouazana
d0f659ec4d [#17465] Fix Kotlin templates to be compatible with Kotlin K2 compiler (#17466) 2023-12-26 10:09:28 +08:00
Alex Shani
a4f1a17502 Update README.md (#17468)
hideGenerationTimestamp flag should be =true instead of :true
2023-12-26 09:50:17 +08:00
Milad
8c014372aa [Java RESTEasy client] updating test to use the Java RESTEasy echo api client (#17367) (#17470)
* updating test to use the Java RESTEasy echo api client (#17367)

* regenerated samples

* set source and target to 1.8 to fix workflow failure, adapted parser
2023-12-26 09:32:51 +08:00
Noor Dawod
a67e07e132 Stop using internal variable from okhttp3 (#17458) 2023-12-22 11:07:08 +00:00
William Cheng
5eab3cef19 Prepare 7.3.0-SNAPSHOT (#17456)
* Revert "v7.2.0 release (#17455)"

This reverts commit fe638d0093.

* set version to 7.3.0-SNAPSHOT

* update doc
2023-12-22 16:55:58 +08:00
William Cheng
fe638d0093 v7.2.0 release (#17455) 2023-12-22 14:52:51 +08:00
Charles Treatman
da13013a27 [Go] fix validation of property names when a model has required fields and doesn't allow additional properties (#17267)
* update template for required field validation when additional properties are not allowed

* regenerate samples

* move bytes import from template to GoClientCodegen

* regenerate samples

* add test for model with required fields and additionalProperties: false
2023-12-22 12:35:52 +08:00
Gašper Kojek
63f09ee846 Update gradle enterprise setup (#17399)
* Set remote build cache to push only if authenticated

* Bumped Gradle enterprise extension to 1.20 and CCUD extension to 1.12.5

* Removed duplicated <storeEnabled> line from gradle-enterprise.xml

* Removed addressed comment
2023-12-22 11:07:43 +08:00
William Cheng
e127ba3d0c update readme 2023-12-22 11:06:09 +08:00
Mickael Magniez
38c33b92fe Add scala-pekko client generator (#17417)
* feat: add scala-pekko client generator

* feat: add scala-pekko client to CI
2023-12-22 10:58:27 +08:00
Beppe Catanese
986a9146d7 Remove tests replaces with Python sample testing (#17453) 2023-12-22 10:57:25 +08:00
Stormshield-robinc
0a7140224c Fix swift5 binary upload (#17422) 2023-12-21 22:27:47 +00:00
Nikita Shmakov
3099a2fcd3 webclient explode query parameters support (#17441) 2023-12-21 19:35:07 +08:00
Milad
106047980b [Java RESTEasy client] added filename directive for Java RESTEasy file uploads (#17367) (#17435)
* added filename directive for Java RESTEasy file uploads (#17367)

* regenerated samples
2023-12-21 19:34:30 +08:00
Ween Jiann
bf4c98a82a [go-server] Add ability to handle nullable query param (#17321)
* Update

* Regen
2023-12-21 19:13:05 +08:00
mya0
864c0db5e9 [typescript-axios] Fix Missing AxiosRequestConfig (#17450) 2023-12-21 10:58:05 +01:00
Beppe Catanese
a34eeaed77 [GO Gin Server] Webhooks support: add missing webhook handlers (#17411)
* Implement postProcessWebhooksWithModels

* Implement postProcessWebhooksWithModels

* Add missing webhook handlers

* Test webhook handler

* Generate samples
2023-12-21 16:10:09 +08:00
Emanuele Saccomandi
b20c8db281 [Zapier] Updated some dependencies (#17420)
* updated zapier dependencies

* updated zapier platform core to last version
2023-12-21 16:09:44 +08:00
William Cheng
6d9211a131 Update dependencies to newer versions (#17449)
* update dependencies to newer versions

* remove test
2023-12-21 16:09:18 +08:00
William Cheng
a62132ecd9 fix exception in request body with enum ref (#17438) 2023-12-21 15:22:28 +08:00
Beppe Catanese
b5cd4e9316 Add tests to verify generated Postman samples (#17444) 2023-12-21 15:22:03 +08:00
Drew Kimberly
457622c456 fix(typescript-*): nullable additionalProperty values (#17379)
* fix(typescript-*): nullable additionalProperty values

* chore(samples): update samples
2023-12-20 14:14:25 +01:00
William Cheng
aeb6fcbb8c update wording in exception message (python abstract) (#17437) 2023-12-20 16:45:54 +08:00
Benedikt Waldvogel
1ccabeec64 Add "cronn GmbH" to the list of companies using the openapi-generator (#17436) 2023-12-20 14:29:48 +08:00
Anton Ignatov
aacea3477f Generalized mime type support (#17285)
* implemented generalized content-type handling

* regenerated samples

* addressed implementation review feedback

* added tests for proposed improvements
2023-12-19 13:23:36 +01:00
William Cheng
dc047b4e91 fix missing array description in 3.1 spec (#17427) 2023-12-19 11:35:46 +08:00
William Cheng
473c3508ff to fix loop for allof with single element in normalizer (#17426) 2023-12-19 11:31:25 +08:00
Yonatan Karp-Rudin
5435b44e40 Fix missing convertor for jackson in retrofit (#17418)
* Add missing Jackson converter for Retrofit

This commit adds the missing configuration for a ApiClient so all Jackson serializations will start to work correctly.

* Add sample project code for Retrofit Jackson
2023-12-19 10:29:50 +08:00
Jan Sandberg
efe2f8703d Use modelNameMappings in ruby client (#17408)
The modelNameMappings were introduced with PRs #16209, #16234 and are
now also used in the ruby client generator.
2023-12-18 10:59:39 +08:00
Beppe Catanese
58345a9a80 [POSTMAN] Add Samples GitHub workflow (#17412)
* Add Python tests

* Add workflow to verify Postman samples

* Correct path
2023-12-18 10:52:59 +08:00
William Cheng
809d7151c6 remove auto-generated ruby tests (#17402) 2023-12-15 14:47:15 +08:00
dabdirb
e63563a8fc fix #16889 replace deprecated response code function (#17405) 2023-12-15 13:41:14 +08:00
William Cheng
367301de22 deref parameter in normalizer for 3.1 spec (#17406) 2023-12-15 12:18:07 +08:00
renaud-twd
a9179e95dd fix: java apache httpclient should support UTF-8 by default (#17395)
* fix(java): apache-httpclient serialization error

fixes following related issue:
https://github.com/OpenAPITools/openapi-generator/issues/12797

* docs(java): update samples and docs
2023-12-15 09:01:10 +08:00
Beppe Catanese
0062d1c8da Do not escape request name (#17394) 2023-12-15 09:00:32 +08:00
dependabot[bot]
bc2443ecb0 Bump actions/download-artifact from 3 to 4 (#17400)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-15 08:59:24 +08:00
dependabot[bot]
c49701b804 Bump actions/upload-artifact from 3 to 4 (#17401)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-15 08:59:09 +08:00
Ween Jiann
b7f31ddda4 Regenerate (#17389) 2023-12-13 22:17:15 +08:00
William Cheng
56e2c49e07 update doc 2023-12-13 16:13:31 +08:00
William Cheng
734b922381 [scala-akka-client] Scala Akka client does not support arbitrary query string parameters (#17386)
* Add check for input if is Map type

* Update Pet samples

* Add PetApi support for filter by Pet property

* Clean up

* update samples

* remove manual test

---------

Co-authored-by: ameenhaq <ameenhaq79@gmail.com>
2023-12-13 16:03:48 +08:00
Tiffany Marrel
42f72192ca add security feature AWSV4Signature to documentation (#15603) 2023-12-13 15:07:18 +08:00
hhomar
28b2c75ac8 Fix issue with URI type in the enum (#17126)
* fix(java): fix URI inner enum for gson

* fix(java): fix URI enum for gson

* fix(java): fix URI enum for microprofile

* fix(java): fix URI import for native enum

* fix(java): add tests for URI enum
2023-12-13 14:19:51 +08:00
rubiniselvaraj
4c4388e3c8 Fix for handling error in resttemplate (#17381)
* Fix with handling error

* Fix with handling error
2023-12-13 12:56:02 +08:00
William Cheng
64c85a8fee Fix NPE in codegen security (#17378)
* fix npe in codegen security

* add new test file
2023-12-12 22:33:20 +08:00
Hui Yu
2a27fd51a7 [C][Client] Use int* as int or bool type function parameter (#17179) 2023-12-12 22:11:13 +08:00
rubiniselvaraj
a792a79059 Implementing retry logic to restTemplate (#17375)
* Implementing retry logic to restTemplate

* Fixing the issue

* Adding import

* Fix

* Fix

* minor update, add tests

* fix

* Adding the maxRetryAttempt, threadWaitTime as additionalProperty

* Updating the apiClient

* Removing reduntant variable

* Generating samples

* Fixing format

---------

Co-authored-by: Rubini <rubini@Rubinis-MacBook-Air.local>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-12-12 22:01:36 +08:00
Aliaksei
809b3331a9 [4947][java]: adds support for validation of primitives in arrays (#17165)
* [4947][java]: adds support for validation of primitives in arrays

* [4947][java]: prevents generation '@Valid' for Object

* [4947][java]: test against different codegens and stick to primitive

* [4947][java]: code review

* [4947][java]: enhance getBeanValidation

* [4947][java]: adds email

* [4947][java]: removes unnecessary override

* [4947][java]: adds postProcessResponseWithProperty

* [4947][java]: adds missing import {{javaxPackage}}.validation.Valid

* [4947][java]: adds missing useBeanValidation

* [4947][java]: fix use rootJavaEEPackage for helidon
2023-12-11 20:55:38 +08:00
William Cheng
d4d5196907 Better handling of any type in v3.1 spec (#17370)
* fix NPE in the example generator

* fix any type in 3.1 spec

* use log error instead
2023-12-11 17:13:55 +08:00
William Cheng
62399b1897 add a test for SecretStr in the python client (#17364) 2023-12-11 13:18:36 +08:00
Maciej Lewiński
51c8be3f8c [csharp][generichost] Handle obsolete params and methods (#17344)
* [csharp][generichost] Handle obsolete params and methods

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-12-11 13:17:26 +08:00
Stefan Koppier
7f05c1f41d [kotlin-client] New generator: kotlin-jvm-spring-restclient (#17366)
* Created kotlin jvm spring restclient

* Fixed kotlin jvm-spring-restclient

* Fixed earlier problems

* Fixed earlier problems

* Updated kotlin.md
2023-12-11 12:49:36 +08:00
Beppe Catanese
9eb5882f94 OpenAPI 3.1.0 Add webhooks support (#17174)
* Add support for webhooks

* Test webhook generation with Go Gin server

* Generate samples

* Removing \t

* Remove tabs
2023-12-11 11:21:23 +08:00
Csaba Kozák
8bb9a10b9f [kotlin-client][multiplatform] use shortcut to access jsMain as well (#17358) 2023-12-10 15:15:40 +08:00
TAKAHiRO TOMiNAGA
004c7e8c8d [Style][Go] standardize the format of mustache (tiny change) (#17363)
* fix: change indent style to tab in the mustache to generate Go code

* docs: standardize the language names for code blocks

* docs: change indent style to tab in the code blocks

* update: regenerate samples

* `./bin/generate-samples.sh ./bin/configs/*.yaml`
2023-12-10 10:13:49 +08:00
William Cheng
10da7a3c5a [Ruby] add file download tests (#17362)
* add new ruby echo api clients

* add tests for ruby faraday file download

* add file download test to ruby Typhoeus

* add ruby workflow, add tests for ruby httpx

* update

* fix
2023-12-09 22:05:27 +08:00
William Cheng
dd36fa09f8 update logbak core to newer version (#17360) 2023-12-09 21:59:50 +08:00
William Cheng
5daa145d25 check boolean value returned by createFile (#17359) 2023-12-09 21:58:53 +08:00
Tomohiko Ozawa
a21e68182a enable scopes for all security scheme types (#17083) 2023-12-09 21:58:01 +08:00
Daniel
583184888f Ruby Client for Faraday: fix file downloading (#17333)
* Ruby Client for Faraday: fix file downloading

In MR #16876, a bug was introduced that causes file downloading to fail
for the Faraday adapter.

This commit fixes the obvious missing parameter for the method
call to download_file() and the missing variable `request` for saving the
response value of the call to build_request().

Signed-off-by: Daniel Schnell <dschnell@grammatek.com>

* Add automatically generated changes.

---------

Signed-off-by: Daniel Schnell <dschnell@grammatek.com>
2023-12-09 10:49:00 +08:00
Omar Osman
351f764746 Fix broken link to csharp-netcore generator (#17322)
* Fix broken link to csharp-netcore generator

The example source URL of the csharp-netcore generator pointed to the master version of the repo, but the generator has been renamed or removed and the URL is broken. I updated the link to the latest pre 5.0.0 version, since the text talks about pre 5.0.0 version of the openapi generator.

* Update link to point to csharp generator
2023-12-08 22:16:44 +08:00
Erik Booij
95af601586 fix: go-server unresolved function NewstringFromValue for enums (#17316)
* fix: go-server unresolved function NewstringFromValue for enums

* fix: go-server change isRef to isEnumRef in controller-api template
2023-12-08 22:07:59 +08:00
Dennis Melzer
e37decff7b Add Java Optional for POJOs in JavaSpring templates (#17202)
* Add optional parameter for request body

* Adapt Test

* Add test

* Format code

* Remove extra method

* Add optional for pojos

* Add optional for pojos

* Add bean validation for Optional

* Add default values + test

* Rename test
2023-12-08 21:46:13 +08:00
Vladislav Bauer
62462354ca [csharp] Support 420 HTTP code (#17207)
* [csharp] Support 420 HTTP code

* [csharp] Support 420 HTTP code

* [csharp] Support 420 HTTP code

* [csharp] Support 420 HTTP code

* [csharp] Support 420 HTTP code
2023-12-08 21:35:03 +08:00
Gintautas Miselis
c159abfdad [typescript-axios] Allow enum attribute to be nullable (#17265)
Fixes #17264
2023-12-08 13:27:33 +01:00
mymx2
e37cf901a8 fix(typescript-axios): use baseURL of (custom) axios instance (#17296)
Co-authored-by: ddd <ddd>
2023-12-08 13:27:08 +01:00
Leonid Olevskii
3762277206 Use .Content of for accessing response body in powershell (#17342) 2023-12-07 22:50:33 +08:00
dependabot[bot]
1b2917d69f Bump actions/setup-python from 4 to 5 (#17338)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 11:28:14 +08:00
dependabot[bot]
f593adff18 Bump actions/setup-go from 4 to 5 (#17337)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 11:28:01 +08:00
William Cheng
2c9fbf81a7 add enum name mapping to ada codegen (#17299) 2023-12-06 17:50:03 +08:00
Robert Schweizer
6a43a371f1 fix: Configure python urllib3 connection pool size (#17323)
This was removed in #16802, but using a higher value than 1,
or at least making this configurable makes complete sense.

Without this, we get a lot of these log messages:

[ WARNING] Connection pool is full, discarding connection:
2023-12-06 15:49:10 +08:00
William Cheng
6230248716 update php samples 2023-12-06 14:56:53 +08:00
Viktor Szépe
33149569a3 Fix PHP constructor docblock (#17324) 2023-12-06 14:51:52 +08:00
devhl-labs
0ab9f74cfb use keyParamName (#17328) 2023-12-06 14:49:55 +08:00
Viktor Szépe
39d5b4ebf9 Replace stray TAB characters with spaces (#17311)
* Replace stray TAB characters with spaces

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-12-05 18:01:25 +08:00
William Cheng
391df3b81c update samples 2023-12-05 15:36:33 +08:00
Viktor Szépe
889c6fe7a1 Fix non-four indents in PHP templates (#17309) 2023-12-05 15:27:43 +08:00
Viktor Szépe
0ee662b515 Fix parameter names in Configuration (#17305) 2023-12-05 15:26:52 +08:00
dependabot[bot]
d9b795171a Bump actions/setup-dotnet from 3.2.0 to 4.0.0 (#17312)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v3.2.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-05 15:25:54 +08:00
Beppe Catanese
e8e7a210c3 Skip escaping path parameter description (#17304) 2023-12-05 15:21:18 +08:00
William Cheng
cdb020d044 add enum name mapping option to swift generators (#17297) 2023-12-05 15:06:31 +08:00
William Cheng
bbd0ce38be add enum mapping option to dart generators (#17298) 2023-12-04 12:32:36 +08:00
William Cheng
ac45e3ddab add enum name mapping feature to the rust generators (#17290) 2023-12-04 10:53:11 +08:00
William Cheng
b19bc59c6a add enum name mapping feature to go generators (#17289) 2023-12-04 10:52:58 +08:00
devhl-labs
2967b33ab6 [csharp][generichost] Added enum for api key names (#17295)
* added enum

* added enum
2023-12-04 10:44:12 +08:00
Martin Delille
95340d5264 [cpp-qt-client] pass QString by const reference instead of by value (#16793)
* [cpp-qt-client] pass QString by const reference instead of by value

* Add another signal instead of changing its signature

* Bump qt version

* Fix CODEOWNERS

* Try to fix workflow

* use v3

* Remove openssl from windows build

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-12-03 18:14:22 +08:00
Beppe Catanese
62faa53373 [POSTMAN] Include header description (#17292)
* Include header description

* Generate samples
2023-12-03 08:06:09 +08:00
Beppe Catanese
6657b2c5c2 [POSTMAN] Query parameter description (#17291)
* Include query parameter description

* Generate samples
2023-12-03 08:05:44 +08:00
YusukeOba
64e5266556 [kotlin-client] Fixed an issue where compilation fails when an enum of type integer is used as a query parameter (#17178) 2023-12-02 18:54:34 +08:00
Beppe Catanese
ac78f1e85b [POSTMAN] Enabling required query parameters (#17281)
* Enable required query parameters

* Generate samples
2023-12-02 17:41:05 +08:00
William Cheng
f834519aeb move config file to unmaintained to avoid samples outdated errors 2023-12-01 11:29:09 +08:00
SAIA-Basseldonk
8911740924 [BUGFIX][Rust] Array with unique enum items no longer causes mismatched types error (#17197)
* check args to fn new for uniqueItems

* Added model with unique items for template testing

* build the project and update samples

* Removed testcase from fake petstore spec
2023-11-30 22:08:37 +08:00
William Cheng
f033b11408 Update JAX-RS client samples (#17262)
* update jaxrs client samples

* move configs
2023-11-30 21:39:42 +08:00
Dennis Melzer
939ffdd73c Add bean validation for primitive container type 17450 (#17157)
* Add optional parameter for request body

* Adapt Test

* Add test

* Format code

* Remove extra method

* Format code
2023-11-30 20:28:45 +08:00
William Cheng
4c4d0e485a [java] Update logback to newer versions (#17259)
* update logback to newer versions

* update
2023-11-30 18:51:46 +08:00
Beppe Catanese
4a1db3f1e6 [JAVA] Jersey3 deprecate class attribute (#17223)
* Deprecate attribute

* Generate samples
2023-11-30 13:50:30 +08:00
dependabot[bot]
77127ecf65 Bump actions/setup-java from 3 to 4 (#17252)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 13:50:10 +08:00
Beppe Catanese
a8ac32238b [BUG] OpenAPI normalizer ignoring common parameters (#17236)
* Normalize common and operation parameters

* Test normalize schema v3.1
2023-11-30 10:31:31 +08:00
Beppe Catanese
fd58539fe9 [JAVA] Jersey3 deprecated field only deprecates getter method (#17221)
* Deprecate build and setter methods

* Generate samples
2023-11-29 21:54:17 +08:00
William Cheng
9184560597 remove unused CI files (#17217) 2023-11-29 18:05:46 +08:00
William Cheng
46dd87525e Add tests for max,min items in array (rust-server) (#17215)
* add tests for max,min items in array (rust server)

* fix both min, max items
2023-11-29 16:21:54 +08:00
Vance Shipley
14c12fc617 include {min|max}Items validation in rust-server models (#17201) 2023-11-29 15:06:59 +08:00
devhl-labs
fb429f7e94 [csharp][generichost] Do not assume api keys are interchangeable (#17185)
* allow multiple auth methods of same type

* allow multiple auth methods of same type

* allow multiple headers to have api keys

* removed commneted code

* fixed all but standard

* fixed standard
2023-11-28 10:54:34 +08:00
Xiangxuan Qu
8669646d99 fix: chsarp get file name from content disposition (#17183)
* fix: chsarp get file name from content disposition

* update samples

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-11-27 20:32:41 +08:00
William Cheng
e2a8118c86 add enum name mapping support to php generators (#17195) 2023-11-27 20:26:28 +08:00
William Cheng
ac687657ba add enum name mapping feature to C# generators (#17194) 2023-11-27 20:26:12 +08:00
William Cheng
a117dd55f1 add enum name mapping feature to kotlin generators (#17193) 2023-11-27 20:25:15 +08:00
devhl-labs
4f82071502 [csharp][generichost] Honor the Set-Cookie header (#17186)
* allow multiple auth methods of same type

* allow multiple auth methods of same type

* allow multiple headers to have api keys

* remove changes for another pr

* resolved conflicts, build samples

* fixed a casing issue

* fixed casing issue
2023-11-27 11:01:05 +08:00
Csaba Kozák
9fa3aec2e0 [kotlin-client][multiplatform] update dependency versions (#17180) 2023-11-26 21:58:22 +08:00
devhl-labs
3fa21b5603 do not inherit additional properties (#17140) 2023-11-26 21:49:00 +08:00
devhl-labs
ad95d551ed [csharp][generichost] Allow multiple auth methods of same type (#17129)
* allow multiple auth methods of same type

* allow multiple auth methods of same type
2023-11-26 21:46:48 +08:00
devhl-labs
8bea7f7377 handled nullable inner enums better (#17128) 2023-11-26 21:45:25 +08:00
William Cheng
4c6dbfe7d6 fix build errors in jdk 11 (#17177) 2023-11-24 17:40:13 +08:00
dependabot[bot]
7c551e65dd Bump s4u/setup-maven-action from 1.10.0 to 1.11.0 (#17175)
Bumps [s4u/setup-maven-action](https://github.com/s4u/setup-maven-action) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/s4u/setup-maven-action/releases)
- [Commits](https://github.com/s4u/setup-maven-action/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: s4u/setup-maven-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-24 12:54:35 +08:00
William Cheng
0d2a01611c update samples 2023-11-23 11:46:06 +08:00
William Cheng
0dbc108d62 Add openapiGeneratorIgnoreList option to pre-populate .openapi-generator-ignore (#17164)
* add openapiGeneratorIgnoreList option to pre-populate .openapi-generator-ignore

* minor fix

* better code format

* add tests
2023-11-23 11:10:29 +08:00
William Cheng
a93bab077f Add openapi-normalizer rule to set tags to operationId (#17161)
* add normalizer rule to set tags to operationId

* update
2023-11-23 11:09:09 +08:00
William Cheng
aaed846f5f Update Dockerfile (cli, online) to use eclipse-temurin:17.0.3_7-jre-focal (#17139)
* add tests for openapi-generator-cli dockerfile

* trigger workflow

* add cp

* restore

* use eclipse-temurin:17.0.3_7-jre-focal

* update dockerfile

* update image to newer version
2023-11-23 11:08:31 +08:00
Rick Dutour Geerling
917d671d2c Fix typescript-fetch to support nullable enum properties (#17153) 2023-11-22 18:44:08 +00:00
Csaba Kozák
3f033c0974 [kotlin-client][multiplatform] fix iosSimulatorArm64 source sets (#17167) 2023-11-22 17:57:51 +00:00
Csaba Kozák
ab0b44a1c4 [kotlin-client] add support for kotlinx-datetime (#17166)
Closes #14490
2023-11-22 17:52:37 +00:00
William Cheng
7bf9534034 update option description (java client) 2023-11-21 12:29:43 +08:00
Vignesh
87b86c78dc feat: Support useSingleRequestParameter feature for java microprofile client generation (#17072) 2023-11-21 11:56:11 +08:00
Makoto Suzuki
baaf759440 [python-fastapi]Add an alias keyword parameter for Query parameter (#17111)
* add alias to endpoint_definition

* regenerate source code
2023-11-21 11:34:43 +08:00
Pat Buxton
9970c06f8c Adds basic retries to rest API requests for Python asyncio (#17014)
* Adds basic retries to API requests

 * This mimics the basic retries performed by urllib3 in the sync version

* update samples

* Only use retry client if number of retries is specified in the config

* Reorganize

* Remove class attribute

* close retry_client

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2023-11-21 10:42:34 +08:00
Max-Julian Pogner
489d369ee7 README: update url for maven-wrapper (#17142)
According to information posted at the old url https://github.com/takari/maven-wrapper (most recent commit 2b2c15adc38acfcf17533f5d7aff220ba87256ba as of this writing),
the new official project url of maven wrapper now is https://maven.apache.org/wrapper/
2023-11-20 11:29:43 +08:00
William Cheng
0401c46147 Fix missing objects when defining inline anyOf, or oneOf (#17141)
* better handling of composed schema in inline model resolver

* better handling of example
2023-11-20 10:24:57 +08:00
William Cheng
6d93b0ec83 Fix handling of composed schema in inline model resolver (#17138)
* fix handling of composed schema in inline model resolver

* update samples
2023-11-19 23:24:49 +08:00
William Cheng
8e36014ae6 update samples 2023-11-19 17:36:25 +08:00
William Cheng
97704841c5 Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator 2023-11-19 17:31:36 +08:00
Barak Amar
63c8d0e071 python docs templates minor fixes (#17133) 2023-11-19 17:29:59 +08:00
William Cheng
186fde250b [spring-cloud] add http basic test (#17135)
* update samples

* add tests for spring cloud http basic

* fix path

* update samples
2023-11-19 16:07:28 +08:00
William Cheng
bf6145506d update samples 2023-11-19 15:26:38 +08:00
Vedant Chokshi
4fd5603075 Fix JavaSpring clientConfiguration's ConditionalOnProperty import (#17027) 2023-11-19 15:22:04 +08:00
greenbourne277
685d9445c2 [Kotlin] fix: match tags of closing brackets with opening ones (#12976) (#17117)
Trying to generate Kotlin code for CookieAuth will result in a malformed
ApiClient.kt for function updateAuthParams. The code block has a closing
bracket too much.

Co-authored-by: Christian Bay <christian.bay@posteo.net>
2023-11-19 14:44:31 +08:00
Robert Schweizer
75ff110449 [python] Some cleanup of samples folder (#17127)
* Delete sample folders of discontinued clients

* Remove duplicate python-flask server sample

The python-flask sample actually lives in samples/server/petstore/python-flask.

* Move hand-written test to "tests" folder

Now, "test" only contains generated stubs and all hand-written tests are in "tests".

* Delete left-over files in Python samples

These are not created by the generators (anymore) and not hand-written
for testing.

* Regenerate test file to fix import error
2023-11-19 14:43:34 +08:00
William Cheng
1da970b3b1 fix comparison using equals (#17132) 2023-11-19 14:41:39 +08:00
Xiangxuan Qu
a577db895c fix[csharp]: The Deserialize should use the ClientUtils to handle the headers. (#16604) 2023-11-18 14:41:17 +08:00
William Cheng
8258cde110 [jmeter] Fix exception when operationId has $ (#17125)
* fix exception when operationId has $ in jmeter

* add tests
2023-11-18 14:38:19 +08:00
Tomohiko Ozawa
4bedeef643 [Java][apache-httpclient][feign][okhttp-gson] Enable access token refresh (#17086)
* add setter of bearer token supplier

* run generate-samples.sh

* add test of bearer auth
2023-11-18 12:46:18 +08:00
Petar Karadzhov
dc4c72c85c [BUG] [dart-dio] Support for Analyzer configuration options changes in Dart 3 (#17099) 2023-11-18 12:46:03 +08:00
Csaba Kozák
3e5049565d [kotlin-client][multiplatform] add iosSimulatorArm64 target (#17058) 2023-11-18 10:47:23 +08:00
Robert Schweizer
5e7f2f274c fix: Annotate free-form object as dict in Python (#17082) 2023-11-18 10:46:01 +08:00
Artur Neumann
0098d56a6a [PHP-NG] allow 'object' type in serializer (#17118) 2023-11-18 10:41:36 +08:00
William Cheng
eabd9401bf fix rust client test (#17124) 2023-11-18 10:37:54 +08:00
Markus Lenger
1ce95ff41e Map type date to correct rust type NaiveDate (#17095)
* Fix clippy errors (rustc 1.73.0)

* Add feature docker-in-docker

* Fix mapping of "date"

See issue #9769

The type
  type: string
  format: date
was mapped to DateTime<Utc> which violates the OpenAPI spec

see https://swagger.io/docs/specification/data-models/data-types/
2023-11-18 10:33:45 +08:00
Artur Neumann
5c69284928 [PHP-NG] convert data to string before giving it to preg_match (#17119) 2023-11-18 10:17:34 +08:00
Artur Neumann
3552935a5b [PHP-NG] don't nullify mixed types (#17116) 2023-11-18 10:15:14 +08:00
Aurélien Joga
1f5b590d5a Python-server workflow fixes + pytest (#17060)
* Fix referenced path for tests

* Explicit dependencies

Flask 2.3 has breaking changes

* Marks all async tests with pytest.mark.asyncio

Otherwise they are skipped by pytest and coverage is zero

* Fix path for pytest

On suggestion from https://github.com/OpenAPITools/openapi-generator/pull/17060#discussion_r1392666369
2023-11-18 10:10:10 +08:00
Emanuele Saccomandi
a2c1b02840 added required fields to zapier models generation (#17115) 2023-11-18 10:09:17 +08:00
Artur Neumann
f81d44bb29 [PHP-NG] check if json_decode was able to decode response (#17120) 2023-11-18 10:08:32 +08:00
William Cheng
195f27de1f update rest-assured dep to newer versions (#17107) 2023-11-17 10:35:54 +08:00
William Cheng
07620cebe2 update webclient dep to newer version, add tests (#17106) 2023-11-17 10:34:22 +08:00
William Cheng
dcccd06a9a Revert "Use JDK17 images in Dockerfile (#17076)" (#17104)
This reverts commit bae20c1887.
2023-11-16 23:35:11 +08:00
6214 changed files with 197239 additions and 41180 deletions

View File

@@ -192,20 +192,6 @@ jobs:
- checkout
- command_build_and_test:
nodeNo: "3"
node4:
machine:
image: ubuntu-2004:202201-02
working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
DOCKER_GENERATOR_IMAGE_NAME: openapitools/openapi-generator
DOCKER_CODEGEN_CLI_IMAGE_NAME: openapitools/openapi-generator-cli
steps:
- checkout
- command_build_and_test:
nodeNo: "4"
workflows:
version: 2
build:
@@ -214,4 +200,3 @@ workflows:
- node1
- node2
- node3
- node4

View File

@@ -9,7 +9,12 @@
"ghcr.io/devcontainers/features/node:1": {
"version": "lts"
},
"ghcr.io/snebjorn/devcontainer-feature/chromium:latest": {}
"ghcr.io/snebjorn/devcontainer-feature/chromium:latest": {},
"docker-in-docker": {
"version": "latest",
"moby": true,
"dockerDashComposeVersion": "v1"
}
},
// Configure tool-specific properties.
"customizations": {
@@ -44,4 +49,4 @@
// "postCreateCommand": "mvn clean package -DskipTests",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}
}

16
.github/CODEOWNERS vendored
View File

@@ -28,8 +28,14 @@ modules/openapi-generator-cli/**/* @jimschubert
modules/openapi-generator-gradle-plugin/**/* @jimschubert
modules/openapi-generator-maven-plugin/**/* @jimschubert
# Martin Delille
/Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java @martindelille
/Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java @martindelille
/Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/resources/cpp-qt-client @martindelille
/Users/martin/dev/clone/openapi-generator/samples/client/petstore/cpp-qt @martindelille
# cpp-qt-client technical committee
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @ravinikam
samples/client/petstore/cpp-qt/**/* @ravinikam
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @stkrwork
samples/client/petstore/cpp-qt/**/* @stkrwork
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @etherealjoy
samples/client/petstore/cpp-qt/**/* @etherealjoy
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @martindelille
samples/client/petstore/cpp-qt/**/* @martindelille
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @muttleyxd
samples/client/petstore/cpp-qt/**/* @muttleyxd

View File

@@ -9,6 +9,8 @@ on:
- pom.xml
- modules/openapi-generator-online/pom.xml
- modules/openapi-generator-online/Dockerfile
- modules/openapi-generator-cli/pom.xml
- modules/openapi-generator-cli/Dockerfile
pull_request:
paths:
- Dockerfile
@@ -16,6 +18,8 @@ on:
- pom.xml
- modules/openapi-generator-online/pom.xml
- modules/openapi-generator-online/Dockerfile
- modules/openapi-generator-cli/pom.xml
- modules/openapi-generator-cli/Dockerfile
jobs:
build:
name: 'Build: Docker'
@@ -38,3 +42,12 @@ jobs:
shell: bash
run: |
docker build modules/openapi-generator-online/ -t test
- name: Build and test modules/openapi-generator-cli
shell: bash
run: |
cp docker-entrypoint.sh ./modules/openapi-generator-cli
docker build modules/openapi-generator-cli/ -t cli-test
docker run --rm -v "${PWD}:/local" cli-test generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go \
-o /local/out/go

View File

@@ -15,12 +15,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-maven-repository
with:

View File

@@ -31,20 +31,20 @@ jobs:
- samples/client/petstore/java/webclient-swagger2
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
# Cache Gradle Dependencies
- name: Setup Gradle Dependencies Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
# Cache Gradle Wrapper
- name: Setup Gradle Wrapper Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}

View File

@@ -23,19 +23,19 @@ jobs:
uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', 'modules/**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: |
~/.gradle/caches
@@ -45,7 +45,7 @@ jobs:
${{ runner.os }}-gradle-
- name: Setup Maven
uses: s4u/setup-maven-action@v1.10.0
uses: s4u/setup-maven-action@v1.11.0
with:
java-version: ${{ matrix.java }}
maven-version: 3.8.8
@@ -57,7 +57,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: Upload Maven build artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: matrix.java == '11' && matrix.os == 'ubuntu-latest'
with:
name: artifact
@@ -87,12 +87,12 @@ jobs:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Maven
uses: s4u/setup-maven-action@v1.10.0
uses: s4u/setup-maven-action@v1.11.0
with:
java-version: 11
maven-version: 3.8.8
- name: Download build artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: artifact
- name: Run Ensures Script

View File

@@ -15,12 +15,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-maven-repository
with:

View File

@@ -17,12 +17,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-maven-repository
with:
@@ -41,7 +41,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- run: ls -la modules/openapi-generator-cli/target
- name: Upload openapi-generator-cli.jar artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar
@@ -55,12 +55,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-maven-repository
with:
@@ -79,7 +79,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: Publish unit test reports
if: ${{ always() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: surefire-test-results
path: '**/surefire-reports/TEST-*.xml'
@@ -92,12 +92,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target
@@ -131,12 +131,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target

View File

@@ -18,18 +18,16 @@ jobs:
matrix:
qt-version:
- '5.15.2'
- '6.4.2'
- '6.5.3'
os:
- ubuntu-latest
- macOS-latest
- windows-latest
include:
- os: windows-latest
tools: 'tools_openssl_x64'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: jurplel/install-qt-action@v4
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: ${{ matrix.qt-version }}
tools: ${{ matrix.tools }}

View File

@@ -18,13 +18,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
cache: maven
- name: Cache test dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: pub-cache
with:

View File

@@ -19,7 +19,7 @@ jobs:
- samples/client/petstore/csharp/OpenAPIClient-generichost-netstandard2.0
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3.2.0
- uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: 3.1.*
- name: Build

View File

@@ -4,6 +4,7 @@ on:
push:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/**net7.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
@@ -12,6 +13,7 @@ on:
pull_request:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/**net7.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
@@ -35,6 +37,8 @@ jobs:
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-oneOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-anyOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests
- samples/client/petstore/csharp/OpenAPIClient-generichost-net7.0-useDateTimeForDate
- samples/client/petstore/csharp/OpenAPIClient-net7.0-useDateTimeForDate
- samples/server/petstore/aspnetcore-6.0
- samples/server/petstore/aspnetcore-6.0-pocoModels
- samples/server/petstore/aspnetcore-6.0-project4Models
@@ -43,7 +47,7 @@ jobs:
- samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3.2.0
- uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: '8.0.x'
- name: Build

View File

@@ -19,7 +19,7 @@ jobs:
- samples/client/echo_api/csharp-restsharp/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3.2.0
- uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: '6.0.x'
- name: Run echo server

View File

@@ -73,7 +73,7 @@ jobs:
- samples/client/petstore/csharp-restsharp-name-parameter-mappings
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3.2.0
- uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: '6.0.x'
- name: Build

View File

@@ -30,7 +30,7 @@ jobs:
- samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3.2.0
- uses: actions/setup-dotnet@v4.0.0
with:
dotnet-version: '6.0.x'
- name: Build

View File

@@ -17,7 +17,7 @@ jobs:
- samples/client/echo_api/go
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "stable"
- name: Setup node.js

View File

@@ -25,7 +25,7 @@ jobs:
- samples/server/petstore/go-chi-server/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "stable"
- run: go version

View File

@@ -22,12 +22,12 @@ jobs:
- samples/client/petstore/groovy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
@@ -35,7 +35,7 @@ jobs:
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v2
uses: eskatos/gradle-command-action@v3
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}

View File

@@ -20,14 +20,15 @@ jobs:
- samples/client/echo_api/java/native
- samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -7,12 +7,13 @@ on:
- samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/**
- samples/client/echo_api/java/resttemplate/**
- samples/client/echo_api/java/resteasy/**
pull_request:
paths:
- samples/client/echo_api/java/apache-httpclient/**
- samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/**
- samples/client/echo_api/java/resttemplate/**
- samples/client/echo_api/java/resteasy/**
jobs:
build:
name: Build Java Client JDK8
@@ -26,14 +27,15 @@ jobs:
- samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/okhttp-gson
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -56,6 +56,7 @@ jobs:
- samples/client/petstore/java/microprofile-rest-client-3.0
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-with-xml
- samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
- samples/client/petstore/java/apache-httpclient
- samples/client/petstore/java/feign
- samples/client/petstore/java/okhttp-gson-awsv4signature
@@ -72,12 +73,12 @@ jobs:
- samples/client/others/java/webclient-useAbstractionForFiles/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -22,12 +22,12 @@ jobs:
- samples/client/petstore/java/webclient-jakarta
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -24,12 +24,12 @@ jobs:
version: [17]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -30,12 +30,12 @@ jobs:
- samples/server/petstore/java-play-framework-no-wrap-calls
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -33,12 +33,12 @@ jobs:
#- samples/server/petstore/java-undertow/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -0,0 +1,35 @@
name: Samples Java Wiremock
on:
push:
paths:
- samples/server/petstore/java-wiremock/**
pull_request:
paths:
- samples/server/petstore/java-wiremock/**
jobs:
build:
name: Build Java Wiremock
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/java-wiremock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@@ -19,12 +19,12 @@ jobs:
- samples/server/petstore/jaxrs/jersey3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -39,12 +39,12 @@ jobs:
- samples/server/petstore/jaxrs-spec-microprofile-openapi-annotations
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -8,6 +8,7 @@ on:
- samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/**
- samples/client/petstore/java/webclient-jakarta/**
# servers
- samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-helidon-server/mp/**
@@ -20,6 +21,7 @@ on:
- samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/**
- samples/client/petstore/java/webclient-jakarta/**
# servers
- samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-helidon-server/mp/**
@@ -38,6 +40,7 @@ jobs:
- samples/client/petstore/java-helidon-client/se
- samples/client/petstore/spring-http-interface-reactive
- samples/client/petstore/spring-http-interface
- samples/client/petstore/java/webclient-jakarta
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/java-helidon-server/mp
@@ -46,12 +49,12 @@ jobs:
- samples/client/petstore/spring-http-interface
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -31,14 +31,17 @@ jobs:
- samples/client/petstore/kotlin-jvm-volley
- samples/client/petstore/kotlin-moshi-codegen
- samples/client/petstore/kotlin-multiplatform
- samples/client/petstore/kotlin-multiplatform-kotlinx-datetime
- samples/client/petstore/kotlin-nonpublic
- samples/client/petstore/kotlin-nullable
- samples/client/petstore/kotlin-okhttp3
- samples/client/petstore/kotlin-retrofit2
- samples/client/petstore/kotlin-retrofit2-kotlinx_serialization
- samples/client/petstore/kotlin-retrofit2-jackson
- samples/client/petstore/kotlin-retrofit2-rx3
- samples/client/petstore/kotlin-string
- samples/client/petstore/kotlin-threetenbp
- samples/client/petstore/kotlin-kotlinx-datetime
- samples/client/petstore/kotlin-uppercase-enum
- samples/client/petstore/kotlin-default-values-jvm-okhttp3
- samples/client/petstore/kotlin-default-values-jvm-okhttp4
@@ -61,17 +64,19 @@ jobs:
- samples/client/petstore/kotlin-jvm-vertx-moshi
- samples/client/petstore/kotlin-jvm-spring-2-webclient
- samples/client/petstore/kotlin-jvm-spring-3-webclient
- samples/client/petstore/kotlin-jvm-spring-3-restclient
- samples/client/echo_api/kotlin-jvm-spring-3-restclient
- samples/client/petstore/kotlin-spring-cloud
- samples/client/petstore/kotlin-name-parameter-mappings
- samples/client/others/kotlin-jvm-okhttp-parameter-tests
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
@@ -79,7 +84,7 @@ jobs:
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v2
uses: eskatos/gradle-command-action@v3
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}

View File

@@ -4,11 +4,13 @@ on:
push:
branches:
- 'samples/server/petstore/kotlin-springboot-3*/**'
- 'samples/server/petstore/kotlin-server/javalin/**'
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/**
pull_request:
paths:
- 'samples/server/petstore/kotlin-springboot-3*/**'
- 'samples/server/petstore/kotlin-server/javalin/**'
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/**
@@ -25,16 +27,18 @@ jobs:
sample:
# server
- samples/server/petstore/kotlin-springboot-3
- samples/server/petstore/kotlin-springboot-request
- samples/server/petstore/kotlin-server/javalin
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
@@ -42,7 +46,7 @@ jobs:
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v2
uses: eskatos/gradle-command-action@v3
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}

View File

@@ -37,6 +37,7 @@ jobs:
- samples/server/petstore/kotlin-server/jaxrs-spec
- samples/server/petstore/kotlin-server/jaxrs-spec-mutiny
- samples/server/petstore/kotlin-server-modelMutable
- samples/server/petstore/kotlin-server/javalin
- samples/server/others/kotlin-server/jaxrs-spec
# comment out due to gradle build failure
#- samples/server/petstore/kotlin-spring-default
@@ -44,12 +45,12 @@ jobs:
#- samples/server/petstore/kotlin-vertx-modelMutable
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
@@ -57,7 +58,7 @@ jobs:
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v2
uses: eskatos/gradle-command-action@v3
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}

32
.github/workflows/samples-postman.yaml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Samples Postman
on:
pull_request:
paths:
- samples/schema/postman-collection/python/**
- .github/workflows/samples-postman.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# schema
- samples/schema/postman-collection
python-version:
- "3.11"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r python/requirements.txt
pip install -r python/test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest

View File

@@ -15,7 +15,7 @@ jobs:
sample:
# clients
- samples/client/echo_api/python
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent-true
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent
python-version:
- "3.7"
- "3.8"
@@ -24,7 +24,7 @@ jobs:
- "3.11"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup node.js
@@ -42,3 +42,7 @@ jobs:
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest
- name: mypy
working-directory: ${{ matrix.sample }}
run: python -m mypy

View File

@@ -33,13 +33,13 @@ jobs:
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
id: py
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}-
path: |
@@ -57,3 +57,7 @@ jobs:
- name: Test
working-directory: ${{ matrix.sample }}
run: poetry run pytest -v
- name: mypy
working-directory: ${{ matrix.sample }}
run: poetry run mypy

View File

@@ -24,7 +24,7 @@ jobs:
- "3.11"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup node.js

View File

@@ -33,13 +33,13 @@ jobs:
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
id: py
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}-
path: |

View File

@@ -3,10 +3,10 @@ name: Python Server
on:
push:
paths:
- samples/server/petstore/python-aiohttp/**
- samples/server/petstore/python-aiohttp-srclayout/**
pull_request:
paths:
- samples/server/petstore/python-aiohttp/**
- samples/server/petstore/python-aiohttp-srclayout/**
jobs:
build:
name: Test Python server
@@ -16,10 +16,10 @@ jobs:
matrix:
sample:
# servers
- samples/server/petstore/python-aiohttp/
- samples/server/petstore/python-aiohttp-srclayout/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.7'
- name: Test

42
.github/workflows/samples-r.yaml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Samples R
on:
push:
paths:
- 'samples/client/echo_api/r/**'
pull_request:
paths:
- 'samples/client/echo_api/r/**'
jobs:
build:
name: Build R
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/echo_api/r/'
steps:
- uses: actions/checkout@v4
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- uses: r-lib/actions/setup-r@v2
with:
r-version: 3.6.1
- uses: r-lib/actions/setup-r-dependencies@v2
working-directory: ${{ matrix.sample }}
with:
cache-version: 2
- name: Install curl
run: sudo apt-get install -y r-cran-curl
- name: build and test
working-directory: ${{ matrix.sample }}
run: |
# export _R_CHECK_FORCE_SUGGESTS_=false
/bin/bash build_and_test.bash
shell: bash

43
.github/workflows/samples-ruby.yaml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Samples Ruby
on:
push:
paths:
- 'samples/client/echo_api/ruby-httpx/**'
- 'samples/client/echo_api/ruby-faraday/**'
- 'samples/client/echo_api/ruby-typhoeus/**'
pull_request:
paths:
- 'samples/client/echo_api/ruby-httpx/**'
- 'samples/client/echo_api/ruby-faraday/**'
- 'samples/client/echo_api/ruby-typhoeus/**'
jobs:
build:
name: Build Ruby
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/echo_api/ruby-httpx/'
- 'samples/client/echo_api/ruby-faraday/'
- 'samples/client/echo_api/ruby-typhoeus/'
steps:
- uses: actions/checkout@v4
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- uses: actions/setup-ruby@v1
with:
ruby-version: 3.0
bundler-cache: true
- name: Install bundle
working-directory: ${{ matrix.sample }}
run: bundle install
- name: Run rspec
working-directory: ${{ matrix.sample }}
run: rspec

View File

@@ -6,11 +6,13 @@ on:
- "samples/client/others/rust/**"
- "samples/server/petstore/rust-server/**"
- "samples/client/petstore/rust-server/**"
- "samples/server/petstore/rust-axum/**"
pull_request:
paths:
- "samples/client/others/rust/**"
- "samples/client/petstore/rust/**"
- "samples/server/petstore/rust-server/**"
- "samples/server/petstore/rust-axum/**"
jobs:
build:
@@ -24,6 +26,7 @@ jobs:
- samples/client/others/rust/
- samples/client/petstore/rust/
- samples/server/petstore/rust-server/
- samples/server/petstore/rust-axum/
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1

View File

@@ -22,6 +22,7 @@ jobs:
# clients
- 'samples/client/petstore/java/okhttp-gson'
- samples/client/petstore/scalaz
- samples/client/petstore/scala-pekko
#- samples/client/petstore/scala-sttp # won't pass while the same tests in circleci pass
# servers
- samples/server/petstore/scala-lagom-server
@@ -30,14 +31,15 @@ jobs:
- samples/server/petstore/scala-pekko-http-server
- samples/server/petstore/scalatra
- samples/server/petstore/scala-finch # cannot be tested with jdk11
- samples/server/petstore/scala-http4s-server
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -7,6 +7,8 @@ on:
pull_request:
paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
jobs:
build:
name: Build Java Spring (JDK17)
@@ -17,14 +19,17 @@ jobs:
sample:
# clients
- samples/openapi3/client/petstore/spring-cloud-3-with-optional
# servers
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -28,6 +28,7 @@ jobs:
- samples/openapi3/client/petstore/spring-cloud
- samples/client/petstore/spring-cloud-date-time
- samples/openapi3/client/petstore/spring-cloud-date-time
- samples/openapi3/client/petstore/spring-cloud-http-basic
- samples/openapi3/client/petstore/spring-stubs
- samples/openapi3/client/petstore/spring-stubs-skip-default-interface
- samples/openapi3/client/petstore/spring-cloud-async
@@ -56,14 +57,15 @@ jobs:
- samples/server/petstore/springboot-spring-pageable-without-j8
- samples/server/petstore/springboot-spring-pageable
- samples/server/petstore/springboot-spring-provide-args
- samples/server/petstore/springboot-lombok-data
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: maven-repository
with:

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11

View File

@@ -20,12 +20,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Cache maven dependencies
uses: actions/cache@v3
uses: actions/cache@v4
env:
cache-name: cache-maven-repository
with:
@@ -39,7 +39,7 @@ jobs:
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
- name: Setup Maven
uses: s4u/setup-maven-action@v1.10.0
uses: s4u/setup-maven-action@v1.11.0
with:
java-version: ${{ matrix.java }}
maven-version: 3.8.8
@@ -53,7 +53,7 @@ jobs:
# generator names containing "-" caused problems in the past, see https://github.com/OpenAPITools/openapi-generator/issues/9528
java -jar ./openapi-generator-cli.jar author template --verbose -g jaxrs-spec --library quarkus
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
uses: gradle/gradle-build-action@v3
- name: Gradle tests
run: |
gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace

View File

@@ -3,11 +3,11 @@
<extension>
<groupId>com.gradle</groupId>
<artifactId>gradle-enterprise-maven-extension</artifactId>
<version>1.17</version>
<version>1.20</version>
</extension>
<extension>
<groupId>com.gradle</groupId>
<artifactId>common-custom-user-data-maven-extension</artifactId>
<version>1.11.1</version>
<version>1.12.5</version>
</extension>
</extensions>

View File

@@ -46,7 +46,8 @@
</credentials>
</server>
<enabled>true</enabled> <!-- must be true for this experiment -->
<storeEnabled>#{env['CI'] != null}</storeEnabled> <!-- adjust to an env var that is always present only in your CI environment -->
<!-- Check credentials presence to avoid build cache errors on PR builds when credentials are not present -->
<storeEnabled>#{isTrue(env['CI']) and isTrue(env['GRADLE_ENTERPRISE_CACHE_USERNAME']) and isTrue(env['GRADLE_ENTERPRISE_CACHE_PASSWORD'])}</storeEnabled>
</remote>
</buildCache>
</gradleEnterprise>

View File

@@ -22,6 +22,7 @@ cache:
- $HOME/samples/client/petstore/ruby/vendor/bundle
- $HOME/samples/client/petstore/python/.venv/
- $HOME/samples/server/petstore/rust-server/target
- $HOME/samples/server/petstore/rust-axum/target
- $HOME/perl5
- $HOME/.cargo
- $HOME/.pub-cache

View File

@@ -1,98 +0,0 @@
kind: pipeline
type: docker
name: java11-test
steps:
# test Java 11 HTTP client
- name: java11-test
image: openjdk:11.0
commands:
- ./mvnw --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- ./mvnw --quiet verify -Psamples.droneio -Dorg.slf4j.simpleLogger.defaultLogLevel=error
# test java native client
- ./mvnw clean test -f samples/client/petstore/java/native/pom.xml
- ./mvnw clean test -f samples/client/petstore/java/native-async/pom.xml
- ./mvnw clean test -f samples/openapi3/client/petstore/java/native/pom.xml
# test all generators with fake petstore spec (2.0, 3.0)
- /bin/bash bin/utils/test-fake-petstore-for-all.sh
# generate test scripts
- /bin/bash bin/tests/run-all-test
---
kind: pipeline
type: docker
name: nim-client-test
steps:
# test nim client
- name: nim-client-test
image: nimlang/nim
commands:
- (cd samples/client/petstore/nim/ && nim c sample_client.nim)
---
kind: pipeline
type: docker
name: protobuf-schema-test
steps:
# test protobuf schema generator
- name: protobuf-schema-test
image: nanoservice/protobuf-go
commands:
- protoc --version
- mkdir /var/tmp/go/
- cd samples/config/petstore/protobuf-schema
- protoc --go_out=/var/tmp/go/ services/*
- protoc --go_out=/var/tmp/go/ models/*
---
kind: pipeline
type: docker
name: aspnetcore-test
steps:
# test aspnetcore 3.x
- name: aspnetcore-test
image: mcr.microsoft.com/dotnet/core/sdk:3.1
commands:
- (cd samples/server/petstore/aspnetcore-3.1/ && /bin/sh build.sh)
- (cd samples/server/petstore/aspnetcore-3.0/ && /bin/sh build.sh)
---
kind: pipeline
type: docker
name: ocaml-test
steps:
# test ocaml petstore client
- name: ocaml-test
image: ocaml/opam2:4.07
commands:
- sudo apt-get -y install m4
- cd samples/client/petstore/ocaml
- opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix
- opam pin add ocaml-migrate-parsetree 1.3.1
- eval $(opam env)
- sudo chmod -R 777 .
- dune build --build-dir=./_build
---
kind: pipeline
type: docker
name: haskell-client-test
steps:
# test haskell client
- name: haskell-client-test
image: haskell:8.10.4
commands:
- (cd samples/client/petstore/haskell-http-client/ && stack --allow-different-user --install-ghc --no-haddock-deps haddock --fast && stack --allow-different-user test --fast)
---
kind: pipeline
type: docker
name: erlang
steps:
# test erlang client and server
- name: erlang
image: erlang:alpine
commands:
- (cd samples/client/petstore/erlang-client && rebar3 compile)
- (cd samples/client/petstore/erlang-proper && rebar3 compile)
# comment out as the tests pass locally but not in the CI
#- (cd samples/server/petstore/erlang-server && rebar3 compile)

View File

@@ -1,37 +0,0 @@
sudo: required
language: objective-c
osx_image: xcode10.3
before_install:
- export SW=`pwd`
- rvm list
#- rvm use 2.3.3
- gem environment
- gem install bundler -N
- gem install cocoapods -v 1.2.1 -N
- gem install xcpretty -N
- pod --version
# comment out below to avoid errors
#- pod repo update
#- pod setup --silent > /dev/null
#- mkdir -p ~/.local/bin
#- export PATH=$HOME/.local/bin:$PATH
## start local petstore server
#- git clone -b docker --single-branch https://github.com/wing328/swagger-samples
#- cd swagger-samples/java/java-jersey-jaxrs
#- sudo mvn jetty:run &
#- cd $SW
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
# show java version
- java -version
# show brew version
- brew --version
# show xcpretty version
- xcpretty -v
# show go version
- go version
script:
# run integration tests defined in maven pom.xml
- mvn --no-snapshot-updates -q --batch-mode verify -Psamples.ios -Dmaven.javadoc.skip=true

View File

@@ -1,29 +0,0 @@
dist: trusty
sudo: required
language: java
addons:
apt:
packages:
- openjdk-6-jdk
jdk: openjdk6
cache:
directories:
- $HOME/.m2
- $HOME/.ivy2
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
install:
- jdk_switcher use openjdk6
- java -version
- curl -s "https://get.sdkman.io" | bash
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk version
- sdk install gradle 2.9
- sdk list gradle
- sdk version
- gradle --version
script:
- cd samples/client/petstore/java/jersey2-java6 && gradle test

View File

@@ -13,6 +13,9 @@ if [ "$NODE_INDEX" = "1" ]; then
echo "Running node $NODE_INDEX ..."
java -version
sudo apt-get -y install cpanminus
(cd samples/client/petstore/perl && /bin/bash ./test.bash)
(cd samples/client/petstore/ruby && mvn integration-test)
(cd samples/client/petstore/ruby-faraday && mvn integration-test)
(cd samples/client/petstore/ruby-httpx && mvn integration-test)
@@ -66,6 +69,7 @@ elif [ "$NODE_INDEX" = "3" ]; then
(cd samples/client/petstore/typescript-angular-v14-provided-in-root && mvn integration-test)
(cd samples/client/petstore/typescript-angular-v15-provided-in-root && mvn integration-test)
(cd samples/client/petstore/typescript-angular-v16-provided-in-root && mvn integration-test)
(cd samples/client/petstore/typescript-angular-v17-provided-in-root && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/default && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/tests/default && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/jquery && mvn integration-test)
@@ -89,24 +93,6 @@ elif [ "$NODE_INDEX" = "3" ]; then
(cd samples/client/petstore/javascript-es6 && mvn integration-test)
(cd samples/client/petstore/javascript-promise-es6 && mvn integration-test)
elif [ "$NODE_INDEX" = "4" ]; then
echo "Running node $NODE_INDEX ..."
#wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
#tar -xf Python-3.8.9.tgz
#cd Python-3.8.9
#./configure --enable-optimizations
#sudo make altinstall
pyenv install --list
pyenv install 3.7.12
#pyenv install 2.7.14 #python2 no longer supported
pyenv global 3.7.12
(cd samples/openapi3/client/petstore/python && mvn integration-test)
(cd samples/openapi3/client/petstore/python-pydantic-v1 && mvn integration-test)
(cd samples/openapi3/client/petstore/python-aiohttp && mvn integration-test)
(cd samples/openapi3/client/petstore/python-pydantic-v1-aiohttp && mvn integration-test)
else
echo "Running node $NODE_INDEX ..."
java -version

View File

@@ -15,7 +15,7 @@
<div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.2.0`):
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.3.0`):
[![Build Status](https://api.travis-ci.com/OpenAPITools/openapi-generator.svg?branch=master&status=passed)](https://app.travis-ci.com/github/OpenAPITools/openapi-generator/builds)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
@@ -25,7 +25,7 @@
<div align="center">
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapitools/openapi-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapitools/openapi-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). :star::star::star:
:bangbang: To migrate from Swagger Codegen to OpenAPI Generator, please refer to the [migration guide](docs/migration-from-swagger-codegen.md) :bangbang:
@@ -64,6 +64,8 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
[<img src="https://openapi-generator.tech/img/companies/dmtech.jpeg" width="128" height="128">](https://www.dm-jobs.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/adyen.png" width="128" height="128">](https://adyen.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/fornex.png" width="128" height="128">](https://fornex.com/?utm_source=openapi_generator&utm_medium=github_webpage&utm_campaign=sponsor)
[<img src="https://openapi-generator.tech/img/companies/alloyautomation.png" width="128" height="128">](https://runalloy.com/signup?utm_source=github&utm_medium=referral&utm_campaign=1524_openapigenerator)
[<img src="https://openapi-generator.tech/img/companies/ssstwitter.png" width="128" height="128">](https://ssstwitter.com/?utm_source=github&utm_medium=referral&utm_campaign=sponsor)
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
@@ -78,7 +80,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
| | Languages/Frameworks |
| -------------------------------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient 4.x, Apache HttpClient 5.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client, Helidon), **Jetbrains HTTP Client**, **Julia**, **k6**, **Kotlin**, **Lua**, **N4JS**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (9.x - 16.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs), **XoJo**, **Zapier** |
| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.1, .NET Core 3.1, .NET 5.0. Libraries: RestSharp, GenericHost, HttpClient), **C++** (Arduino, cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Apache HttpClient 4.x, Apache HttpClient 5.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client, Helidon), **Jetbrains HTTP Client**, **Julia**, **k6**, **Kotlin**, **Lua**, **N4JS**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient, pekko), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (9.x - 17.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs), **XoJo**, **Zapier** |
| **Server stubs** | **Ada**, **C#** (ASP.NET Core, Azure Functions), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin, Echo), **Haskell** (Servant, Yesod), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, Jersey, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples), [Vert.x](https://vertx.io/), [Apache Camel](https://camel.apache.org/), [Helidon](https://helidon.io/)), **Julia**, **Kotlin** (Spring Boot, [Ktor](https://github.com/ktorio/ktor), [Vert.x](https://vertx.io/)), **PHP** (Laravel, Lumen, [Mezzio (fka Zend Expressive)](https://github.com/mezzio/mezzio), Slim, Silex, [Symfony](https://symfony.com/)), **Python** (FastAPI, Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** ([rust-server](https://openapi-generator.tech/docs/generators/rust-server/)), **Scala** (Akka, [Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra) |
| **API documentation generators** | **HTML**, **Confluence Wiki**, **Asciidoc**, **Markdown**, **PlantUML** |
| **Configuration files** | [**Apache2**](https://httpd.apache.org/) |
@@ -120,8 +122,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
| OpenAPI Generator Version | Release Date | Notes |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
| 7.2.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.2.0-SNAPSHOT/) | 15.12.2023 | Minor release with breaking changes (with fallback) |
| [7.1.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.1.0) (latest stable release) | 13.11.2023 | Minor release with breaking changes (with fallback) |
| 7.3.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.3.0-SNAPSHOT/) | 30.01.2024 | Minor release with breaking changes (with fallback) |
| [7.2.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.2.0) (latest stable release) | 22.12.2023 | Minor release with breaking changes (with fallback) |
| [6.6.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v6.6.0) | 11.05.2023 | Minor release with breaking changes (with fallback) |
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) | 31.01.2022 | Minor release with breaking changes (with fallback) |
| [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) |
@@ -184,16 +186,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o
<!-- RELEASE_VERSION -->
If you're looking for the latest stable version, you can grab it directly from Maven.org (Java 11 runtime at a minimum):
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.1.0/openapi-generator-cli-7.1.0.jar`
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar`
For **Mac/Linux** users:
```sh
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.1.0/openapi-generator-cli-7.1.0.jar -O openapi-generator-cli.jar
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar -O openapi-generator-cli.jar
```
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.
```
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.1.0/openapi-generator-cli-7.1.0.jar
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar
```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -256,7 +258,7 @@ To build from source, you need the following installed and available in your `$P
* [Apache Maven 3.3.4 or greater](https://maven.apache.org/) (optional)
After cloning the project, you can build it from source using [maven wrapper](https://github.com/takari/maven-wrapper):
After cloning the project, you can build it from source using [maven wrapper](https://maven.apache.org/wrapper/):
- Linux: `./mvnw clean install`
- Windows: `mvnw.cmd clean install`
@@ -477,7 +479,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g java \
-t modules/openapi-generator/src/main/resources/Java \
--additional-properties artifactId=petstore-okhttp-gson,hideGenerationTimestamp:true \
--additional-properties artifactId=petstore-okhttp-gson,hideGenerationTimestamp=true \
-o samples/client/petstore/java/okhttp-gson
```
@@ -617,10 +619,13 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- [California State University, Northridge](https://www.csun.edu)
- [CAM](https://www.cam-inc.co.jp/)
- [Camptocamp](https://www.camptocamp.com/en)
- [Carlsberg Group](https://www.carlsberggroup.com/)
- [Christopher Queen Consulting](https://www.christopherqueenconsulting.com/)
- [Cisco](https://www.cisco.com/)
- [codecentric AG](https://www.codecentric.de/)
- [CoinAPI](https://www.coinapi.io/)
- [Commencis](https://www.commencis.com/)
- [cronn GmbH](https://www.cronn.de/)
- [Crossover Health](https://crossoverhealth.com/)
- [Cupix](https://www.cupix.com/)
- [Datadog](https://www.datadoghq.com)
@@ -917,6 +922,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2023-05-18 - [如何基于 Swagger 使用 OpenAPI Generator 生成 JMeter 脚本?](https://blog.51cto.com/u_15181572/6294974) by [高楼Zee)](https://blog.51cto.com/u_15181572)
- 2023-06-28 - [Generate API contract using OpenAPI Generator Maven plugin](https://huongdanjava.com/generate-api-contract-using-openapi-generator-maven-plugin.html) by [Khanh Nguyen](https://huongdanjava.com/)
- 2023-06-30 - [Generate Client SDKs with OpenApi Generator in Springboot](https://medium.com/@ramavathvinayak/generate-client-sdks-with-openapi-generator-in-springboot-f9f012e73c0b) by [Vinayak Ramavath](https://medium.com/@ramavathvinayak)
- 2023-12-10 - [UnityでOpenAPI Generatorを使う](https://www.youtube.com/watch?v=CbNwKVV5LRM) by [Soup Tori](https://www.youtube.com/@souptori8417)
## [6 - About Us](#table-of-contents)
@@ -996,6 +1002,7 @@ Here is a list of template creators:
* Kotlin (MultiPlatform): @andrewemery
* Kotlin (Volley): @alisters
* Kotlin (jvm-spring-webclient): @stefankoppier
* Kotlin (jvm-spring-restclient): @stefankoppier
* Lua: @daurnimator
* N4JS: @mmews-n4
* Nim: @hokamoto
@@ -1017,6 +1024,7 @@ Here is a list of template creators:
* Scala (Akka): @cchafer
* Scala (sttp): @chameleon82
* Scala (sttp4): @flsh86
* Scala (Pekko): @mickaelmagniez
* Swift: @tkqubo
* Swift 3: @hexelon
* Swift 4: @ehyche

View File

@@ -13,3 +13,5 @@ parameterNameMappings:
additionalProperties:
modelPackage: Samples.Petstore
projectName: Petstore
enumNameMappings:
sold: UNAVAILABLE

View File

@@ -0,0 +1,9 @@
# for csharp generichost
generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient-generichost-net7.0-useDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
library: generichost
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{2E60EF87-DB0B-4D01-A36E-F5E90F7EC757}'
useDateTimeForDate: true

View File

@@ -0,0 +1,9 @@
# for .net standard
generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient-net7.0-useDateTimeForDate
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/dates-api.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{D0A67E81-4061-48EB-B4B8-C73BDF8B2D95}'
targetFramework: net7.0
useDateTimeForDate: true

View File

@@ -10,3 +10,5 @@ additionalProperties:
useOneOfDiscriminatorLookup: true
targetFramework: net7.0
equatable: true
enumNameMappings:
delivered: Shipped

View File

@@ -4,3 +4,5 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/dart2
additionalProperties:
hideGenerationTimestamp: "true"
enumNameMappings:
delivered: shipped

View File

@@ -15,4 +15,6 @@ additionalProperties:
packageName: petstore
disallowAdditionalPropertiesIfNotPresent: false
generateInterfaces: true
enumNameMappings:
delivered: SHIPPED

View File

@@ -0,0 +1,10 @@
generatorName: java
outputDir: samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
library: microprofile
inputSpec: modules/openapi-generator/src/test/resources/3_1/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: microprofile-rest-client
configKey: petstore
useSingleRequestParameter: true
microprofileRestClientVersion: "3.0"

View File

@@ -0,0 +1,8 @@
generatorName: java
outputDir: samples/client/echo_api/java/resteasy
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
artifactId: petstore-resteasy-echo
hideGenerationTimestamp: "true"
library: resteasy

View File

@@ -0,0 +1,7 @@
generatorName: java-wiremock
outputDir: samples/server/petstore/java-wiremock
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/java-wiremock
additionalProperties:
artifactId: petstore-wiremock
hideGenerationTimestamp: "true"

View File

@@ -1,4 +1,4 @@
generatorName: jmeter
outputDir: samples/client/petstore/jmeter
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/jmeter/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/jmeter-client

View File

@@ -5,3 +5,4 @@ templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-array-simple-string-multiplatform
library: multiplatform
dateLibrary: kotlinx-datetime

View File

@@ -5,3 +5,4 @@ templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-bigdecimal-default-multiplatform
library: multiplatform
dateLibrary: kotlinx-datetime

View File

@@ -5,4 +5,5 @@ templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-default-values-multiplatform
library: multiplatform
dateLibrary: kotlinx-datetime
sortParamsByRequiredFlag: false

View File

@@ -7,3 +7,5 @@ additionalProperties:
serializableModel: "true"
dateLibrary: java8
enumUnknownDefaultCase: true
enumNameMappings:
CHRISTMAS_DAY: XMAS_DAY

View File

@@ -6,3 +6,4 @@ additionalProperties:
serializationLibrary: jackson
artifactId: kotlin-petstore-jackson
enumPropertyNaming: UPPERCASE
enumUnknownDefaultCase: "true"

View File

@@ -0,0 +1,10 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-retrofit2-jackson
library: jvm-retrofit2
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
serializationLibrary: jackson
artifactId: kotlin-petstore-retrofit2-jackson
enumPropertyNaming: UPPERCASE
serializableModel: "true"

View File

@@ -0,0 +1,9 @@
generatorName: kotlin
outputDir: samples/client/echo_api/kotlin-jvm-spring-3-restclient
library: jvm-spring-restclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
enumUnknownDefaultCase: true
serializationLibrary: jackson
useSpringBoot3: true

View File

@@ -0,0 +1,10 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-jvm-spring-3-restclient
library: jvm-spring-restclient
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-spring-restclient
enumUnknownDefaultCase: true
serializationLibrary: jackson
useSpringBoot3: true

View File

@@ -0,0 +1,7 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-kotlinx-datetime
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-petstore-threetenbp
dateLibrary: kotlinx-datetime

View File

@@ -0,0 +1,8 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-multiplatform-kotlinx-datetime
library: multiplatform
dateLibrary: kotlinx-datetime
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-client-petstore-multiplatform-kotlinx-datetime

View File

@@ -1,6 +1,7 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-multiplatform
library: multiplatform
dateLibrary: kotlinx-datetime
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:

View File

@@ -0,0 +1,7 @@
generatorName: kotlin-server
outputDir: samples/server/petstore/kotlin-server/javalin
library: javalin5
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-server
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,9 @@
generatorName: kotlin-spring
outputDir: samples/server/petstore/kotlin-springboot-request
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
additionalProperties:
appendRequestToHandler: true
interfaceOnly: true
useSpringBoot3: true

View File

@@ -0,0 +1,10 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/multipart-v3
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/multipart-v3.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
allowBlockingResponseSerialize: "true"
packageName: multipart-v3
enablePostProcessFile: true

View File

@@ -0,0 +1,10 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/openapi-v3
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/openapi-v3.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
allowBlockingValidator: "true"
packageName: openapi-v3
enablePostProcessFile: true

View File

@@ -0,0 +1,9 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/ops-v3
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/ops-v3.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: ops-v3
enablePostProcessFile: true

View File

@@ -0,0 +1,10 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/petstore-with-fake-endpoints-models-for-testing
inputSpec: modules/openapi-generator/src/test/resources/2_0/rust-server/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: petstore-with-fake-endpoints-models-for-testing
publishRustRegistry: crates-io
enablePostProcessFile: true

View File

@@ -0,0 +1,9 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/petstore
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: petstore
enablePostProcessFile: true

View File

@@ -0,0 +1,9 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/ping-bearer-auth
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust-server/ping-bearer-auth.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: ping-bearer-auth
enablePostProcessFile: true

View File

@@ -0,0 +1,9 @@
generatorName: rust-axum
outputDir: samples/server/petstore/rust-axum/output/rust-axum-test
inputSpec: modules/openapi-generator/src/test/resources/2_0/rust-server/rust-server-test.yaml
templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: rust-server-test
enablePostProcessFile: true

View File

@@ -1,6 +1,6 @@
generatorName: perl
outputDir: samples/client/petstore/perl
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/perl/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/perl
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -2,3 +2,5 @@ generatorName: php-nextgen
outputDir: samples/client/petstore/php-nextgen/OpenAPIClient-php
inputSpec: modules/openapi-generator/src/test/resources/3_0/php-nextgen/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/php-nextgen
enumNameMappings:
delivered: SHIPPED

View File

@@ -6,3 +6,9 @@ library: asyncio
additionalProperties:
packageName: petstore_api
mapNumberTo: float
nameMappings:
_type: underscore_type
type_: type_with_underscore
modelNameMappings:
# The OpenAPI spec ApiResponse conflicts with the internal ApiResponse
ApiResponse: ModelApiResponse

View File

@@ -1,5 +1,5 @@
generatorName: python
outputDir: samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent-true
outputDir: samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/python
additionalProperties:

View File

@@ -10,3 +10,6 @@ additionalProperties:
nameMappings:
_type: underscore_type
type_: type_with_underscore
modelNameMappings:
# The OpenAPI spec ApiResponse conflicts with the internal ApiResponse
ApiResponse: ModelApiResponse

View File

@@ -0,0 +1,6 @@
generatorName: r
outputDir: samples/client/echo_api/r
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/r
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,7 @@
generatorName: ruby
outputDir: samples/client/echo_api/ruby-faraday
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/ruby-client
library: faraday
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -0,0 +1,7 @@
generatorName: ruby
outputDir: samples/client/echo_api/ruby-typhoeus
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/ruby-client
library: typhoeus
additionalProperties:
hideGenerationTimestamp: "true"

View File

@@ -15,3 +15,5 @@ nameMappings:
parameterNameMappings:
_type: underscore_type
type_: type_with_underscore
enumNameMappings:
delivered: SHIPPED

View File

@@ -6,3 +6,5 @@ templateDir: modules/openapi-generator/src/main/resources/rust
additionalProperties:
supportAsync: false
packageName: petstore-reqwest
enumNameMappings:
delivered: shipped

View File

@@ -0,0 +1,6 @@
generatorName: scala-http4s-server
outputDir: samples/server/petstore/scala-http4s-server
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/scala-http4s-server
additionalProperties:
artifactId: openapi-scala-http4s-server

View File

@@ -0,0 +1,6 @@
generatorName: scala-pekko
outputDir: samples/client/petstore/scala-pekko
inputSpec: modules/openapi-generator/src/test/resources/3_0/scala-pekko/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/scala-pekko-client
additionalProperties:
artifactId: scala-pekko-petstore-client

Some files were not shown because too many files have changed in this diff Show More