Compare commits

...

80 Commits

Author SHA1 Message Date
William Cheng
cc3d6968fa after docker release to trigger on tags 2025-08-22 18:17:17 +08:00
William Cheng
2c816f89cb v7.15.0 release (#21792)
* v7.15.0 release

* fix gradle test workflow
2025-08-22 17:43:01 +08:00
devhl-labs
f6eeb01895 [csharp] Fixed any of inline enum (#21764)
* fixed composed any of

* fixed composed any of

* fixed spacing
2025-08-22 15:35:07 +08:00
agilis allievo
8ee69bfe74 Fix MergedSpecBuilder not passing auth (#21782) 2025-08-22 15:21:34 +08:00
William Cheng
8d06496cce update swagger parser to newer version (#21789) 2025-08-22 15:05:17 +08:00
andershausding
2569321b82 feat: add async file stream support for reqwest client (#21771) 2025-08-22 15:02:55 +08:00
Adam Juraszek
dbe0419034 [Java][HttpClient] Fix memory leak with virtual threads (#21729) (#21752) 2025-08-22 14:41:12 +08:00
dependabot[bot]
bae8082b9a Bump actions/checkout from 3 to 5 (#21785)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  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>
2025-08-22 14:29:00 +08:00
dependabot[bot]
7fba143c5e Bump actions/setup-java from 3 to 5 (#21786)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 5.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: '5'
  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>
2025-08-22 14:28:48 +08:00
dependabot[bot]
001bc833db Bump actions/cache from 3 to 4 (#21787)
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-version: '4'
  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>
2025-08-22 14:28:35 +08:00
William Cheng
07b764e0a2 Clean up docker release workflow (#21788)
* clean up docker release workflow

* undo

* comment out docker in travis.yml
2025-08-22 14:27:06 +08:00
William Cheng
11a0075c46 Add workflow for docker release (#21780)
* add workflow for docker release

* fix

* use and

* fx

* build

* fix dir

* debug

* update

* publish cli images

* fix commands

* fix env

* fix operator
2025-08-21 19:12:08 +08:00
William Cheng
9264669a17 Add maven release workflow (#21779)
* add maven release workflow

* minor updates
2025-08-21 15:59:21 +08:00
scarf
96b44ce727 [typescript-axios]: align jsdoc for @deprecated (#21778)
* refactor: simplify `description` OR `deprecated` template

* chore: update generator output

---------

Co-authored-by: nocontribute <>
2025-08-21 08:50:22 +02:00
jack-edmonds-dd
caf53ac6c4 Fix overly permissive regular expression. (#21777) 2025-08-21 13:44:49 +08:00
scarf
8c0f8677f0 [typescript-axios]: slim down jsdoc (#21776)
* feat: remove `@export` and more

* feat: remove `@memberof`

* feat: only add description jsdoc if it exists

* feat: remove obvious `@type`

* feat: only display JSDoc when `description` OR `deprecated` exists

* chore: update generator output

---------

Co-authored-by: nocontribute <>
2025-08-20 10:46:59 +02:00
David Gamero
d06ed32df0 [typescript] use built-in abortsignal (#21741)
* use built in

* upgrade types from pinned fetch

* samples

* csharp samples

* merge master and samples

---------

Co-authored-by: David Gamero <davidgamero@microsoft.com>
2025-08-19 09:31:01 +02:00
Mattias Sehlstedt
490de02971 Fix so that the oneOfAnyOf normalizer retains the read/write only attribute (#21737) 2025-08-18 00:36:14 +08:00
William Cheng
3ebb299981 [kotlin-client] Support for integer enums with kotlinx with custom serializer (#21765)
* [kotlin-client] Add support for integer enums with custom serializer for kotlinx

* [kotlin-client] Fix @SerialName annotation being used on non-string enums

* Format samples

* remove blank line

* add tests for kotlin client with integer enum

* add folders

---------

Co-authored-by: CHervaudBetclic <c.hervaud@betclicgroup.com>
2025-08-18 00:11:43 +08:00
Espen Haugsdal
43d58ee9b0 Use Python uuid.UUID instead of StrictStr (#21740) 2025-08-17 22:25:53 +08:00
Mattias Sehlstedt
2513d82989 Exclude the discriminator field from getting a nullable_var_annotations (#21155)
* Exclude the discriminator field from getting a nullable_var_annotations

* Update samples

* Manually add annotations since the remote pipeline insists that they should be there

* Add description for why the discriminator does not have a nullability-annotation

* Update samples
2025-08-16 18:08:22 +08:00
Mattias Sehlstedt
6c31cbbf47 [Typescript] Fix warning logs for additional properties that have not been set (#21630)
* Fix warning logs for additional properties that have not been set

* Readd warning log details to clarify what option that the log refers to
2025-08-16 13:15:25 +08:00
William Cheng
fe5305f2cf add tests for uuid in oneOf/anyOf (java okhttp-gson) (#21763) 2025-08-16 12:23:04 +08:00
Ruben Hönle
030be5d3c7 fix(java): handle validation of UUIDs (#21747)
relates to OpenAPITools/openapi-generator#16868
2025-08-16 12:01:55 +08:00
William Cheng
2bbb19a1d5 Update gradle jar to newer version (java micronut) (#21762)
* update gradle wrapper to newer version (java micronaut)

* update gradle setup to v4
2025-08-16 11:45:15 +08:00
Pim Merks
9cd04e71fa Add TrimLineBreaks and TrimWhitespace lambdas to default codegen (#21759) 2025-08-16 11:36:35 +08:00
David Gamero
d7aee8a0d6 pin windows gradle version (#21761)
Co-authored-by: David Gamero <davidgamero@microsoft.com>
2025-08-16 11:32:50 +08:00
Kuzma
e1aed293cf Update form-data to the latest version (#21748) 2025-08-14 15:55:56 +02:00
William Cheng
1870fbb7cf Fix github workflow (linux.yaml) (#21743)
* remove with from workflow

* test with gradle 8.x
2025-08-14 13:19:22 +08:00
tomcra
9cb04c1b9d #21582 [BUG][dart-dio] Bug generating inline enums with common names (#21591)
* #21582 [BUG][dart-dio] Bug generating inline enums with common names

* #21582 [BUG][dart-dio] Bug generating inline enums with common names added petstore test

* #21582 [BUG][dart-dio] Bug generating inline enums with common names added generated samples to commit.

* #21582 [BUG][dart-dio] Bug generating inline enums with common names removed bug test files that were duplicates

* #21582 [BUG][dart-dio] Bug generating inline enums with common names. Added generated files that were missed.

* #21582 [BUG][dart-dio] Bug generating inline enums with common names. Added generated files that were missed.

* #21582 [BUG][dart-dio] Bug generating inline enums with common names. Added generated files that where updated as a result of changes in master.
2025-08-14 12:24:34 +08:00
dependabot[bot]
aacbdf88c0 Bump actions/checkout from 4 to 5 (#21728)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  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>
2025-08-13 01:48:03 +08:00
0x5457
3e032bfcfd fix(typescript): add Date instance check before date formatting (#21722)
* fix(typescript): add Date instance check before date formatting

* chore(typescript): generate samples

* fix: resolve type errors in ObjectSerializer Date formatting

* chore: update samples

* chore: ensure-up-to-date
2025-08-12 16:04:17 +02:00
andershausding
1860efade2 [Rust] fix: add location prefix to prevent parameter name collisions (#21611)
* [Rust] fix: add location prefix to prevent parameter name collisions when escaping parameter names

* chore: update samples

* [Rust] fix: do not use locationSuffix if useSingleRequestParameter feature is enabled
2025-08-12 20:54:09 +08:00
William Cheng
bfc989c6ab update samples 2025-08-12 16:51:45 +08:00
Erwin de Haan
77e3326a36 Make all C# flavors support x-zero-based-enum and add tables to documentation (#21463)
* Make all C# flavors support x-zero-based-enum and add table to documentation

* Add the documentation stuff properly
2025-08-12 11:13:16 +08:00
Juuso Tuononen
36cea14781 [dart][dart-dio] Support OpenAPI 3.1 composed schemas (#20475) 2025-08-12 11:12:04 +08:00
Mattias Sehlstedt
4d9fd4df92 Support Json-serialized query parameters in Spring client RestClient and WebClient (#21725)
* Add so that a query parameter can be serialized as Json in the Spring clients RestClient and WebClient

* Update samples

* Add clientCodeGen test
2025-08-12 10:26:33 +08:00
Alec Petersen
4b88cf8243 [REQ][CSHARP][GENERICHOST] Support stream for binary response (#21677)
* Add ContentStream property to ApiResponse

* Add a constructor which sets ContentStream

* Create and use a memory stream for binary model types

* Remove extra space

* Update samples

* Add {{nrt?}} to support older versions

* Remove public modifier for interface property
2025-08-11 15:47:12 +08:00
Mattias Sehlstedt
8874df4702 Codegen parameter for query json serialization (#21718)
* Add endpoints with query parameters that require Json-serialization

* Add property for query json-serialization

* Update samples

* Adjust indentation for specification
2025-08-10 22:47:51 +08:00
Mattias Sehlstedt
6ff9e67bad Specify Gradle version (#21720) 2025-08-09 23:16:52 +08:00
Alec Petersen
3e577d58c3 [BUG][CSHARP][GENERICHOST] Write enum values in expected JSON format (#21698)
* Use ValueConverter method for enums to output in the correct JSON format

* Fix doc comment

* Update samples

* Call ToString on return value of converter

* Update samples

* Update samples

* Add test
2025-08-09 12:11:02 +08:00
William Cheng
89a108aca0 Default nested array to null in java generators (#21713)
* default nested array to null in java generators

* add test schema
2025-08-08 15:59:16 +08:00
​Andrzej Ressel
0f231d9494 Fix rust-axum homepage toml quotes (#21716) 2025-08-08 13:29:54 +08:00
Laha Luhem
517bbeb9a9 Feat: #21665 [dart][dart-dio] CopyWith for json_serializable (#21667)
* Add `@CopyWith()` annotation to model class mustache

* Add copyWith deps to pubspec mustache template

* generate examples

* add import for copyWith
2025-08-07 22:45:13 +08:00
kenkon
5db1e75fa6 [Swift5][Swift6] support "x-enum-descriptions" (#21706)
* [swift5] Support x-enum-descriptions

* [swift5] Add x-enum-descriptions to test YAML

* [swift5] Regenerate samples

* [swift6] Support x-enum-descriptions

* [swift6] Regenerate samples
2025-08-07 08:58:58 +01:00
Kraust
5b8a11546c [C++] [Client] Added cpp-oatpp-client (#21711)
* Added cpp-oatpp-client.

* Updated pipelines.

* Should match formatting now.

* Moved includes around.

* Ran doc generator.
2025-08-07 10:01:55 +08:00
Rens Groothuijsen
603dbfd7f9 [rust] Extend oneOf array enum names with inner type (#21599) 2025-08-07 09:38:07 +08:00
William Cheng
e2652f1c62 update C# samples 2025-08-07 09:22:56 +08:00
Arcueid D`athemon
c077d005d5 [REQ] [CSHARP] [UNITYWEBREQUEST] Support Stream for unityWebRequest library (#21704)
* Update ApiClient.mustache

* Update ApiClient.mustache
2025-08-07 09:20:11 +08:00
phactum-mnestler
f659457f90 [spring] Adapt HttpHeaders access to remain compatible with Spring 7 (#21691)
* [spring] Adapt HttpHeaders access to remain compatible with Spring 7

* update pom.xml patch version
2025-08-06 15:46:37 +08:00
Rui Ventura
bf6e83ea63 feat(java): Generate servers for restclient library (#21699) 2025-08-06 15:36:38 +08:00
Christopher Gual
7e974272be [bug][kotlin-spring] fix allowableValues quotes in documentation anno… (#21700)
* [bug][kotlin-spring] fix allowableValues quotes in documentation annotations for path parameters

* Remove unused imports in KotlinSpringServerCodegenTest

* Fix Swagger1 annotation

* Streamline Swagger1 annotation

* Remove extra line break

---------

Co-authored-by: Chris Gual <cgual@omnidian.com>
2025-08-06 15:17:36 +08:00
dependabot[bot]
bb6acc132a Bump actions/download-artifact from 4 to 5 (#21701)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  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>
2025-08-06 13:37:40 +08:00
devhl-labs
f6de5b71dc [csharp] Fix composed enum handling (#21690)
* composed enums

* revert sample changes

* add new sample due to HttpClient library not working with the new models

* added to appveyor

* build samples again
2025-08-05 11:33:50 +08:00
​Andrzej Ressel
a7af767e34 [Rust] Replace more HeaderValue::from_str with compile time HeaderValue::from_static (#21689) 2025-08-05 11:21:21 +08:00
William Cheng
de3e227328 feat(typescript-angular): prepare build (#21684)
* feat(typescript-angular): prepare build

Prepare build is required in order to publish

* update php laravel samples

* update samples

---------

Co-authored-by: Evan Gillogley <evanjmg@gmail.com>
2025-08-05 10:23:36 +08:00
devhl-labs
df1d562f24 [csharp] Ensure unique property names (#21649)
* started fixing multiple issues

* weather api builds

* added docstring

* ensure property names are unique

* force pr gates to restart

* force pr gates to restart

* force pr gates to restart

* force pr gates to restart
2025-08-04 01:31:55 +08:00
devhl-labs
302590a215 fix testing respone (#21687) 2025-08-04 00:47:46 +08:00
Daniel García
31060931b6 Add reqwest-trait crate to workspace and rename it (#21674)
* Add reqwest-trait crate to workspace and rename it

* Fix missing ^isArray condition
2025-08-04 00:46:44 +08:00
​Andrzej Ressel
9f2c92079e Fix double @ in README (#21688) 2025-08-04 00:45:11 +08:00
Julien Debon
81be9cd409 OCaml: derive eq (#21679) 2025-08-02 12:32:44 +08:00
devhl-labs
8de694d4bb windows latest (#21682) 2025-08-02 12:19:17 +08:00
Mattias Sehlstedt
02ba9f68ac [Scala sttp] Fix header serialization for Optional values (#21603)
* Adjust header serialization for Optional values

* Add additional test verification to display the header type

* Do not get a null value from an option if it is empty, but rather keep the None value. If a value is present it is converted to an Option[String]
2025-08-02 11:36:40 +08:00
William Cheng
87231c3b58 [php][php-nextgen] add new github workflow to perform syntax check on php files (#21678)
* update php laravel samples

* add php-nextgen to the github workflow

* trigger build failure

* add syntax checker workflow

* Revert "trigger build failure"

This reverts commit 5be28f2e76.
2025-08-01 17:48:04 +08:00
Ezra Singh
f846f307ca Added symlink to generator cli in Docker image (#15559)
Co-authored-by: Ezra Singh <ezra@liontech.nyc>
2025-08-01 16:35:38 +08:00
Henk van de Berg
faa3a0e4c1 Removed try/catch to enable framework error handling to pick up the error (#21523) 2025-08-01 16:15:05 +08:00
dsteeley
97aa4a8587 Fixup dependency on forked serde_xml (#21664) 2025-08-01 16:06:30 +08:00
dependabot[bot]
5ba0650659 Bump multer and @nestjs/platform-express (#21673)
Bumps [multer](https://github.com/expressjs/multer) to 2.0.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `multer` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v2.0.1...v2.0.2)

Updates `@nestjs/platform-express` from 11.1.3 to 11.1.5
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v11.1.5/packages/platform-express)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.0.2
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-version: 11.1.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-01 16:05:23 +08:00
Ary Obenholzner
fcc83db0f8 NestJS server codegen (#21494)
* setup basic codegen for nestjs server

* set up generated file structure

* adapted moustache files

* fixed imports

* adapted templates

* added module bootstrap

* added model generation

* fixed error with generic type

* added README

* added usage clarification to README, introduced module index.ts

* Update modules/openapi-generator/src/main/resources/typescript-nestjs-server/api.module.mustache

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>

* cleaned up package.mustache, added parameters for versions

* cleaned up unneeded boilerplate templates

* fixed indentations from templates

* implemented useSingleRequestParameter

* fixed parameter handling

* added samples with tests

* added docs

* fixed samples

* corrected docs

* updated docs after merge of master

* fixed samples build

* fixed workflow

---------

Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
2025-07-31 14:37:44 +02:00
William Cheng
3fbf52f395 remove unused github workflow 2025-07-31 16:52:02 +08:00
some00
dba7aee41e Kotlinx polymorphism with custom discriminator support (#21531)
* kotlinx serialization fixes

- added new config with kotlinx, discriminator (/w custom name) and
  kotlinx_serialization
- remove discriminator properties from the generator in both base and
  derived classes
- set discriminatorValue in additionalProperties of derived classes
- add JsonClassDiscriminator the derived classes in the template
- set SerialName to discriminatorValue in the template
- change base classes to sealed class instead of interface
- make variables in base classes abstract

* Generated kotlin-allOff-discriminator-kotlinx-serialization sample

* Added test for kotlinx_serialization with discriminator

* renamed yaml

* Added new sample to github workflow

* Added comments to KotlinClientCodegen::postProcessAllModels
2025-07-31 16:29:39 +08:00
Christopher Gual
d7a8aae6e2 [BUG][typescript-fetch] Default case for oneOf serialization method returning undefined variable. (#21669)
* fix bug for returning uninitialized variable for serialization method in oneOf models with discriminator

* Update samples

---------

Co-authored-by: Chris Gual <cgual@omnidian.com>
2025-07-31 08:53:42 +02:00
hellopabu
7af84cad94 [docs][website] add am gmbh as user to users (#21660)
* [docs][website] add am gmbh logo

* [docs][website] add am gmbh to users

* [docs][website] add transparent am gmbh logo
2025-07-30 17:02:09 +08:00
Marcel
7664c6f511 feature: Add control flag for static compile (#21635) 2025-07-30 16:02:34 +08:00
hirish
e275826d1b add curl handler pre-invoke-callback to c-libcurl (#21654) 2025-07-30 15:06:35 +08:00
Christopher Gual
d29a4bea25 [Bug][typescript-fetch] Typescript fetch one of addtl props imports (#21656)
* Add unit tests for bug in imports for oneOf schemas with additional properties set to true #21587

* Fix bug in filtering primitive, built-in types from model imports in TypeScriptFetchClientCodegen

* Add YAML OAS file for #21587

* Revert change to issue_21259.yaml

* Remove comment from issue_21259.yaml

* Filter out arrays from oneOfModels along with primitive types

* Update issue_21587 unit test to catch the Array<Model> case

---------

Co-authored-by: Chris Gual <cgual@omnidian.com>
2025-07-30 09:02:40 +02:00
William Cheng
657f5fb004 Test go client with aws signature in github workflow (#21657)
* test go client with aws signature in github workflow

* fix path

* fix path

* test with windows

* omit version
2025-07-30 14:38:58 +08:00
dennismouwen-eye
fbb15fd324 Update AWS Go SDK from v1 to v2 in Go client templates (#3) (#21653)
* Update AWS Go SDK from v1 to v2 in Go client templates (#3)

* Initial plan

* Update AWS Go SDK from v1 to v2 in Go client templates

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Final validation: AWS SDK v2 integration working correctly

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Fix AWS v4 signature implementation: retrieve credentials properly from provider

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Fix AWS v4 signature payload hash: properly compute SHA-256 hash for request body

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Implement proper payload hashing

* Revert go.sum file to original state as requested

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Revert go.mod and rename import alias from v4 back to awsv4

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Revert go.mod file to original state removing all changes

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Rename credentials import to awscredentials alias as requested

Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>

* Fix spacing

* Fix credentials and imports

* Update aws sdk to latest version

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: dennismouwen-eye <107839749+dennismouwen-eye@users.noreply.github.com>
Co-authored-by: Dennis Mouwen <dennis.mouwen@eye.security>

* Update indenting

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2025-07-30 13:55:40 +08:00
Christopher Gual
7c1dce4756 [Bug][typescript-fetch] Fix missing close parenthesis in oneOf models. (#21645)
* Modify unit tests for typescript-fetch, issue 21259 to check for closing parens & fix a typo in TypeScriptFetchModelTest

* Fix bug in closing parens in modelOneOf.mustache and some spacing adjustments

* Update samples

---------

Co-authored-by: Chris Gual <cgual@omnidian.com>
2025-07-29 13:28:26 +02:00
Matt Pollock
815a7324e3 [R] add null checks to nullable api parameters (#21629)
* [R] check optional parametrs for null before evaluating param conditions

* update petstore

* handle isNullable when checking api parameters

* update samples

* allow not-nullable parameters to be missing

* update samples

* samples
2025-07-29 13:34:18 +08:00
1615 changed files with 69534 additions and 12118 deletions

74
.github/workflows/docker-release.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Release to DockerHub (snapshot, stable)
on:
push:
tags:
- 'v*' # Triggers on any tag starting with 'v' (e.g., v1.0, v2.1.3)
branches:
- master
jobs:
docker:
name: Publish images
runs-on: ubuntu-latest
steps:
# build the JARs
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'zulu'
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build
run: ./mvnw clean install -DskipTests=true
# docker workflow
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Setup variables
run: |
# set as GitHub ENV variables
echo "cli_version=$(\./mvnw -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[')" >> $GITHUB_ENV
echo "build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
echo "DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online" >> $GITHUB_ENV
echo "DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli" >> $GITHUB_ENV
# online images
- name: Publish openapi-generator-online snapshot version
if: github.ref_type != 'tag' # not tag (release)
run: |
docker buildx create --use
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} ./modules/openapi-generator-online
- name: Publish openapi-generator-online stable version
if: github.ref_type == 'tag' # tagged (release)
run: |
docker buildx create --use
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:${{ github.ref_name }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }} -t ${{ env.DOCKER_GENERATOR_IMAGE_NAME }}:latest-release ./modules/openapi-generator-online
# cli images
- name: Publish openapi-generator-cli snapshot version
if: github.ref_type != 'tag' # not tag (release)
run: |
cp docker-entrypoint.sh ./modules/openapi-generator-cli
docker buildx create --use
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} ./modules/openapi-generator-cli
- name: Publish openapi-generator-cli stable version
if: github.ref_type == 'tag' # tagged (release)
run: |
cp docker-entrypoint.sh ./modules/openapi-generator-cli
docker buildx create --use
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=${{ env.build_date }} --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$GITHUB_SHA --label=org.opencontainers.image.version=${{ env.cli_version }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:${{ github.ref_name }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }} -t ${{ env.DOCKER_CODEGEN_CLI_IMAGE_NAME }}:latest-release ./modules/openapi-generator-cli

View File

@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Test run-in-docker.sh
shell: bash

View File

@@ -13,9 +13,9 @@ jobs:
name: Gradle plugin tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
@@ -34,12 +34,22 @@ jobs:
restore-keys: |
${{ runner.os }}-test-gradle-plugin-${{ env.cache-name }}-
${{ runner.os }}-test-gradle-plugin-
- name: Run tests
- name: mvn clean install
run: |
./mvnw clean --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- name: Run tests with wrapper
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: |
./mvnw clean --no-snapshot-updates --batch-mode --quiet install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildGoSdk) # using gradle-6.8.3 via wrapper
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew openApiGenerate)
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && ./gradlew buildDotnetSdk)
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
gradle-version: '8.14.3'
- name: Run tests without wrapper
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
run: |
(cd modules/openapi-generator-gradle-plugin/samples/local-spec && gradle buildJavaResttemplateSdk) # not using gradle wrapper

View File

@@ -32,8 +32,8 @@ jobs:
- samples/client/petstore/java/native
- samples/client/petstore/java/native-jakarta
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -20,10 +20,10 @@ jobs:
os: [ubuntu-latest]
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
@@ -44,6 +44,10 @@ jobs:
restore-keys: |
${{ runner.os }}-gradle-
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '8.14.3'
- name: Setup Maven
uses: s4u/setup-maven-action@v1.18.0
with:
@@ -65,7 +69,7 @@ jobs:
- name: Test Gradle plugin usage
shell: bash
run: gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace
run: gradle --project-dir modules/openapi-generator-gradle-plugin/samples/local-spec buildGoSdk --stacktrace
- name: Test Maven plugin integration
if: matrix.java == '11'
@@ -85,14 +89,14 @@ jobs:
os: [ubuntu-latest]
steps:
- name: Check out code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Setup Maven
uses: s4u/setup-maven-action@v1.18.0
with:
java-version: 11
maven-version: 3.8.8
- name: Download build artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: artifact
- name: Run Ensures Script

View File

@@ -13,9 +13,9 @@ jobs:
name: Maven plugin tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'

61
.github/workflows/maven-release.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: Release to Maven Central (snapshot, stable)
on:
push:
branches:
- master
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'zulu'
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build
run: ./mvnw clean install -DskipTests=true
#run: ./mvnw clean install
publish:
runs-on: ubuntu-latest
name: Publish to Maven Central
needs: build
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- id: install-secret-key
name: Install gpg secret key
run: |
cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
- name: Set up Maven Central Repository
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'zulu'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Publish package
run: ./mvnw -DskipTests=true --batch-mode -P release -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy
env:
MAVEN_USERNAME: ${{ secrets.OSS_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSS_PASSWORD }}

View File

@@ -15,7 +15,7 @@ jobs:
name: Misc tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: ruby/setup-ruby@v1
with:
ruby-version: '2.6'

View File

@@ -15,9 +15,9 @@ jobs:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
@@ -53,9 +53,9 @@ jobs:
needs:
- build
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
@@ -90,14 +90,14 @@ jobs:
needs:
- build
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target
@@ -129,14 +129,14 @@ jobs:
- build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK 11
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 11
distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target

View File

@@ -25,7 +25,7 @@ jobs:
- samples/server/petstore/aspnet/fastendpoints-useResponseCaching
- samples/server/petstore/aspnet/fastendpoints-useValidators
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'

View File

@@ -25,7 +25,7 @@ jobs:
- 'samples/client/others/c/bearerAuth/'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Prepare
run: |
sudo apt-get update

View File

@@ -0,0 +1,30 @@
name: Samples cpp oat++ client
on:
push:
branches:
- "samples/client/petstore/cpp-oatpp/**"
pull_request:
paths:
- "samples/client/petstore/cpp-oatpp/**"
env:
GRADLE_VERSION: 6.9
jobs:
build:
name: Build cpp oat++ client
strategy:
matrix:
sample:
- samples/client/petstore/cpp-oatpp
os:
- ubuntu-latest
- macOS-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: Build
working-directory: ${{ matrix.sample }}
run: cmake -B build && cmake --build build --verbose

View File

@@ -13,7 +13,7 @@ env:
jobs:
build:
name: Build cpp qt client
name: Build cpp oat++ server
strategy:
matrix:
sample:
@@ -24,7 +24,7 @@ jobs:
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Build
working-directory: ${{ matrix.sample }}
run: cmake -B build && cmake --build build --verbose

View File

@@ -25,7 +25,7 @@ jobs:
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:

View File

@@ -17,8 +17,8 @@ jobs:
name: Tests Dart
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -12,7 +12,7 @@ on:
jobs:
build:
name: Build .Net projects
runs-on: windows-2019
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
@@ -33,7 +33,7 @@ jobs:
- samples/client/petstore/csharp/generichost/net4.8/Petstore
- samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

View File

@@ -27,7 +27,7 @@ jobs:
- samples/client/petstore/csharp/restsharp/standard2.0/ConditionalSerialization/
# - samples/client/petstore/csharp/unityWebRequest/standard2.0/Petstore/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: 3.1.*

View File

@@ -24,7 +24,7 @@ jobs:
- samples/server/petstore/aspnetcore-6.0-project4Models
- samples/server/petstore/aspnetcore-6.0-useSwashBuckle
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '6.0.x'

View File

@@ -18,7 +18,7 @@ jobs:
# clients
- samples/client/echo_api/csharp/restsharp/net8/EchoApi
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'

View File

@@ -18,7 +18,7 @@ jobs:
- samples/client/petstore/csharp/restsharp/net8/ParameterMappings/
- samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'

View File

@@ -25,7 +25,7 @@ jobs:
- samples/server/petstore/aspnetcore-8.0-useSwashBuckle
- samples/server/petstore/aspnetcore-8.0-use-centralized-package-version-management
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'

View File

@@ -33,7 +33,7 @@ jobs:
- samples/client/petstore/csharp/generichost/net8/SourceGeneration
- samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'

View File

@@ -23,6 +23,8 @@ jobs:
fail-fast: false
matrix:
sample:
- samples/client/petstore/csharp/generichost/latest/ComposedEnum
- samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf
- samples/client/petstore/csharp/generichost/latest/Tags
- samples/client/petstore/csharp/generichost/latest/HelloWorld
- samples/client/petstore/csharp/generichost/latest/OneOfList
@@ -44,7 +46,7 @@ jobs:
# unity
#- samples/client/petstore/csharp/unityWebRequest/net9/Petstore
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '9.0.101'

View File

@@ -26,7 +26,7 @@ jobs:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}

View File

@@ -23,7 +23,7 @@ jobs:
- samples/client/petstore/elm
- samples/openapi3/client/elm
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: jorelali/setup-elm@v6
with:
elm-version: 0.19.1

View File

@@ -26,7 +26,7 @@ jobs:
- samples/client/petstore/erlang-client/
- samples/client/petstore/erlang-proper/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: erlef/setup-beam@v1
with:
otp-version: '27'

View File

@@ -16,7 +16,7 @@ jobs:
# clients
- samples/client/echo_api/go
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "stable"

View File

@@ -0,0 +1,31 @@
name: Samples Go Clients
on:
push:
paths:
- 'samples/openapi3/client/petstore/go/go-petstore-aws-signature/**'
pull_request:
paths:
- 'samples/openapi3/client/petstore/go/go-petstore-aws-signature/**'
jobs:
build:
name: Build Go
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/openapi3/client/petstore/go/go-petstore-aws-signature/'
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
- run: go version
- name: Install Dependencies
working-directory: ${{ matrix.sample }}
run: |
go mod tidy
- name: Run test
working-directory: ${{ matrix.sample }}
run: go test -mod=mod -v

View File

@@ -21,7 +21,7 @@ jobs:
- samples/server/petstore/go-gin-api-server/
- samples/server/petstore/go-gin-api-server-interface-only/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "stable"

View File

@@ -27,7 +27,7 @@ jobs:
- samples/server/petstore/go-chi-server/
- samples/server/others/go-server/no-body-path-params/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "stable"
@@ -47,7 +47,7 @@ jobs:
go-version:
- "1.18"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v5
with:

View File

@@ -21,8 +21,8 @@ jobs:
sample:
- samples/client/petstore/groovy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -27,7 +27,7 @@ jobs:
- samples/server/others/haskell-servant-ping/
- samples/client/petstore/haskell-http-client/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: haskell/actions/setup@v2
with:
# ghc-version: '8.8.4' # Exact version of ghc to use

View File

@@ -22,8 +22,8 @@ jobs:
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -23,8 +23,8 @@ jobs:
- samples/client/echo_api/java/resteasy
- samples/client/echo_api/java/restclient
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -29,8 +29,8 @@ jobs:
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -98,8 +98,8 @@ jobs:
- samples/client/others/java/resttemplate-list-schema-validation/
- samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -37,8 +37,8 @@ jobs:
- samples/client/petstore/java/webclient-useSingleRequestParameter
- samples/client/others/java/restclient-enum-in-multipart
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -26,8 +26,8 @@ jobs:
- samples/server/others/java-helidon-server/v3/mp-format-test
version: [17]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}

View File

@@ -27,8 +27,8 @@ jobs:
- samples/server/others/java-helidon-server/v4/mp-format-test
version: [21]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}

View File

@@ -29,8 +29,8 @@ jobs:
- samples/server/petstore/java-play-framework-no-swagger-ui
- samples/server/petstore/java-play-framework-no-wrap-calls
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -31,8 +31,8 @@ jobs:
#- samples/server/petstore/java-undertow/
- samples/server/petstore/java-microprofile/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -17,8 +17,8 @@ jobs:
sample:
- samples/server/petstore/java-wiremock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -18,8 +18,8 @@ jobs:
# servers
- samples/server/petstore/jaxrs/jersey3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -38,8 +38,8 @@ jobs:
- samples/server/petstore/jaxrs-cxf-non-spring-app
- samples/server/petstore/jaxrs-spec-microprofile-openapi-annotations
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -58,8 +58,8 @@ jobs:
- samples/server/petstore/java-helidon-server/v3/mp/
- samples/server/petstore/java-helidon-server/v3/se
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -31,8 +31,8 @@ jobs:
- samples/server/petstore/java-helidon-server/v4/mp/
- samples/server/petstore/java-helidon-server/v4/se/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 21

View File

@@ -15,7 +15,7 @@ jobs:
name: Tests Julia
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: 1.8

View File

@@ -5,10 +5,12 @@ on:
branches:
- 'samples/client/petstore/kotlin*/**'
- 'samples/client/others/kotlin-jvm-okhttp-parameter-tests/**'
- samples/client/others/kotlin-integer-enum/**
pull_request:
paths:
- 'samples/client/petstore/kotlin*/**'
- 'samples/client/others/kotlin-jvm-okhttp-parameter-tests/**'
- samples/client/others/kotlin-integer-enum/**
jobs:
build:
@@ -66,9 +68,11 @@ jobs:
- samples/client/petstore/kotlin-name-parameter-mappings
- samples/client/others/kotlin-jvm-okhttp-parameter-tests
- samples/client/others/kotlin-jvm-okhttp-path-comments
- samples/client/others/kotlin-integer-enum
- samples/client/petstore/kotlin-allOff-discriminator-kotlinx-serialization
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -21,8 +21,8 @@ jobs:
- samples/client/echo_api/kotlin-model-prefix-type-mappings
- samples/client/echo_api/kotlin-jvm-okhttp
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -46,8 +46,8 @@ jobs:
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -27,8 +27,8 @@ jobs:
- samples/server/petstore/kotlin-server-required-and-nullable-properties
- samples/server/petstore/kotlin-misk
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 21

View File

@@ -54,8 +54,8 @@ jobs:
# no build.gradle file
#- samples/server/petstore/kotlin-vertx-modelMutable
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -22,8 +22,8 @@ jobs:
- samples/server/petstore/kotlin-wiremock-responses
- samples/server/echo_api/kotlin-wiremock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -18,7 +18,7 @@ jobs:
sample:
- 'samples/client/petstore/ocaml/'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:

View File

@@ -31,7 +31,7 @@ jobs:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:

View File

@@ -0,0 +1,36 @@
name: Samples PHP Syntax Checker
on:
push:
paths:
- samples/client/petstore/php/OpenAPIClient-php/**
- samples/client/petstore/php-nextgen/OpenAPIClient-php/**
pull_request:
paths:
- samples/client/petstore/php/OpenAPIClient-php/**
- samples/client/petstore/php-nextgen/OpenAPIClient-php/**
jobs:
build:
name: Build PHP projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
sample:
# clients
- samples/client/petstore/php/OpenAPIClient-php/
- samples/client/petstore/php-nextgen/OpenAPIClient-php/
steps:
- uses: actions/checkout@v5
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php }}"
- name: php -l
working-directory: ${{ matrix.sample }}
run: find . -name "*.php" -exec php -l {} +

View File

@@ -32,7 +32,7 @@ jobs:
- samples/server/petstore/php-laravel/
- samples/server/petstore/php-laravel-issue-21334/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:

View File

@@ -19,7 +19,7 @@ jobs:
python-version:
- "3.12"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

View File

@@ -22,7 +22,7 @@ jobs:
- 'samples/config/petstore/protobuf-schema-config/'
- 'samples/config/petstore/protobuf-schema-config-complex/'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install Protocol Buffers Compiler
run: |
sudo apt-get update

View File

@@ -24,7 +24,7 @@ jobs:
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

View File

@@ -18,7 +18,7 @@ jobs:
# servers
- samples/server/petstore/python-fastapi/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.9'

View File

@@ -12,7 +12,7 @@ jobs:
name: Validate pyproject.toml
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.13"
@@ -44,7 +44,7 @@ jobs:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
id: py
with:

View File

@@ -23,7 +23,7 @@ jobs:
- "3.11"
- "3.12"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

View File

@@ -31,7 +31,7 @@ jobs:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
id: py
with:

View File

@@ -18,7 +18,7 @@ jobs:
# servers
- samples/server/petstore/python-aiohttp-srclayout/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: '3.9'

View File

@@ -1,42 +0,0 @@
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

View File

@@ -24,7 +24,7 @@ jobs:
- 'samples/client/echo_api/ruby-faraday/'
- 'samples/client/echo_api/ruby-typhoeus/'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server

View File

@@ -29,7 +29,7 @@ jobs:
- samples/server/petstore/rust-server-deprecated/
- samples/server/petstore/rust-axum/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
@@ -50,7 +50,7 @@ jobs:
working-directory: ${{ matrix.sample }}
run: |
set -e
# Skip samples/client/petstore/rust/ as it's tests are failing.
# Skip samples/client/petstore/rust/ as its tests are failing.
if [[ "${{ matrix.sample }}" == "samples/client/petstore/rust/" ]]; then
echo "Skipping tests for samples/client/petstore/rust/"
exit 0

View File

@@ -18,8 +18,8 @@ jobs:
# servers
- samples/server/petstore/scala-finch # cannot be tested with jdk11
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -35,8 +35,8 @@ jobs:
- samples/server/petstore/scala-http4s-server
- samples/server/petstore/scala-cask
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11

View File

@@ -40,8 +40,8 @@ jobs:
- samples/server/petstore/springboot-petstore-with-api-response-examples
- samples/server/petstore/spring-boot-oneof-sealed
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17

View File

@@ -61,8 +61,8 @@ jobs:
- samples/server/petstore/springboot-useoptional
- samples/server/petstore/springboot-virtualan
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 8

View File

@@ -34,7 +34,7 @@ jobs:
name: Build Swift samples
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: swift-actions/setup-swift@v2
if: ${{ matrix.os == 'ubuntu-latest' }}
with:

View File

@@ -20,7 +20,7 @@ jobs:
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:

View File

@@ -20,7 +20,7 @@ jobs:
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:

View File

@@ -0,0 +1,35 @@
name: TypeScript NestJS Server
on:
pull_request:
paths:
- samples/server/petstore/typescript-nestjs-server/**
- .github/workflows/samples-typescript-nestjs-server.yaml
jobs:
build:
name: Test TypeScript NestJS Server
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/server/petstore/typescript-nestjs-server
node-version:
- 20
- 22
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install
working-directory: ${{ matrix.sample }}
run: |
npm i
- name: Test
working-directory: ${{ matrix.sample }}
run: npm run test

View File

@@ -20,7 +20,7 @@ jobs:
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:

View File

@@ -16,7 +16,7 @@ jobs:
node-version:
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:

View File

@@ -18,7 +18,7 @@ jobs:
sample:
- samples/client/petstore/zapier
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup node
uses: actions/setup-node@v4
- name: Install dependencies

View File

@@ -18,9 +18,9 @@ jobs:
matrix:
java: [11, 17]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
@@ -54,6 +54,8 @@ jobs:
java -jar ./openapi-generator-cli.jar author template --verbose -g jaxrs-spec --library quarkus
- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
gradle-version: '8.14.3'
- name: Gradle tests
run: |
gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace

6
.gitignore vendored
View File

@@ -92,6 +92,12 @@ samples/client/petstore/cpp-restsdk/client/cmake_install.cmake
samples/client/petstore/cpp-restsdk/client/CppRestPetstoreClientConfig.cmake
samples/client/petstore/cpp-restsdk/client/CMakeCache.txt
# cpp-oatpp
samples/client/petstore/cpp-oatpp/build
samples/client/petstore/cpp-oatpp/external
samples/server/petstore/cpp-oatpp/build
samples/server/petstore/cpp-oatpp/external
#Java/Android
**/.gradle
samples/client/petstore/java/hello.txt

View File

@@ -32,8 +32,8 @@ cache:
- $HOME/.cache/deno
- $HOME/.phpenv/versions/8.1.4
services:
- docker
#services:
# - docker
# comment out the host table change to use the public petstore server
addons:
@@ -47,16 +47,16 @@ addons:
- petstore.swagger.io
before_install:
- sudo rm -rf /var/lib/apt/lists/*
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) edge"
- sudo apt-get update
#- sudo apt-get install -qqy --no-install-recommends google-chrome-stable
#- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- mkdir -vp ~/.docker/cli-plugins/
- curl --silent -L "https://github.com/docker/buildx/releases/download/v0.3.0/buildx-v0.3.0.linux-amd64" > ~/.docker/cli-plugins/docker-buildx
- chmod a+x ~/.docker/cli-plugins/docker-buildx
# to run petstore server locally via docker
# - sudo rm -rf /var/lib/apt/lists/*
# - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) edge"
# - sudo apt-get update
# #- sudo apt-get install -qqy --no-install-recommends google-chrome-stable
# #- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
# - mkdir -vp ~/.docker/cli-plugins/
# - curl --silent -L "https://github.com/docker/buildx/releases/download/v0.3.0/buildx-v0.3.0.linux-amd64" > ~/.docker/cli-plugins/docker-buildx
# - chmod a+x ~/.docker/cli-plugins/docker-buildx
# # to run petstore server locally via docker
#- echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin || true
#- docker pull swaggerapi/petstore
#- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore
@@ -133,7 +133,7 @@ script:
# fail fast
- set -e
# show docker buildx version
- docker buildx version
#- docker buildx version
# run integration tests defined in maven pom.xml
# WARN: Travis will timeout after 10 minutes of no stdout/stderr activity, which is problematic with mvn --quiet.
# show "error" only to reduce the log size
@@ -169,39 +169,39 @@ after_success:
popd;
fi;
fi;
## docker: build and push openapi-generator-online to DockerHub
- if [ $DOCKER_HUB_USERNAME ]; then
echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
docker buildx create --use;
if [ ! -z "$TRAVIS_TAG" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME:latest -t $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_GENERATOR_IMAGE_NAME -t $DOCKER_GENERATOR_IMAGE_NAME:latest-release ./modules/openapi-generator-online;
echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
fi;
if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online;
echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME for master";
fi;
fi;
## docker: build cli image and push to Docker Hub
- if [ $DOCKER_HUB_USERNAME ]; then
echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
cp docker-entrypoint.sh ./modules/openapi-generator-cli;
export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
docker buildx create --use;
docker buildx build --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
if [ ! -z "$TRAVIS_TAG" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_CODEGEN_CLI_IMAGE_NAME -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest-release ./modules/openapi-generator-cli;
echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
fi;
if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME";
fi;
fi;
## NOTE; we will do the followign manually instead as the page doesn't need to be updated in every single travis build
# ## docker: build and push openapi-generator-online to DockerHub
# - if [ $DOCKER_HUB_USERNAME ]; then
# echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
# export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
# export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
# docker buildx create --use;
# if [ ! -z "$TRAVIS_TAG" ]; then
# docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME:latest -t $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_GENERATOR_IMAGE_NAME -t $DOCKER_GENERATOR_IMAGE_NAME:latest-release ./modules/openapi-generator-online;
# echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
# fi;
# if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
# docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-online --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/openapi-generator-online;
# echo "Pushed to $DOCKER_GENERATOR_IMAGE_NAME for master";
# fi;
# fi;
## ## docker: build cli image and push to Docker Hub
# - if [ $DOCKER_HUB_USERNAME ]; then
# echo "$DOCKER_HUB_PASSWORD" | docker login --username=$DOCKER_HUB_USERNAME --password-stdin;
# cp docker-entrypoint.sh ./modules/openapi-generator-cli;
# export cli_version=$(\mvn -o org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[');
# export build_date=$(date -u +"%Y-%m-%dT%H:%M:%SZ");
# docker buildx create --use;
# docker buildx build --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
# if [ ! -z "$TRAVIS_TAG" ]; then
# docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG -t $DOCKER_CODEGEN_CLI_IMAGE_NAME -t $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest-release ./modules/openapi-generator-cli;
# echo "Built and tagged $DOCKER_GENERATOR_IMAGE_NAME";
# fi;
# if [ -z "$TRAVIS_TAG" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
# docker buildx build --push --platform linux/amd64,linux/arm64 --label=org.opencontainers.image.created=$build_date --label=org.opencontainers.image.title=openapi-generator-cli --label=org.opencontainers.image.revision=$TRAVIS_COMMIT --label=org.opencontainers.image.version=$cli_version -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/openapi-generator-cli;
# echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME";
# fi;
# fi;
# ## NOTE; we will do the followign manually instead as the page doesn't need to be updated in every single travis build
## publish latest website, variables below are secure environment variables which are unavailable to PRs from forks.
# - if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
# sed -i "s/Vector{UInt8}/Vector\&#123;UInt8\&#125;/g" docs/generators/julia-client.md;

View File

@@ -115,6 +115,7 @@ elif [ "$NODE_INDEX" = "3" ]; then
(cd samples/client/petstore/javascript-flowtyped && mvn integration-test)
(cd samples/client/petstore/javascript-es6 && mvn integration-test)
(cd samples/client/petstore/javascript-promise-es6 && mvn integration-test)
(cd samples/server/petstore/typescript-nestjs-server && mvn integration-test)
else
echo "Running node $NODE_INDEX ..."

View File

@@ -1025,6 +1025,7 @@ Here is a list of template creators:
* Apex: @asnelling
* Bash: @bkryza
* C: @PowerOfCreation @zhemant [:heart:](https://www.patreon.com/zhemant)
* C++ Oat++: @Kraust
* C++ REST: @Danielku15
* C++ Tiny: @AndersSpringborg @kaareHH @michelealbano @mkakbas
* C++ UE4: @Kahncode
@@ -1270,7 +1271,7 @@ If you want to join the committee, please kindly apply by sending an email to te
| Python | @cbornet (2017/09) @tomplus (2018/10) @krjakbrjak (2023/02) @fa0311 (2023/10) @multani (2023/10) |
| R | @Ramanth (2019/07) @saigiridhar21 (2019/07) |
| Ruby | @cliffano (2017/07) @zlx (2017/09) @autopp (2019/02) |
| Rust | @frol (2017/07) @farcaller (2017/08) @richardwhiuk (2019/07) @paladinzh (2020/05) @jacob-pro (2022/10) @@dsteeley (2025/07) |
| Rust | @frol (2017/07) @farcaller (2017/08) @richardwhiuk (2019/07) @paladinzh (2020/05) @jacob-pro (2022/10) @dsteeley (2025/07) |
| Scala | @clasnake (2017/07), @shijinkui (2018/01), @ramzimaalej (2018/03), @chameleon82 (2020/03), @Bouillie (2020/04) @fish86 (2023/06) |
| Swift | @jgavris (2017/07) @ehyche (2017/08) @Edubits (2017/09) @jaz-ah (2017/09) @4brunu (2019/11) @dydus0x14 (2023/06) |
| TypeScript | @TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @topce (2018/10) @akehir (2019/07) @petejohansonxo (2019/11) @amakhrov (2020/02) @davidgamero (2022/03) @mkusaka (2022/04) @joscha (2024/10) |

View File

@@ -43,6 +43,8 @@ build_script:
#- dotnet build samples\client\petstore\csharp\OpenAPIClient-ConditionalSerialization\Org.OpenAPITools.sln
test_script:
- dotnet test samples\client\petstore\csharp\generichost\latest\ComposedEnum\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\latest\InlineEnumAnyOf\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\latest\Tags\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\latest\HelloWorld\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj
- dotnet test samples\client\petstore\csharp\generichost\latest\OneOfList\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj

View File

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

View File

@@ -0,0 +1,10 @@
# for csharp generichost
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/latest/ComposedEnum
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/composed-enum.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
modelPropertySorting: alphabetical
operationParameterSorting: alphabetical
validateSpec: false

View File

@@ -0,0 +1,12 @@
# for csharp generichost
generatorName: csharp
outputDir: samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/inline-enum-any-of.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}'
modelPropertySorting: alphabetical
operationParameterSorting: alphabetical
validateSpec: false
inlineSchemaOptions:
RESOLVE_INLINE_ENUMS: true

View File

@@ -0,0 +1,10 @@
generatorName: go
outputDir: samples/openapi3/client/petstore/go/go-petstore-aws-signature
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-addpet-only.yaml
templateDir: modules/openapi-generator/src/main/resources/go
additionalProperties:
enumClassPrefix: "true"
packageName: petstore
disallowAdditionalPropertiesIfNotPresent: false
withAWSV4Signature: true

View File

@@ -0,0 +1,10 @@
generatorName: kotlin
outputDir: samples/client/petstore/kotlin-allOff-discriminator-kotlinx-serialization
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/polymorphism.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-allOff-discriminator
serializableModel: "false"
dateLibrary: java8
enumUnknownDefaultCase: true
serializationLibrary: kotlinx_serialization

View File

@@ -0,0 +1,6 @@
generatorName: kotlin
outputDir: samples/client/others/kotlin-integer-enum
inputSpec: modules/openapi-generator/src/test/resources/3_0/pr_21746.yaml
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
additionalProperties:
artifactId: kotlin-integer-enum

View File

@@ -9,6 +9,7 @@ additionalProperties:
basicAuthorization: true
basicAnalytic: true
ownedRequest: true
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -6,6 +6,7 @@ generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: apikey-auths
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -6,6 +6,7 @@ generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: rust-axum-array-params-test
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -5,7 +5,8 @@ templateDir: modules/openapi-generator/src/main/resources/rust-axum
generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: rust-axum-header-uui
packageName: rust-axum-header-uuid
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: "false"
enablePostProcessFile: true

View File

@@ -7,6 +7,7 @@ additionalProperties:
hideGenerationTimestamp: "true"
allowBlockingResponseSerialize: "true"
packageName: multipart-v3
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -6,6 +6,7 @@ generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: rust-axum-oneof
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: "false"
enablePostProcessFile: true

View File

@@ -7,6 +7,7 @@ additionalProperties:
hideGenerationTimestamp: "true"
allowBlockingValidator: "true"
packageName: openapi-v3
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -6,6 +6,7 @@ generateAliasAsModel: true
additionalProperties:
hideGenerationTimestamp: "true"
packageName: ops-v3
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

View File

@@ -7,6 +7,7 @@ additionalProperties:
hideGenerationTimestamp: "true"
packageName: petstore-with-fake-endpoints-models-for-testing
publishRustRegistry: crates-io
homePageUrl: https://github.com/openapitools/openapi-generator
globalProperties:
skipFormModel: false
enablePostProcessFile: true

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