mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-03 08:46:55 +00:00
Compare commits
151 Commits
ts-angular
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f9f14a7d8 | ||
|
|
da778c46b0 | ||
|
|
abea33c32a | ||
|
|
7a431db7ef | ||
|
|
f125e1072f | ||
|
|
9a6f14ad47 | ||
|
|
2d3082a1b7 | ||
|
|
18b359ba17 | ||
|
|
39ea9b6da7 | ||
|
|
fc5ccdf3a5 | ||
|
|
bf5f7b0d6b | ||
|
|
41f97d8187 | ||
|
|
5a2503dc49 | ||
|
|
1e7ca08ccc | ||
|
|
c0d98864e0 | ||
|
|
788f67dd01 | ||
|
|
7b83462a83 | ||
|
|
453997bd16 | ||
|
|
e9bc44bebe | ||
|
|
7a48bd8ef5 | ||
|
|
1689d7b5b6 | ||
|
|
08858a91e6 | ||
|
|
e9c842f150 | ||
|
|
41c54e8122 | ||
|
|
b8df8e7f22 | ||
|
|
578bdbe679 | ||
|
|
1b557790e6 | ||
|
|
3d6e9d5693 | ||
|
|
b9d4b56d1c | ||
|
|
ea62c676c9 | ||
|
|
6be8fb3047 | ||
|
|
6e0fe098f1 | ||
|
|
41024dc23b | ||
|
|
9116411dac | ||
|
|
1c447a1605 | ||
|
|
4a7e0c9bdc | ||
|
|
65f99ebb21 | ||
|
|
5d12e71b40 | ||
|
|
5711f391e9 | ||
|
|
ddfcc95b61 | ||
|
|
c5e0d0840b | ||
|
|
8a4246cbaf | ||
|
|
a1b962d0b6 | ||
|
|
3b4494d751 | ||
|
|
2c4c24728f | ||
|
|
5ad2f84650 | ||
|
|
74be550d94 | ||
|
|
554e10dc34 | ||
|
|
6699ecd9d2 | ||
|
|
9655c22ff6 | ||
|
|
6210db308e | ||
|
|
e86daf9059 | ||
|
|
c52cc1f275 | ||
|
|
2c7efda060 | ||
|
|
107d72c5f5 | ||
|
|
a52e902cb5 | ||
|
|
547eee1970 | ||
|
|
c1c74c0ec8 | ||
|
|
7690545276 | ||
|
|
ecb1e9e2cb | ||
|
|
039de98d4f | ||
|
|
6892768009 | ||
|
|
fd72d4d521 | ||
|
|
1e3f6d0ed9 | ||
|
|
886e4a6dd0 | ||
|
|
57d304f3f6 | ||
|
|
59f7d09c2e | ||
|
|
ec8ca20dec | ||
|
|
2ab5365fb2 | ||
|
|
2326eef7cf | ||
|
|
d318752478 | ||
|
|
86ff873a03 | ||
|
|
28e2254e7a | ||
|
|
69da1ea470 | ||
|
|
b1f2a67bc3 | ||
|
|
48648a4051 | ||
|
|
a6c753ea69 | ||
|
|
81285b75e4 | ||
|
|
c596bb7d8a | ||
|
|
ce338a4a23 | ||
|
|
fb444bf15e | ||
|
|
a144678459 | ||
|
|
95b9438fd9 | ||
|
|
7beb8a6102 | ||
|
|
2107686d3d | ||
|
|
7486f12e62 | ||
|
|
600c051fa5 | ||
|
|
f37b8cce58 | ||
|
|
64c8711356 | ||
|
|
65359d8050 | ||
|
|
7ce0096e73 | ||
|
|
0ae50f5a10 | ||
|
|
3347204425 | ||
|
|
93d7821281 | ||
|
|
1e614d4b96 | ||
|
|
66b742038a | ||
|
|
9b8ab659ac | ||
|
|
f9d2b8b579 | ||
|
|
0120486e62 | ||
|
|
44075c9edf | ||
|
|
3d4f29eac7 | ||
|
|
351b601368 | ||
|
|
2c248e6c93 | ||
|
|
68b0dfe6d1 | ||
|
|
31e462dc3e | ||
|
|
74488fa3c3 | ||
|
|
8c54f18f7c | ||
|
|
57d12811ef | ||
|
|
676efae183 | ||
|
|
a4d05b38f5 | ||
|
|
75ae04ecfd | ||
|
|
808d106e0c | ||
|
|
9d810e0fbb | ||
|
|
91a499b8c6 | ||
|
|
eda2e67b94 | ||
|
|
8643bc1d66 | ||
|
|
2b22d172da | ||
|
|
d605afeef5 | ||
|
|
6eff628139 | ||
|
|
1d071288f8 | ||
|
|
816befc466 | ||
|
|
3d00fd2adc | ||
|
|
00d16496c8 | ||
|
|
57752d190c | ||
|
|
6572d5d9a6 | ||
|
|
c15ba67fc9 | ||
|
|
63ddce0c1b | ||
|
|
01139e6963 | ||
|
|
e7dae1a81e | ||
|
|
4e7bba659b | ||
|
|
88bba259e9 | ||
|
|
8c85e3cedc | ||
|
|
d840c495c4 | ||
|
|
7c000687e4 | ||
|
|
23a2aafe91 | ||
|
|
2afe7d29cd | ||
|
|
6ede03d546 | ||
|
|
ee85775afd | ||
|
|
94e8997cc7 | ||
|
|
552ab4c6d5 | ||
|
|
2b00bab60a | ||
|
|
ccd43a5ce4 | ||
|
|
592c262277 | ||
|
|
40b9d69d5a | ||
|
|
323f978674 | ||
|
|
4fe1c4ac73 | ||
|
|
ecaf3ea48a | ||
|
|
ce1e9e0866 | ||
|
|
fc12a1b63a | ||
|
|
bce0ea65fe | ||
|
|
117042aa44 |
1
.github/workflows/gradle-plugin-tests.yaml
vendored
1
.github/workflows/gradle-plugin-tests.yaml
vendored
@@ -19,6 +19,7 @@ jobs:
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
1
.github/workflows/gradle-test.yaml
vendored
1
.github/workflows/gradle-test.yaml
vendored
@@ -37,6 +37,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 11
|
||||
cache: gradle
|
||||
# Cache Gradle Dependencies
|
||||
- name: Setup Gradle Dependencies Cache
|
||||
uses: actions/cache@v4
|
||||
|
||||
6
.github/workflows/linux.yaml
vendored
6
.github/workflows/linux.yaml
vendored
@@ -27,6 +27,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: ${{ matrix.java }}
|
||||
cache: gradle
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
@@ -61,7 +62,7 @@ jobs:
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
|
||||
- name: Upload Maven build artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
if: matrix.java == '11' && matrix.os == 'ubuntu-latest'
|
||||
with:
|
||||
name: artifact
|
||||
@@ -95,8 +96,9 @@ jobs:
|
||||
with:
|
||||
java-version: 11
|
||||
maven-version: 3.8.8
|
||||
cache: gradle
|
||||
- name: Download build artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v6
|
||||
with:
|
||||
name: artifact
|
||||
- name: Run Ensures Script
|
||||
|
||||
10
.github/workflows/openapi-generator.yaml
vendored
10
.github/workflows/openapi-generator.yaml
vendored
@@ -21,6 +21,7 @@ jobs:
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
@@ -41,7 +42,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@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: openapi-generator-cli.jar
|
||||
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar
|
||||
@@ -59,6 +60,7 @@ jobs:
|
||||
with:
|
||||
java-version: 11
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
@@ -79,7 +81,7 @@ jobs:
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
- name: Publish unit test reports
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: surefire-test-results
|
||||
path: '**/surefire-reports/TEST-*.xml'
|
||||
@@ -97,7 +99,7 @@ jobs:
|
||||
java-version: 11
|
||||
distribution: 'temurin'
|
||||
- name: Download openapi-generator-cli.jar artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v6
|
||||
with:
|
||||
name: openapi-generator-cli.jar
|
||||
path: modules/openapi-generator-cli/target
|
||||
@@ -136,7 +138,7 @@ jobs:
|
||||
java-version: 11
|
||||
distribution: 'temurin'
|
||||
- name: Download openapi-generator-cli.jar artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v6
|
||||
with:
|
||||
name: openapi-generator-cli.jar
|
||||
path: modules/openapi-generator-cli/target
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
- samples/server/petstore/aspnet/fastendpoints-useValidators
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Build
|
||||
|
||||
37
.github/workflows/samples-crystal.yaml
vendored
Normal file
37
.github/workflows/samples-crystal.yaml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: Samples Crystal clients
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- samples/client/petstore/crystal/**
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/client/petstore/crystal/**
|
||||
jobs:
|
||||
build:
|
||||
name: Build Crystal projects
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
sample:
|
||||
# clients
|
||||
- samples/client/petstore/crystal/
|
||||
services:
|
||||
petstore-api:
|
||||
image: swaggerapi/petstore
|
||||
ports:
|
||||
- 80:8080
|
||||
env:
|
||||
SWAGGER_HOST: http://petstore.swagger.io
|
||||
SWAGGER_BASE_PATH: /v2
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Install Crystal
|
||||
uses: crystal-lang/install-crystal@v1
|
||||
- name: Shards Install
|
||||
run: shards install
|
||||
working-directory: ${{ matrix.sample }}
|
||||
- name: Run tests
|
||||
run: crystal spec
|
||||
working-directory: ${{ matrix.sample }}
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
- samples/client/petstore/csharp/restsharp/standard2.0/Petstore/
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '7.0.x'
|
||||
- name: Build
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
# - samples/client/petstore/csharp/unityWebRequest/standard2.0/Petstore/
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: 3.1.*
|
||||
- name: Build
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
- samples/server/petstore/aspnetcore-6.0-useSwashBuckle
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '6.0.x'
|
||||
- name: Build
|
||||
|
||||
2
.github/workflows/samples-dotnet7-client.yml
vendored
2
.github/workflows/samples-dotnet7-client.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
- samples/client/petstore/csharp/restsharp/standard2.0/ConditionalSerialization/
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '7.0.x'
|
||||
- name: Build
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
- samples/client/echo_api/csharp/restsharp/net8/EchoApi
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Run echo server
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
- samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks/
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Build
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
- samples/server/petstore/aspnetcore-8.0-use-centralized-package-version-management
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Build
|
||||
|
||||
2
.github/workflows/samples-dotnet8.yaml
vendored
2
.github/workflows/samples-dotnet8.yaml
vendored
@@ -34,7 +34,7 @@ jobs:
|
||||
- samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- name: Build
|
||||
|
||||
2
.github/workflows/samples-dotnet9.yaml
vendored
2
.github/workflows/samples-dotnet9.yaml
vendored
@@ -48,7 +48,7 @@ jobs:
|
||||
#- samples/client/petstore/csharp/unityWebRequest/net9/Petstore
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-dotnet@v5.0.0
|
||||
- uses: actions/setup-dotnet@v5.0.1
|
||||
with:
|
||||
dotnet-version: '9.0.101'
|
||||
- name: Build
|
||||
|
||||
1
.github/workflows/samples-groovy.yaml
vendored
1
.github/workflows/samples-groovy.yaml
vendored
@@ -26,6 +26,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 8
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -61,6 +61,7 @@ jobs:
|
||||
- samples/client/petstore/java/native
|
||||
- samples/client/petstore/java/native-async
|
||||
- samples/client/petstore/java/native-jakarta
|
||||
- samples/client/petstore/java/native-useGzipFeature
|
||||
- samples/client/petstore/java/retrofit2
|
||||
- samples/client/petstore/java/retrofit2rx2
|
||||
- samples/client/petstore/java/retrofit2rx3
|
||||
@@ -118,6 +119,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 11
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -42,6 +42,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
3
.github/workflows/samples-jaxrs.yaml
vendored
3
.github/workflows/samples-jaxrs.yaml
vendored
@@ -34,6 +34,9 @@ jobs:
|
||||
- samples/server/petstore/jaxrs-cxf-cdi
|
||||
- samples/server/petstore/jaxrs-cxf-non-spring-app
|
||||
- samples/server/petstore/jaxrs-spec-microprofile-openapi-annotations
|
||||
- samples/server/petstore/jaxrs-spec-swagger-annotations
|
||||
- samples/server/petstore/jaxrs-spec-swagger-v3-annotations-jakarta
|
||||
- samples/server/petstore/jaxrs-spec-swagger-v3-annotations
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-java@v5
|
||||
|
||||
3
.github/workflows/samples-kotlin-client.yaml
vendored
3
.github/workflows/samples-kotlin-client.yaml
vendored
@@ -44,6 +44,7 @@ jobs:
|
||||
- samples/client/petstore/kotlin-threetenbp
|
||||
- samples/client/petstore/kotlin-kotlinx-datetime
|
||||
- samples/client/petstore/kotlin-uppercase-enum
|
||||
- samples/client/petstore/kotlin-array-integer-enum
|
||||
- samples/client/petstore/kotlin-default-values-jvm-okhttp4
|
||||
- samples/client/petstore/kotlin-default-values-jvm-retrofit2
|
||||
- samples/client/petstore/kotlin-default-values-jvm-volley
|
||||
@@ -71,12 +72,14 @@ jobs:
|
||||
- samples/client/others/kotlin-jvm-okhttp-path-comments
|
||||
- samples/client/others/kotlin-integer-enum
|
||||
- samples/client/petstore/kotlin-allOf-discriminator-kotlinx-serialization
|
||||
- samples/client/others/kotlin-oneOf-discriminator-kotlinx-serialization
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 11
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -26,6 +26,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -8,6 +8,7 @@ on:
|
||||
- 'samples/server/petstore/kotlin-server-modelMutable/**'
|
||||
- 'samples/server/petstore/kotlin-springboot-*/**'
|
||||
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
|
||||
- 'samples/server/petstore/kotlin-spring-declarative*/**'
|
||||
# comment out due to gradle build failure
|
||||
# - samples/server/petstore/kotlin-spring-default/**
|
||||
pull_request:
|
||||
@@ -17,6 +18,7 @@ on:
|
||||
- 'samples/server/petstore/kotlin-server-modelMutable/**'
|
||||
- 'samples/server/petstore/kotlin-springboot-*/**'
|
||||
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
|
||||
- 'samples/server/petstore/kotlin-spring-declarative*/**'
|
||||
# comment out due to gradle build failure
|
||||
# - samples/server/petstore/kotlin-spring-default/**
|
||||
|
||||
@@ -34,6 +36,7 @@ jobs:
|
||||
# server
|
||||
- samples/server/petstore/kotlin-server-required-and-nullable-properties
|
||||
- samples/server/petstore/kotlin-springboot-3
|
||||
- samples/server/petstore/kotlin-springboot-3-no-response-entity
|
||||
- samples/server/petstore/kotlin-springboot-additionalproperties
|
||||
- samples/server/petstore/kotlin-springboot-delegate-nodefaults
|
||||
- samples/server/petstore/kotlin-springboot-request-cookie
|
||||
@@ -44,6 +47,10 @@ jobs:
|
||||
- samples/server/petstore/kotlin-server/ktor
|
||||
- samples/server/petstore/kotlin-server/ktor2
|
||||
- samples/server/petstore/kotlin-misk
|
||||
- samples/server/petstore/kotlin-spring-declarative-interface
|
||||
- samples/server/petstore/kotlin-spring-declarative-interface-reactive-coroutines
|
||||
- samples/server/petstore/kotlin-spring-declarative-interface-reactive-reactor-wrapped
|
||||
- samples/server/petstore/kotlin-spring-declarative-interface-wrapped
|
||||
# comment out due to gradle build failure
|
||||
# - samples/server/petstore/kotlin-spring-default/
|
||||
steps:
|
||||
@@ -52,6 +59,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
@@ -32,6 +32,7 @@ jobs:
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 21
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
6
.github/workflows/samples-kotlin-server.yaml
vendored
6
.github/workflows/samples-kotlin-server.yaml
vendored
@@ -29,6 +29,8 @@ jobs:
|
||||
sample:
|
||||
# server
|
||||
- samples/server/petstore/kotlin-springboot
|
||||
- samples/server/petstore/kotlin-springboot-no-response-entity
|
||||
- samples/server/petstore/kotlin-springboot-no-response-entity-delegate
|
||||
- samples/server/petstore/kotlin-springboot-multipart-request-model
|
||||
- samples/server/petstore/kotlin-springboot-bigdecimal-default
|
||||
- samples/server/petstore/kotlin-springboot-delegate
|
||||
@@ -39,6 +41,7 @@ jobs:
|
||||
- samples/server/petstore/kotlin-springboot-source-swagger2
|
||||
- samples/server/petstore/kotlin-springboot-springfox
|
||||
- samples/server/petstore/kotlin-springboot-x-kotlin-implements
|
||||
- samples/server/petstore/kotlin-springboot-include-http-request-context-delegate
|
||||
- samples/server/petstore/kotlin-server/ktor
|
||||
- samples/server/petstore/kotlin-server/ktor2
|
||||
- samples/server/petstore/kotlin-server/jaxrs-spec
|
||||
@@ -59,7 +62,8 @@ jobs:
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: 8
|
||||
java-version: 11
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
5
.github/workflows/samples-rust-server.yaml
vendored
5
.github/workflows/samples-rust-server.yaml
vendored
@@ -39,7 +39,10 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: cargo build --all-targets --all-features
|
||||
run: |
|
||||
set -e
|
||||
cargo build --all-targets --all-features
|
||||
cargo build --all-targets --no-default-features
|
||||
- name: Tests
|
||||
working-directory: ${{ matrix.sample }}
|
||||
run: |
|
||||
|
||||
2
.github/workflows/samples-swift5.yaml
vendored
2
.github/workflows/samples-swift5.yaml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- uses: swift-actions/setup-swift@v2
|
||||
- uses: swift-actions/setup-swift@v3
|
||||
if: ${{ matrix.os == 'ubuntu-latest' }}
|
||||
with:
|
||||
swift-version: '5'
|
||||
|
||||
@@ -4,6 +4,7 @@ on:
|
||||
push:
|
||||
paths:
|
||||
- samples/client/others/typescript-angular/**
|
||||
- samples/client/others/typescript-angular-v20/**
|
||||
# comment out angular released before Nov 2023
|
||||
#- samples/client/petstore/typescript-angular-v12-provided-in-root/**
|
||||
#- samples/client/petstore/typescript-angular-v13-provided-in-root/**
|
||||
@@ -43,6 +44,7 @@ on:
|
||||
pull_request:
|
||||
paths:
|
||||
- samples/client/others/typescript-angular/**
|
||||
- samples/client/others/typescript-angular-v20/**
|
||||
#- samples/client/petstore/typescript-angular-v12-provided-in-root/**
|
||||
#- samples/client/petstore/typescript-angular-v13-provided-in-root/**
|
||||
#- samples/client/petstore/typescript-angular-v14-provided-in-root/**
|
||||
@@ -92,6 +94,7 @@ jobs:
|
||||
- "20.x"
|
||||
sample:
|
||||
- samples/client/others/typescript-angular/
|
||||
- samples/client/others/typescript-angular-v20/
|
||||
#- samples/client/petstore/typescript-angular-v12-provided-in-root/
|
||||
#- samples/client/petstore/typescript-angular-v13-provided-in-root/
|
||||
#- samples/client/petstore/typescript-angular-v14-provided-in-root/
|
||||
|
||||
@@ -16,9 +16,9 @@ jobs:
|
||||
# clients
|
||||
- samples/client/others/typescript/encode-decode/test
|
||||
node-version:
|
||||
- 16
|
||||
- 18
|
||||
- 20
|
||||
- 22
|
||||
- 24
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
|
||||
1
.github/workflows/windows.yaml
vendored
1
.github/workflows/windows.yaml
vendored
@@ -24,6 +24,7 @@ jobs:
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
- name: Cache maven dependencies
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -49,6 +49,8 @@ nb-configuration.xml
|
||||
*.xml~
|
||||
*.t~
|
||||
|
||||
**/.angular
|
||||
|
||||
/target
|
||||
/generated-files
|
||||
test-output/
|
||||
|
||||
@@ -11,43 +11,15 @@ export NODE_ENV=test
|
||||
|
||||
if [ "$NODE_INDEX" = "1" ]; then
|
||||
echo "Running node $NODE_INDEX ..."
|
||||
java -version
|
||||
|
||||
sudo apt-get -y install cpanminus
|
||||
|
||||
# install rust
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||
source "$HOME/.cargo/env"
|
||||
|
||||
echo "Testing perl"
|
||||
(cd samples/client/petstore/perl && /bin/bash ./test.bash)
|
||||
|
||||
echo "Testing ruby"
|
||||
(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)
|
||||
(cd samples/client/petstore/ruby-autoload && mvn integration-test)
|
||||
|
||||
echo "Testing rust"
|
||||
(cd samples/server/petstore/rust-axum && mvn integration-test)
|
||||
|
||||
elif [ "$NODE_INDEX" = "2" ]; then
|
||||
echo "Running node $NODE_INDEX to test Go"
|
||||
# install haskell
|
||||
#curl -sSLk https://get.haskellstack.org/ | sh
|
||||
#stack upgrade
|
||||
#stack --version
|
||||
|
||||
# install curl
|
||||
#sudo apt-get -y build-dep libcurl4-gnutls-dev
|
||||
#sudo apt-get -y install libcurl4-gnutls-dev
|
||||
|
||||
# Install golang version 1.18
|
||||
go version
|
||||
sudo mkdir /usr/local/go1.18
|
||||
wget -c https://dl.google.com/go/go1.18.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local/go1.18
|
||||
export PATH="/usr/local/go1.18/go/bin:$PATH"
|
||||
go version
|
||||
echo "Running node $NODE_INDEX to test cpp-restsdk"
|
||||
|
||||
# install cpprestsdk
|
||||
sudo apt-get install libcpprest-dev
|
||||
@@ -62,54 +34,15 @@ elif [ "$NODE_INDEX" = "3" ]; then
|
||||
|
||||
echo "Running node $NODE_INDEX ... "
|
||||
|
||||
## Install node@stable (for angular 6)
|
||||
#set +e
|
||||
#curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
|
||||
#export NVM_DIR="/opt/circleci/.nvm"
|
||||
#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
##nvm install stable
|
||||
## install v16 instead of the latest stable version
|
||||
#nvm install 18
|
||||
#nvm alias default 18
|
||||
#node --version
|
||||
|
||||
## Each step uses the same `$BASH_ENV`, so need to modify it
|
||||
#echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
|
||||
#echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
|
||||
|
||||
#(cd samples/client/others/typescript-angular && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-angular-v12-provided-in-root && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-angular-v13-provided-in-root && mvn integration-test)
|
||||
#(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/client/petstore/typescript-angular-v18-provided-in-root && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-angular-v19-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)
|
||||
#(cd samples/openapi3/client/petstore/typescript/tests/jquery && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/builds/object_params && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/tests/object_params && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/builds/inversify && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/tests/inversify && mvn integration-test)
|
||||
##(cd samples/openapi3/client/petstore/typescript/tests/deno && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/builds/browser && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/tests/browser && mvn integration-test)
|
||||
#(cd samples/openapi3/client/petstore/typescript/builds/nullable-enum && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-fetch/builds/default && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-fetch/builds/es6-target && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-fetch/builds/with-npm-version && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-fetch/tests/default && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-node/npm && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-rxjs/builds/with-npm-version && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-axios/builds/with-npm-version && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-axios/tests/default && mvn integration-test)
|
||||
#(cd samples/client/petstore/typescript-axios/tests/with-complex-headers && mvn integration-test)
|
||||
echo "Testing ruby"
|
||||
(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)
|
||||
(cd samples/client/petstore/ruby-autoload && mvn integration-test)
|
||||
|
||||
else
|
||||
echo "Running node $NODE_INDEX ..."
|
||||
java -version
|
||||
./mvnw clean install
|
||||
|
||||
fi
|
||||
|
||||
19
README.md
19
README.md
@@ -15,7 +15,7 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.17.0`):
|
||||
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.18.0`):
|
||||
[](https://circleci.com/gh/OpenAPITools/openapi-generator)
|
||||
[](https://app.bitrise.io/app/4a2b10a819d12b67)
|
||||
|
||||
@@ -148,8 +148,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
|
||||
|
||||
| OpenAPI Generator Version | Release Date | Notes |
|
||||
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
|
||||
| 7.17.0 (upcoming minor release) [SNAPSHOT](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) | 24.10.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [7.16.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.16.0) (latest stable release) | 28.09.2025 | Minor release with breaking changes (with fallback) |
|
||||
| 7.18.0 (upcoming minor release) [SNAPSHOT](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) | 10.12.2025 | Minor release with breaking changes (with fallback) |
|
||||
| [7.17.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.17.0) (latest stable release) | 29.10.2025 | 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) |
|
||||
@@ -212,16 +212,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.16.0/openapi-generator-cli-7.16.0.jar`
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.0.jar`
|
||||
|
||||
For **Mac/Linux** users:
|
||||
```sh
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.16.0/openapi-generator-cli-7.16.0.jar -O openapi-generator-cli.jar
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.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.16.0/openapi-generator-cli-7.16.0.jar
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.0.jar
|
||||
```
|
||||
|
||||
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
|
||||
@@ -456,7 +456,7 @@ openapi-generator-cli version
|
||||
To use a specific version of "openapi-generator-cli"
|
||||
|
||||
```sh
|
||||
openapi-generator-cli version-manager set 7.16.0
|
||||
openapi-generator-cli version-manager set 7.17.0
|
||||
```
|
||||
|
||||
Or install it as dev-dependency:
|
||||
@@ -480,7 +480,7 @@ pip install openapi-generator-cli
|
||||
|
||||
To install a specific version
|
||||
```
|
||||
pip install openapi-generator-cli==7.16.0
|
||||
pip install openapi-generator-cli==7.17.0
|
||||
```
|
||||
|
||||
You can also install with [jdk4py](https://github.com/activeviam/jdk4py) instead of java binary. (python>=3.10 is required)
|
||||
@@ -506,7 +506,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
|
||||
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
|
||||
|
||||
<!-- RELEASE_VERSION -->
|
||||
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.16.0/openapi-generator-cli-7.16.0.jar)
|
||||
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.0.jar)
|
||||
<!-- /RELEASE_VERSION -->
|
||||
|
||||
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
|
||||
@@ -1182,6 +1182,7 @@ Here is a list of template creators:
|
||||
* Scala Finch: @jimschubert [:heart:](https://www.patreon.com/jimschubert)
|
||||
* Scala Lagom: @gmkumar2005
|
||||
* Scala Play: @adigerber
|
||||
* TypeScript NestJS: @aryobenholzner
|
||||
* Documentation
|
||||
* AsciiDoc: @man-at-home
|
||||
* HTML Doc 2: @jhitchcock
|
||||
|
||||
@@ -6,6 +6,7 @@ additionalProperties:
|
||||
shardVersion: 1.0.0
|
||||
moduleName: Petstore
|
||||
shardName: petstore
|
||||
#paramsEncoder: Crest::EnumeratedFlatParamsEncoder
|
||||
strictSpecBehavior: false
|
||||
modelNameMappings:
|
||||
PropertyNameMapping: AnotherPropertyNameMapping
|
||||
|
||||
9
bin/configs/java-native-useGzipFeature.yaml
Normal file
9
bin/configs/java-native-useGzipFeature.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
generatorName: java
|
||||
outputDir: samples/client/petstore/java/native-useGzipFeature
|
||||
library: native
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-addpet-only.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/Java
|
||||
additionalProperties:
|
||||
artifactId: petstore-native-useGzipFeature
|
||||
hideGenerationTimestamp: "true"
|
||||
useJakartaEe: "true"
|
||||
11
bin/configs/jaxrs-spec-swagger-annotations.yaml
Normal file
11
bin/configs/jaxrs-spec-swagger-annotations.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
generatorName: jaxrs-spec
|
||||
outputDir: samples/server/petstore/jaxrs-spec-swagger-annotations
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/jaxrs-spec/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec
|
||||
additionalProperties:
|
||||
artifactId: jaxrs-spec-petstore-server
|
||||
serializableModel: "true"
|
||||
hideGenerationTimestamp: "true"
|
||||
implicitHeadersRegex: (api_key|enum_header_string)
|
||||
generateBuilders: "true"
|
||||
useSwaggerAnnotations: "true"
|
||||
12
bin/configs/jaxrs-spec-swagger-v3-annotations-jakarta.yaml
Normal file
12
bin/configs/jaxrs-spec-swagger-v3-annotations-jakarta.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
generatorName: jaxrs-spec
|
||||
outputDir: samples/server/petstore/jaxrs-spec-swagger-v3-annotations-jakarta
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/jaxrs-spec/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec
|
||||
additionalProperties:
|
||||
artifactId: jaxrs-spec-petstore-server-jakarta-swagger-v3
|
||||
serializableModel: "true"
|
||||
hideGenerationTimestamp: "true"
|
||||
implicitHeadersRegex: (api_key|enum_header_string)
|
||||
generateBuilders: "true"
|
||||
useSwaggerV3Annotations: "true"
|
||||
useJakartaEe: "true"
|
||||
11
bin/configs/jaxrs-spec-swagger-v3-annotations.yaml
Normal file
11
bin/configs/jaxrs-spec-swagger-v3-annotations.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
generatorName: jaxrs-spec
|
||||
outputDir: samples/server/petstore/jaxrs-spec-swagger-v3-annotations
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/jaxrs-spec/petstore-with-fake-endpoints-models-for-testing.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/JavaJaxRS/spec
|
||||
additionalProperties:
|
||||
artifactId: jaxrs-spec-petstore-server
|
||||
serializableModel: "true"
|
||||
hideGenerationTimestamp: "true"
|
||||
implicitHeadersRegex: (api_key|enum_header_string)
|
||||
generateBuilders: "true"
|
||||
useSwaggerV3Annotations: "true"
|
||||
8
bin/configs/kotlin-array-integer-enum.yaml
Normal file
8
bin/configs/kotlin-array-integer-enum.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: kotlin
|
||||
outputDir: samples/client/petstore/kotlin-array-integer-enum
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/issue15204-int-array-enum.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
|
||||
additionalProperties:
|
||||
artifactId: kotlin-array-integer-enum
|
||||
serializableModel: "true"
|
||||
dateLibrary: java8
|
||||
@@ -0,0 +1,12 @@
|
||||
generatorName: kotlin
|
||||
outputDir: samples/client/others/kotlin-oneOf-discriminator-kotlinx-serialization
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/polymorphism-oneof-discriminator.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-client
|
||||
additionalProperties:
|
||||
artifactId: kotlin-oneOf-discriminator
|
||||
serializableModel: "false"
|
||||
dateLibrary: java8
|
||||
library: jvm-retrofit2
|
||||
enumUnknownDefaultCase: true
|
||||
serializationLibrary: kotlinx_serialization
|
||||
generateOneOfAnyOfWrappers: true
|
||||
14
bin/configs/kotlin-spring-boot-3-no-response-entity.yaml
Normal file
14
bin/configs/kotlin-spring-boot-3-no-response-entity.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-springboot-3-no-response-entity
|
||||
library: spring-boot
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: none
|
||||
annotationLibrary: none
|
||||
useSwaggerUI: "false"
|
||||
serviceImplementation: "true"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
useSpringBoot3: "true"
|
||||
requestMappingMode: api_interface
|
||||
@@ -0,0 +1,17 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-springboot-include-http-request-context-delegate
|
||||
library: spring-boot
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-with-x-kotlin-implements.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: none
|
||||
annotationLibrary: swagger1
|
||||
useSwaggerUI: false
|
||||
serviceImplementation: false
|
||||
skipDefaultInterface: true
|
||||
interfaceOnly: false
|
||||
serializableModel: true
|
||||
beanValidations: true
|
||||
includeHttpRequestContext: true
|
||||
reactive: true
|
||||
delegatePattern: true
|
||||
@@ -0,0 +1,15 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-springboot-no-response-entity-delegate
|
||||
library: spring-boot
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: none
|
||||
annotationLibrary: none
|
||||
useSwaggerUI: "false"
|
||||
serviceImplementation: "true"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
useResponseEntity: "false"
|
||||
delegatePattern: true
|
||||
requestMappingMode: controller
|
||||
14
bin/configs/kotlin-spring-boot-no-response-entity.yaml
Normal file
14
bin/configs/kotlin-spring-boot-no-response-entity.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-springboot-no-response-entity
|
||||
library: spring-boot
|
||||
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: none
|
||||
annotationLibrary: none
|
||||
useSwaggerUI: "false"
|
||||
serviceImplementation: "true"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
useResponseEntity: "false"
|
||||
requestMappingMode: controller
|
||||
@@ -5,10 +5,11 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/kotlin/petstore-with
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: none
|
||||
annotationLibrary: none
|
||||
useSwaggerUI: "false"
|
||||
serviceImplementation: "false"
|
||||
skipDefaultInterface: "true"
|
||||
interfaceOnly: "true"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
annotationLibrary: swagger1
|
||||
useSwaggerUI: false
|
||||
serviceImplementation: false
|
||||
skipDefaultInterface: true
|
||||
interfaceOnly: true
|
||||
serializableModel: true
|
||||
beanValidations: true
|
||||
includeHttpRequestContext: true
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-spring-declarative-interface-reactive-coroutines
|
||||
library: spring-declarative-http-interface
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: springDoc
|
||||
annotationLibrary: swagger2
|
||||
useSwaggerUI: "false"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
interfaceOnly: true
|
||||
reactive: true
|
||||
useResponseEntity: false
|
||||
useFlowForArrayReturnType: false
|
||||
declarativeInterfaceReactiveMode: "coroutines"
|
||||
@@ -0,0 +1,16 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-spring-declarative-interface-reactive-reactor-wrapped
|
||||
library: spring-declarative-http-interface
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: springDoc
|
||||
annotationLibrary: swagger2
|
||||
useSwaggerUI: "false"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
interfaceOnly: true
|
||||
reactive: true
|
||||
useResponseEntity: true
|
||||
useFlowForArrayReturnType: false
|
||||
declarativeInterfaceReactiveMode: "reactor"
|
||||
15
bin/configs/kotlin-spring-declarative-interface-wrapped.yaml
Normal file
15
bin/configs/kotlin-spring-declarative-interface-wrapped.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-spring-declarative-interface-wrapped
|
||||
library: spring-declarative-http-interface
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: springDoc
|
||||
annotationLibrary: swagger2
|
||||
useSwaggerUI: "false"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
interfaceOnly: true
|
||||
reactive: false
|
||||
useResponseEntity: true
|
||||
useFlowForArrayReturnType: false
|
||||
15
bin/configs/kotlin-spring-declarative-interface.yaml
Normal file
15
bin/configs/kotlin-spring-declarative-interface.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
generatorName: kotlin-spring
|
||||
outputDir: samples/server/petstore/kotlin-spring-declarative-interface
|
||||
library: spring-declarative-http-interface
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/kotlin-spring
|
||||
additionalProperties:
|
||||
documentationProvider: springDoc
|
||||
annotationLibrary: swagger2
|
||||
useSwaggerUI: "false"
|
||||
serializableModel: "true"
|
||||
beanValidations: "true"
|
||||
interfaceOnly: true
|
||||
reactive: false
|
||||
useResponseEntity: true
|
||||
useFlowForArrayReturnType: false
|
||||
@@ -6,7 +6,7 @@ library: httpx
|
||||
additionalProperties:
|
||||
packageName: petstore_api
|
||||
mapNumberTo: float
|
||||
poetry1: true
|
||||
poetry1: false
|
||||
nameMappings:
|
||||
_type: underscore_type
|
||||
type_: type_with_underscore
|
||||
|
||||
8
bin/configs/rust-reqwest-enum-query-params.yaml
Normal file
8
bin/configs/rust-reqwest-enum-query-params.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: rust
|
||||
outputDir: samples/client/others/rust/reqwest/enum-query-params
|
||||
library: reqwest
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/enum-query-params.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: true
|
||||
packageName: enum-query-params-reqwest
|
||||
@@ -5,6 +5,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: true
|
||||
useAsyncFileStream: true
|
||||
supportMiddleware: true
|
||||
supportMultipleResponses: true
|
||||
packageName: petstore-reqwest-async-middleware
|
||||
|
||||
@@ -5,6 +5,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: true
|
||||
useAsyncFileStream: true
|
||||
supportTokenSource: true
|
||||
supportMultipleResponses: true
|
||||
packageName: petstore-reqwest-async-tokensource
|
||||
|
||||
@@ -5,6 +5,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: true
|
||||
useAsyncFileStream: true
|
||||
supportMultipleResponses: true
|
||||
packageName: petstore-reqwest-async
|
||||
useSingleRequestParameter: true
|
||||
|
||||
@@ -5,6 +5,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
supportAsync: true
|
||||
useAsyncFileStream: true
|
||||
supportMultipleResponses: true
|
||||
avoidBoxedModels: true
|
||||
packageName: petstore-reqwest-avoid-box
|
||||
|
||||
11
bin/configs/rust-reqwest-petstore-serde-path-to-error.yaml
Normal file
11
bin/configs/rust-reqwest-petstore-serde-path-to-error.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
generatorName: rust
|
||||
outputDir: samples/client/petstore/rust/reqwest/petstore-serde-path-to-error
|
||||
library: reqwest
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/rust
|
||||
additionalProperties:
|
||||
packageName: petstore-reqwest-serde-path-to-error
|
||||
useAsyncFileStream: true
|
||||
useSerdePathToError: true
|
||||
enumNameMappings:
|
||||
delivered: shipped
|
||||
@@ -1,8 +0,0 @@
|
||||
generatorName: typescript-angular
|
||||
outputDir: samples/client/petstore/typescript-angular-v19/builds/deep-object
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/deep-object-query.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
|
||||
additionalProperties:
|
||||
ngVersion: 19.0.0
|
||||
npmName: sample-angular-19-0-0-deep-object
|
||||
supportsES6: true
|
||||
@@ -0,0 +1,8 @@
|
||||
generatorName: typescript-angular
|
||||
outputDir: samples/client/others/typescript-angular-v20/builds/query-param-deep-object
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/query-param-deep-object.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
|
||||
additionalProperties:
|
||||
ngVersion: 20.0.0
|
||||
npmName: sample-angular-20-0-0-query-param-deep-object
|
||||
supportsES6: true
|
||||
8
bin/configs/typescript-angular-v20-query-param-form.yaml
Normal file
8
bin/configs/typescript-angular-v20-query-param-form.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: typescript-angular
|
||||
outputDir: samples/client/others/typescript-angular-v20/builds/query-param-form
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/query-param-form.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
|
||||
additionalProperties:
|
||||
ngVersion: 20.0.0
|
||||
npmName: sample-angular-20-0-0-query-param-form
|
||||
supportsES6: true
|
||||
8
bin/configs/typescript-angular-v20-query-param-json.yaml
Normal file
8
bin/configs/typescript-angular-v20-query-param-json.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
generatorName: typescript-angular
|
||||
outputDir: samples/client/others/typescript-angular-v20/builds/query-param-json
|
||||
inputSpec: modules/openapi-generator/src/test/resources/3_0/query-param-json.yaml
|
||||
templateDir: modules/openapi-generator/src/main/resources/typescript-angular
|
||||
additionalProperties:
|
||||
ngVersion: 20.0.0
|
||||
npmName: sample-angular-20-0-0-query-param-json
|
||||
supportsES6: true
|
||||
@@ -31,10 +31,10 @@
|
||||
sha256: 24c6a39a9d7327d397dc038c368a19c84f14ed96a69fe28d53719b3eaf0a725c
|
||||
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/api/PetApiTest.java"
|
||||
sha256: 5e9f471d34310f94895751bb96cc79583376f043593c3a387c82077c70f8102f
|
||||
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/model/MammalTest.java"
|
||||
sha256: 67a9e63e13ebddac21cb236aa015edce30f5d3bd8d6adcf50044cad00d48c45e
|
||||
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/model/ZebraTest.java"
|
||||
sha256: 15eeb6d8a9a79d0f1930b861540d9c5780d6c49ea4fdb68269ac3e7ec481e142
|
||||
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/MammalTest.java"
|
||||
sha256: a09c120b694788b12f8d73cc0dd307e509ee1744b2ff45c5711b1186c419f915
|
||||
- filename: "samples/client/petstore/java/jersey3/src/test/java/org/openapitools/client/ZebraTest.java"
|
||||
sha256: 15e509d8cb8e9b050c6418cfbf8a5dced9acc97cf29e5727da9f907c52d11f1e
|
||||
- filename: "samples/client/petstore/java/okhttp-gson-3.1/src/test/java/org/openapitools/client/api/PetApiTest.java"
|
||||
sha256: d8f7fff724f81e666daf115cc25f8347e1fda4e861aa30df0dae3fa50c91404c
|
||||
- filename: "samples/client/petstore/java/okhttp-gson-dynamicOperations/src/test/java/org/openapitools/client/api/PetApiTest.java"
|
||||
@@ -59,6 +59,6 @@
|
||||
sha256: 45cdaba3d2adc212cd4f0184ad475419a95e2326254c2ef84175e210c922b2f3
|
||||
# rust axum test files
|
||||
- filename: "samples/server/petstore/rust-axum/output/rust-axum-oneof/tests/oneof_with_discriminator.rs"
|
||||
sha256: 2d4f5a069fdcb3057bb078d5e75b3de63cd477b97725e457079df24bd2c30600
|
||||
sha256: b2093528aac971193f2863a70f46eea45cf8bda79120b133a614599e80d8b46d
|
||||
- filename: "samples/server/petstore/rust-axum/output/openapi-v3/tests/oneof_untagged.rs"
|
||||
sha256: 1d3fb01f65e98290b1d3eece28014c7d3e3f2fdf18e7110249d3c591cc4642ab
|
||||
|
||||
@@ -538,6 +538,8 @@ OpenAPI Normalizer transforms the input OpenAPI doc/spec (which may not perfectl
|
||||
|
||||
- SIMPLIFY_ONEOF_ANYOF
|
||||
- SIMPLIFY_BOOLEAN_ENUM
|
||||
- SIMPLIFY_ONEOF_ANYOF_ENUM
|
||||
- REFACTOR_ALLOF_WITH_PROPERTIES_ONLY
|
||||
|
||||
(One can use `DISABLE_ALL=true` to disable all the rules)
|
||||
|
||||
@@ -564,8 +566,7 @@ Example:
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/simplifyAnyOfStringAndEnumString_test.yaml -o /tmp/java-okhttp/ --openapi-normalizer SIMPLIFY_ANYOF_STRING_AND_ENUM_STRING=true
|
||||
```
|
||||
|
||||
- `SIMPLIFY_ONEOF_ANYOF_ENUM`: when set to true, oneOf/anyOf with only enum sub-schemas all containing enum values will be converted to a single enum
|
||||
This is enabled by default
|
||||
- `SIMPLIFY_ONEOF_ANYOF_ENUM`: when set to true, oneOf/anyOf with only enum sub-schemas all containing enum values will be converted to a single enum. This is enabled by default.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -643,9 +644,16 @@ Example:
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/required-properties.yaml -o /tmp/java-okhttp/ --openapi-normalizer NORMALIZER_CLASS=org.openapitools.codegen.OpenAPINormalizerTest$RemoveRequiredNormalizer
|
||||
```
|
||||
|
||||
- `REMOVE_PROPERTIES_FROM_TYPE_OTHER_THAN_OBJECT`: When set to true, remove the "properties" of a schema with type other than "object".
|
||||
|
||||
Example:
|
||||
```
|
||||
java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate -g java -i modules/openapi-generator/src/test/resources/3_0/required-properties.yaml -o /tmp/java-okhttp/ --openapi-normalizer REMOVE_PROPERTIES_FROM_TYPE_OTHER_THAN_OBJECT=true
|
||||
```
|
||||
|
||||
- `FILTER`
|
||||
|
||||
The `FILTER` parameter allows selective inclusion of API operations based on specific criteria. It applies the `x-internal: true` property to operations that do **not** match the specified values, preventing them from being generated.
|
||||
The `FILTER` parameter allows selective inclusion of API operations based on specific criteria. It applies the `x-internal: true` property to operations that do **not** match the specified values, preventing them from being generated. Multiple filters can be separated by a semicolon.
|
||||
|
||||
### Available Filters
|
||||
|
||||
@@ -658,6 +666,9 @@ The `FILTER` parameter allows selective inclusion of API operations based on spe
|
||||
- **`tag`**
|
||||
When set to `tag:person|basic`, operations **not** tagged with `person` or `basic` will be marked as internal (`x-internal: true`), and will not be generated.
|
||||
|
||||
- **`path`**
|
||||
When set to `path:/v1|/v2`, operations on paths **not** starting with `/v1` or with `/v2` will be marked as internal (`x-internal: true`), and will not be generated.
|
||||
|
||||
### Example Usage
|
||||
|
||||
```sh
|
||||
@@ -665,7 +676,7 @@ java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generat
|
||||
-g java \
|
||||
-i modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
|
||||
-o /tmp/java-okhttp/ \
|
||||
--openapi-normalizer FILTER="operationId:addPet|getPetById"
|
||||
--openapi-normalizer FILTER="operationId:addPet|getPetById ; tag:store"
|
||||
```
|
||||
|
||||
- `SET_CONTAINER_TO_NULLABLE`: When set to `array|set|map` (or just `array`) for example, it will set `nullable` in array, set and map to true.
|
||||
|
||||
@@ -3,6 +3,7 @@ id: generators
|
||||
title: Generators List
|
||||
---
|
||||
|
||||
[main] INFO o.o.c.l.PythonFastAPIServerCodegen - Skipping sorting of path operations, order matters, let the developer decide via their specification file.
|
||||
The following generators are available:
|
||||
|
||||
## CLIENT generators
|
||||
|
||||
@@ -25,6 +25,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|
||||
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|
||||
|moduleName|module name (e.g. TwitterClient| |OpenAPIClient|
|
||||
|paramsEncoder|params_encoder setting (e.g. Crest::NestedParamsEncoder, Crest::EnumeratedFlatParamsEncoder, Crest::ZeroEnumeratedFlatParamsEncoder| |Crest::NestedParamsEncoder|
|
||||
|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
|
||||
|shardAuthor|shard author (only one is supported).| |null|
|
||||
|shardAuthorEmail|shard author email (only one is supported).| |null|
|
||||
|
||||
@@ -133,6 +133,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|x-spring-paginated|Add `org.springframework.data.domain.Pageable` to controller method. Can be used to handle `page`, `size` and `sort` query parameters. If these query parameters are also specified in the operation spec, they will be removed from the controller method as their values can be obtained from the `Pageable` object.|OPERATION|false
|
||||
|x-version-param|Marker property that tells that this parameter would be used for endpoint versioning. Applicable for headers & query params. true/false|OPERATION_PARAMETER|null
|
||||
|x-pattern-message|Add this property whenever you need to customize the invalidation error message for the regex pattern of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-size-message|Add this property whenever you need to customize the invalidation error message for the size or length of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-minimum-message|Add this property whenever you need to customize the invalidation error message for the minimum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-maximum-message|Add this property whenever you need to customize the invalidation error message for the maximum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-spring-api-version|Value for 'version' attribute in @RequestMapping (for Spring 7 and above).|OPERATION|null
|
||||
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useSealedOneOfInterfaces|Generate the oneOf interfaces as sealed interfaces. Only supported for WebClient and RestClient.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY native, jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|useUnaryInterceptor|If true it will generate ResponseInterceptors using a UnaryOperator. This can be usefull for manipulating the request before it gets passed, for example doing your own decryption| |false|
|
||||
|webclientBlockingOperations|Making all WebClient operations blocking(sync). Note that if on operation 'x-webclient-blocking: false' then such operation won't be sync| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support (only available for okhttp-gson library)| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
||||
@@ -105,6 +105,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library. IMPORTANT: This option has been deprecated.| |false|
|
||||
|useSealedOneOfInterfaces|Generate the oneOf interfaces as sealed interfaces. Only supported for WebClient and RestClient.| |false|
|
||||
|useSingleRequestParameter|Setting this property to "true" will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter. ONLY native, jersey2, jersey3, okhttp-gson, microprofile, Spring RestClient, Spring WebClient support this option. Setting this property to "static" does the same as "true", but also makes the generated arguments class static with single parameter instantiation.| |false|
|
||||
|useUnaryInterceptor|If true it will generate ResponseInterceptors using a UnaryOperator. This can be usefull for manipulating the request before it gets passed, for example doing your own decryption| |false|
|
||||
|webclientBlockingOperations|Making all WebClient operations blocking(sync). Note that if on operation 'x-webclient-blocking: false' then such operation won't be sync| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support (only available for okhttp-gson library)| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
||||
@@ -84,6 +84,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useMutiny|Whether to use Smallrye Mutiny instead of CompletionStage for asynchronous computation. Only valid when library is set to quarkus.| |false|
|
||||
|useOneOfInterfaces|whether to use a java interface to describe a set of oneOf options, where each option is a class that implements the interface| |false|
|
||||
|useSwaggerAnnotations|Whether to generate Swagger annotations.| |true|
|
||||
|useSwaggerV3Annotations|Whether to generate Swagger v3 (OpenAPI v3) annotations.| |false|
|
||||
|useTags|use tags for creating interface and controller classnames| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useMutiny|Whether to use Smallrye Mutiny instead of CompletionStage for asynchronous computation. Only valid when library is set to quarkus.| |false|
|
||||
|useOneOfInterfaces|whether to use a java interface to describe a set of oneOf options, where each option is a class that implements the interface| |false|
|
||||
|useSwaggerAnnotations|Whether to generate Swagger annotations.| |true|
|
||||
|useSwaggerV3Annotations|Whether to generate Swagger v3 (OpenAPI v3) annotations.| |false|
|
||||
|useTags|use tags for creating interface and controller classnames| |false|
|
||||
|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
|
||||
|
||||
|
||||
@@ -27,14 +27,16 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|basePackage|base package (invokerPackage) for generated code| |org.openapitools|
|
||||
|beanQualifiers|Whether to add fully-qualifier class names as bean qualifiers in @Component and @RestController annotations. May be used to prevent bean names clash if multiple generated libraries (contexts) added to single project.| |false|
|
||||
|configPackage|configuration package for generated code| |org.openapitools.configuration|
|
||||
|declarativeInterfaceReactiveMode|What type of reactive style to use in Spring Http declarative interface|<dl><dt>**coroutines**</dt><dd>Use kotlin-idiomatic 'suspend' functions</dd><dt>**reactor**</dt><dd>Use reactor return wrappers 'Mono' and 'Flux'</dd></dl>|coroutines|
|
||||
|delegatePattern|Whether to generate the server files using the delegate pattern| |false|
|
||||
|documentationProvider|Select the OpenAPI documentation provider.|<dl><dt>**none**</dt><dd>Do not publish an OpenAPI specification.</dd><dt>**source**</dt><dd>Publish the original input OpenAPI specification.</dd><dt>**springfox**</dt><dd>Generate an OpenAPI 2 (fka Swagger RESTful API Documentation Specification) specification using SpringFox 2.x. Deprecated (for removal); use springdoc instead.</dd><dt>**springdoc**</dt><dd>Generate an OpenAPI 3 specification using SpringDoc.</dd></dl>|springdoc|
|
||||
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|
||||
|exceptionHandler|generate default global exception handlers (not compatible with reactive. enabling reactive will disable exceptionHandler )| |true|
|
||||
|gradleBuildFile|generate a gradle build file using the Kotlin DSL| |true|
|
||||
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|
||||
|includeHttpRequestContext|Whether to include HttpServletRequest (blocking) or ServerWebExchange (reactive) as additional parameter in generated methods.| |false|
|
||||
|interfaceOnly|Whether to generate only API interface stubs without the server files.| |false|
|
||||
|library|library template (sub-template)|<dl><dt>**spring-boot**</dt><dd>Spring-boot Server application.</dd><dt>**spring-cloud**</dt><dd>Spring-Cloud-Feign client with Spring-Boot auto-configured settings.</dd></dl>|spring-boot|
|
||||
|library|library template (sub-template)|<dl><dt>**spring-boot**</dt><dd>Spring-boot Server application.</dd><dt>**spring-cloud**</dt><dd>Spring-Cloud-Feign client with Spring-Boot auto-configured settings.</dd><dt>**spring-declarative-http-interface**</dt><dd>Spring Declarative Interface client</dd></dl>|spring-boot|
|
||||
|modelMutable|Create mutable models| |false|
|
||||
|modelPackage|model package for generated code| |org.openapitools.model|
|
||||
|packageName|Generated artifact package name.| |org.openapitools|
|
||||
@@ -53,6 +55,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|useBeanValidation|Use BeanValidation API annotations to validate data types| |true|
|
||||
|useFeignClientUrl|Whether to generate Feign client with url parameter.| |true|
|
||||
|useFlowForArrayReturnType|Whether to use Flow for array/collection return types when reactive is enabled. If false, will use List instead.| |true|
|
||||
|useResponseEntity|Whether (when false) to return actual type (e.g. List<Fruit>) and handle non-happy path responses via exceptions flow or (when true) return entire ResponseEntity (e.g. ResponseEntity<List<Fruit>>). If disabled, method are annotated using a @ResponseStatus annotation, which has the status of the first response declared in the Api definition| |true|
|
||||
|useSpringBoot3|Generate code and provide dependencies for use with Spring Boot 3.x. (Use jakarta instead of javax in imports). Enabling this option will also enable `useJakartaEe`.| |false|
|
||||
|useSwaggerUI|Open the OpenApi specification in swagger-ui. Will also import and configure needed dependencies| |true|
|
||||
|useTags|Whether to use tags for creating interface and controller class names| |false|
|
||||
@@ -67,6 +70,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|x-discriminator-value|Used with model inheritance to specify value for discriminator that identifies current model|MODEL|
|
||||
|x-field-extra-annotation|List of custom annotations to be added to property|FIELD, OPERATION_PARAMETER|null
|
||||
|x-pattern-message|Add this property whenever you need to customize the invalidation error message for the regex pattern of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-size-message|Add this property whenever you need to customize the invalidation error message for the size or length of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-minimum-message|Add this property whenever you need to customize the invalidation error message for the minimum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-maximum-message|Add this property whenever you need to customize the invalidation error message for the maximum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-kotlin-implements|Ability to specify interfaces that model must implement|MODEL|empty array
|
||||
|x-kotlin-implements-fields|Specify attributes that are implemented by the interface(s) added via `x-kotlin-implements`|MODEL|empty array
|
||||
|
||||
|
||||
@@ -226,8 +226,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|Polymorphism|✗|OAS2,OAS3
|
||||
|Union|✗|OAS3
|
||||
|allOf|✗|OAS2,OAS3
|
||||
|anyOf|✗|OAS3
|
||||
|oneOf|✗|OAS3
|
||||
|anyOf|✓|OAS3
|
||||
|oneOf|✓|OAS3
|
||||
|not|✗|OAS3
|
||||
|
||||
### Security Feature
|
||||
|
||||
@@ -55,6 +55,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
<ul class="column-ul">
|
||||
<li>Dict</li>
|
||||
<li>List</li>
|
||||
<li>UUID</li>
|
||||
<li>bool</li>
|
||||
<li>bytes</li>
|
||||
<li>date</li>
|
||||
@@ -155,7 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Uuid|✓|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|
||||
@@ -55,6 +55,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
<ul class="column-ul">
|
||||
<li>Dict</li>
|
||||
<li>List</li>
|
||||
<li>UUID</li>
|
||||
<li>bool</li>
|
||||
<li>bytes</li>
|
||||
<li>date</li>
|
||||
@@ -155,7 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Uuid|✓|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|
||||
@@ -50,6 +50,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
<ul class="column-ul">
|
||||
<li>Dict</li>
|
||||
<li>List</li>
|
||||
<li>UUID</li>
|
||||
<li>bool</li>
|
||||
<li>bytes</li>
|
||||
<li>date</li>
|
||||
@@ -150,7 +151,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Uuid|✓|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|
||||
@@ -55,6 +55,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
<ul class="column-ul">
|
||||
<li>Dict</li>
|
||||
<li>List</li>
|
||||
<li>UUID</li>
|
||||
<li>bool</li>
|
||||
<li>bytes</li>
|
||||
<li>date</li>
|
||||
@@ -155,7 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Uuid|✓|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|
||||
@@ -53,6 +53,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
<ul class="column-ul">
|
||||
<li>Dict</li>
|
||||
<li>List</li>
|
||||
<li>UUID</li>
|
||||
<li>bool</li>
|
||||
<li>bytearray</li>
|
||||
<li>bytes</li>
|
||||
@@ -155,7 +156,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|DateTime|✓|OAS2,OAS3
|
||||
|Password|✓|OAS2,OAS3
|
||||
|File|✓|OAS2
|
||||
|Uuid|✗|
|
||||
|Uuid|✓|
|
||||
|Array|✓|OAS2,OAS3
|
||||
|Null|✗|OAS3
|
||||
|AnyType|✗|OAS2,OAS3
|
||||
|
||||
@@ -34,6 +34,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|supportTokenSource|If set, add support for google-cloud-token. This option is for 'reqwest' and 'reqwest-trait' library only and requires the 'supportAsync' option| |false|
|
||||
|topLevelApiClient|Creates a top level `Api` trait and `ApiClient` struct that contain all Apis. This option is for 'reqwest-trait' library only| |false|
|
||||
|useBonBuilder|Use the bon crate for building parameter types. This option is for the 'reqwest-trait' library only| |false|
|
||||
|useSerdePathToError|If set, use the serde_path_to_error library to enhance serde error messages. This option is for 'reqwest' and 'reqwest-trait' library only| |false|
|
||||
|useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter.| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support| |false|
|
||||
|
||||
|
||||
@@ -126,6 +126,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|x-spring-paginated|Add `org.springframework.data.domain.Pageable` to controller method. Can be used to handle `page`, `size` and `sort` query parameters. If these query parameters are also specified in the operation spec, they will be removed from the controller method as their values can be obtained from the `Pageable` object.|OPERATION|false
|
||||
|x-version-param|Marker property that tells that this parameter would be used for endpoint versioning. Applicable for headers & query params. true/false|OPERATION_PARAMETER|null
|
||||
|x-pattern-message|Add this property whenever you need to customize the invalidation error message for the regex pattern of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-size-message|Add this property whenever you need to customize the invalidation error message for the size or length of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-minimum-message|Add this property whenever you need to customize the invalidation error message for the minimum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-maximum-message|Add this property whenever you need to customize the invalidation error message for the maximum value of a variable|FIELD, OPERATION_PARAMETER|null
|
||||
|x-spring-api-version|Value for 'version' attribute in @RequestMapping (for Spring 7 and above).|OPERATION|null
|
||||
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|supportsES6|Generate code that conforms to ES6.| |false|
|
||||
|useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter.| |false|
|
||||
|useSquareBracketsInArrayNames|Setting this property to true will add brackets to array attribute names, e.g. my_values[].| |false|
|
||||
|withAWSV4Signature|whether to include AWS v4 signature support| |false|
|
||||
|withInterfaces|Setting this property to true will generate interfaces next to the default class implementations.| |false|
|
||||
|withNodeImports|Setting this property to true adds imports for NodeJS| |false|
|
||||
|withSeparateModelsAndApi|Put the model and api in separate folders and in separate classes. This requires in addition a value for 'apiPackage' and 'modelPackage'| |false|
|
||||
@@ -291,7 +292,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|OAuth2_ClientCredentials|✗|OAS2,OAS3
|
||||
|OAuth2_AuthorizationCode|✗|OAS2,OAS3
|
||||
|SignatureAuth|✗|OAS3
|
||||
|AWSV4Signature|✗|ToolingExtension
|
||||
|AWSV4Signature|✓|ToolingExtension
|
||||
|
||||
### Wire Format Feature
|
||||
| Name | Supported | Defined By |
|
||||
|
||||
@@ -22,7 +22,7 @@ npm install @openapitools/openapi-generator-cli -g
|
||||
To install a specific version of the tool, pass the version during installation:
|
||||
<!-- RELEASE_VERSION -->
|
||||
```bash
|
||||
openapi-generator-cli version-manager set 7.16.0
|
||||
openapi-generator-cli version-manager set 7.17.0
|
||||
```
|
||||
<!-- /RELEASE_VERSION -->
|
||||
To install the tool as a dev dependency in your current project:
|
||||
@@ -119,18 +119,18 @@ docker run --rm \
|
||||
<!-- 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.16.0/openapi-generator-cli-7.16.0.jar`
|
||||
JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.0.jar`
|
||||
|
||||
For **Mac/Linux** users:
|
||||
|
||||
```bash
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.16.0/openapi-generator-cli-7.16.0.jar -O openapi-generator-cli.jar
|
||||
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.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.
|
||||
|
||||
```powershell
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.16.0/openapi-generator-cli-7.16.0.jar
|
||||
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.17.0/openapi-generator-cli-7.17.0.jar
|
||||
```
|
||||
<!-- /RELEASE_VERSION -->
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
|
||||
<plugin>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<version>7.16.0</version>
|
||||
<version>7.17.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -29,6 +29,7 @@ import io.airlift.airline.Arguments;
|
||||
import io.airlift.airline.Command;
|
||||
import io.airlift.airline.Option;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.Strings;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.openapitools.codegen.ClientOptInput;
|
||||
import org.openapitools.codegen.CodegenConfig;
|
||||
@@ -248,7 +249,7 @@ public class GenerateBatch extends OpenApiGeneratorCommand {
|
||||
Path filesMeta = Paths.get(outDir.toAbsolutePath().toString(), ".openapi-generator", "FILES");
|
||||
if (filesMeta.toFile().exists()) {
|
||||
FileUtils.readLines(filesMeta.toFile(), StandardCharsets.UTF_8).forEach(relativePath -> {
|
||||
if (!StringUtils.startsWith(relativePath, ".")) {
|
||||
if (!Strings.CS.startsWith(relativePath, ".")) {
|
||||
Path file = outDir.resolve(relativePath).toAbsolutePath();
|
||||
// hack: disallow directory traversal outside of output directory. we don't want to delete wrong files.
|
||||
if (file.toString().startsWith(outDir.toAbsolutePath().toString())) {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<groupId>org.openapitools</groupId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -97,7 +97,7 @@ task validateGoodSpec(type: org.openapitools.generator.gradle.plugin.tasks.Valid
|
||||
[source,group]
|
||||
----
|
||||
plugins {
|
||||
id "org.openapi.generator" version "7.16.0"
|
||||
id "org.openapi.generator" version "7.17.0"
|
||||
}
|
||||
----
|
||||
|
||||
@@ -113,7 +113,7 @@ buildscript {
|
||||
// url "https://plugins.gradle.org/m2/"
|
||||
}
|
||||
dependencies {
|
||||
classpath "org.openapitools:openapi-generator-gradle-plugin:7.16.0"
|
||||
classpath "org.openapitools:openapi-generator-gradle-plugin:7.17.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -759,7 +759,7 @@ buildscript {
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath('org.openapitools:openapi-generator-gradle-plugin:7.16.0') {
|
||||
classpath('org.openapitools:openapi-generator-gradle-plugin:7.17.0') {
|
||||
exclude group: 'com.google.guava'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# RELEASE_VERSION
|
||||
openApiGeneratorVersion=7.17.0-SNAPSHOT
|
||||
openApiGeneratorVersion=7.18.0-SNAPSHOT
|
||||
# /RELEASE_VERSION
|
||||
|
||||
# BEGIN placeholders
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -19,5 +19,5 @@ gradle generateGoWithInvalidSpec # expected outcome: BUILD FAILED
|
||||
The samples can be tested against other versions of the plugin using the `openApiGeneratorVersion` property. For example:
|
||||
|
||||
```bash
|
||||
gradle -PopenApiGeneratorVersion=7.16.0 openApiValidate
|
||||
gradle -PopenApiGeneratorVersion=7.17.0 openApiValidate
|
||||
```
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# RELEASE_VERSION
|
||||
openApiGeneratorVersion=7.17.0-SNAPSHOT
|
||||
openApiGeneratorVersion=7.18.0-SNAPSHOT
|
||||
# /RELEASE_VERSION
|
||||
|
||||
@@ -81,12 +81,12 @@ open class OpenApiGeneratorGenerateExtension(project: Project) {
|
||||
/**
|
||||
* The template directory holding a custom template.
|
||||
*/
|
||||
val templateDir = project.objects.property<String?>()
|
||||
val templateDir = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* The template location (which may be a directory or a classpath location) holding custom templates.
|
||||
*/
|
||||
val templateResourcePath = project.objects.property<String?>()
|
||||
val templateResourcePath = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Adds authorization headers when fetching the OpenAPI definitions remotely.
|
||||
@@ -109,7 +109,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) {
|
||||
/**
|
||||
* Specifies if the existing files should be overwritten during the generation.
|
||||
*/
|
||||
val skipOverwrite = project.objects.property<Boolean?>()
|
||||
val skipOverwrite = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Package for generated classes (where supported)
|
||||
@@ -244,32 +244,32 @@ open class OpenApiGeneratorGenerateExtension(project: Project) {
|
||||
/**
|
||||
* Reference the library template (sub-template) of a generator.
|
||||
*/
|
||||
val library = project.objects.property<String?>()
|
||||
val library = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git host, e.g. gitlab.com.
|
||||
*/
|
||||
val gitHost = project.objects.property<String?>()
|
||||
val gitHost = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git user ID, e.g. openapitools.
|
||||
*/
|
||||
val gitUserId = project.objects.property<String?>()
|
||||
val gitUserId = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git repo ID, e.g. openapi-generator.
|
||||
*/
|
||||
val gitRepoId = project.objects.property<String?>()
|
||||
val gitRepoId = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Release note, default to 'Minor update'.
|
||||
*/
|
||||
val releaseNote = project.objects.property<String?>()
|
||||
val releaseNote = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* HTTP user agent, e.g. codegen_csharp_api_client, default to 'OpenAPI-Generator/{packageVersion}/{language}'
|
||||
*/
|
||||
val httpUserAgent = project.objects.property<String?>()
|
||||
val httpUserAgent = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Specifies how a reserved name should be escaped to. Otherwise, the default _<name> is used.
|
||||
@@ -279,17 +279,17 @@ open class OpenApiGeneratorGenerateExtension(project: Project) {
|
||||
/**
|
||||
* Specifies an override location for the .openapi-generator-ignore file. Most useful on initial generation.
|
||||
*/
|
||||
val ignoreFileOverride = project.objects.property<String?>()
|
||||
val ignoreFileOverride = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Remove prefix of operationId, e.g. config_getId => getId
|
||||
*/
|
||||
val removeOperationIdPrefix = project.objects.property<Boolean?>()
|
||||
val removeOperationIdPrefix = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Skip examples defined in the operation
|
||||
*/
|
||||
val skipOperationExample = project.objects.property<Boolean?>()
|
||||
val skipOperationExample = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Defines which API-related files should be generated. This allows you to create a subset of generated files (or none at all).
|
||||
@@ -394,7 +394,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) {
|
||||
/**
|
||||
* Templating engine: "mustache" (default) or "handlebars" (beta)
|
||||
*/
|
||||
val engine = project.objects.property<String?>()
|
||||
val engine = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Defines whether the output dir should be cleaned up before generating the output.
|
||||
|
||||
@@ -55,7 +55,6 @@ import org.openapitools.codegen.config.MergedSpecBuilder
|
||||
*
|
||||
* @author Jim Schubert
|
||||
*/
|
||||
@Suppress("UnstableApiUsage")
|
||||
@CacheableTask
|
||||
open class GenerateTask @Inject constructor(private val objectFactory: ObjectFactory) : DefaultTask() {
|
||||
|
||||
@@ -154,14 +153,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
@get:Optional
|
||||
@get:InputDirectory
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
val templateDir = project.objects.property<String?>()
|
||||
val templateDir = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Resource path containing template files.
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val templateResourcePath = project.objects.property<String?>()
|
||||
val templateResourcePath = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Adds authorization headers when fetching the OpenAPI definitions remotely.
|
||||
@@ -193,7 +192,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val skipOverwrite = project.objects.property<Boolean?>()
|
||||
val skipOverwrite = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Package for generated classes (where supported)
|
||||
@@ -384,42 +383,42 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val library = project.objects.property<String?>()
|
||||
val library = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git host, e.g. gitlab.com.
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val gitHost = project.objects.property<String?>()
|
||||
val gitHost = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git user ID, e.g. openapitools.
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val gitUserId = project.objects.property<String?>()
|
||||
val gitUserId = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Git repo ID, e.g. openapi-generator.
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val gitRepoId = project.objects.property<String?>()
|
||||
val gitRepoId = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Release note, default to 'Minor update'.
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val releaseNote = project.objects.property<String?>()
|
||||
val releaseNote = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* HTTP user agent, e.g. codegen_csharp_api_client, default to 'OpenAPI-Generator/{packageVersion}/{language}'
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val httpUserAgent = project.objects.property<String?>()
|
||||
val httpUserAgent = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Specifies how a reserved name should be escaped to.
|
||||
@@ -434,21 +433,21 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
@get:Optional
|
||||
@get:InputFile
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
val ignoreFileOverride = project.objects.property<String?>()
|
||||
val ignoreFileOverride = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Remove prefix of operationId, e.g. config_getId => getId
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val removeOperationIdPrefix = project.objects.property<Boolean?>()
|
||||
val removeOperationIdPrefix = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Remove examples defined in the operation
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val skipOperationExample = project.objects.property<Boolean?>()
|
||||
val skipOperationExample = project.objects.property<Boolean>()
|
||||
|
||||
/**
|
||||
* Defines which API-related files should be generated. This allows you to create a subset of generated files (or none at all).
|
||||
@@ -581,7 +580,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
*/
|
||||
@get:Optional
|
||||
@get:Input
|
||||
val engine = project.objects.property<String?>()
|
||||
val engine = project.objects.property<String>()
|
||||
|
||||
/**
|
||||
* Defines whether the output dir should be cleaned up before generating the output.
|
||||
@@ -598,19 +597,11 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
@get:Input
|
||||
val dryRun = project.objects.property<Boolean>()
|
||||
|
||||
private fun <T : Any?> Property<T>.ifNotEmpty(block: Property<T>.(T) -> Unit) {
|
||||
private fun <T> Property<T>.ifNotEmpty(block: Property<T>.(T) -> Unit) {
|
||||
if (isPresent) {
|
||||
val item: T? = get()
|
||||
if (item != null) {
|
||||
when (get()) {
|
||||
is String -> if ((get() as String).isNotEmpty()) {
|
||||
block(get())
|
||||
}
|
||||
is String? -> if (true == (get() as String?)?.isNotEmpty()) {
|
||||
block(get())
|
||||
}
|
||||
else -> block(get())
|
||||
}
|
||||
when (val value = get()) {
|
||||
is String -> if (value.isNotEmpty()) block(value)
|
||||
else -> block(value)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -725,7 +716,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
}
|
||||
|
||||
skipOverwrite.ifNotEmpty { value ->
|
||||
configurator.setSkipOverwrite(value ?: false)
|
||||
configurator.setSkipOverwrite(value)
|
||||
}
|
||||
|
||||
generatorName.ifNotEmpty { value ->
|
||||
@@ -820,11 +811,11 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac
|
||||
}
|
||||
|
||||
removeOperationIdPrefix.ifNotEmpty { value ->
|
||||
configurator.setRemoveOperationIdPrefix(value!!)
|
||||
configurator.setRemoveOperationIdPrefix(value)
|
||||
}
|
||||
|
||||
skipOperationExample.ifNotEmpty { value ->
|
||||
configurator.setSkipOperationExample(value!!)
|
||||
configurator.setSkipOperationExample(value)
|
||||
}
|
||||
|
||||
logToStderr.ifNotEmpty { value ->
|
||||
|
||||
@@ -12,7 +12,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.16.0</version>
|
||||
<version>7.17.0</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-maven-plugin</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>org.openapitools</groupId>
|
||||
<artifactId>openapi-generator-project</artifactId>
|
||||
<!-- RELEASE_VERSION -->
|
||||
<version>7.17.0-SNAPSHOT</version>
|
||||
<version>7.18.0-SNAPSHOT</version>
|
||||
<!-- /RELEASE_VERSION -->
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user