Compare commits

..

1 Commits

Author SHA1 Message Date
William Cheng
3065b4cbd9 gradle plugin 7.14.0 release 2025-06-25 21:20:00 +08:00
8998 changed files with 18464 additions and 107214 deletions

View File

@@ -71,7 +71,6 @@ jobs:
- samples/client/petstore/java/microprofile-rest-client-mutiny - samples/client/petstore/java/microprofile-rest-client-mutiny
- samples/client/petstore/java/microprofile-rest-client-3.0 - samples/client/petstore/java/microprofile-rest-client-3.0
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson - samples/client/petstore/java/microprofile-rest-client-3.0-jackson
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-mutiny
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-with-xml - samples/client/petstore/java/microprofile-rest-client-3.0-jackson-with-xml
- samples/client/petstore/java/microprofile-rest-client-3.0-mutiny - samples/client/petstore/java/microprofile-rest-client-3.0-mutiny
- samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter - samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
@@ -134,4 +133,4 @@ jobs:
- name: Build with Gradle - name: Build with Gradle
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
if: ${{ hashFiles('./gradlew') != '' }} if: ${{ hashFiles('./gradlew') != '' }}
run: ./gradlew build -x test run: ./gradlew build -x test

View File

@@ -26,54 +26,12 @@ jobs:
- samples/client/others/rust/ - samples/client/others/rust/
- samples/client/petstore/rust/ - samples/client/petstore/rust/
- samples/server/petstore/rust-server/ - samples/server/petstore/rust-server/
- samples/server/petstore/rust-server-deprecated/
- samples/server/petstore/rust-axum/ - samples/server/petstore/rust-axum/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
toolchain: stable toolchain: stable
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
cache-targets: false # Don't cache workspace target directories as they don't exist
cache-directories:
${{ matrix.sample }}/target
workspaces: |
${{ matrix.sample }}/output/*
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: cargo build --all-targets --all-features run: cargo build --all-targets --all-features
- name: Tests
working-directory: ${{ matrix.sample }}
run: |
set -e
# Skip samples/client/petstore/rust/ as it's tests are failing.
if [[ "${{ matrix.sample }}" == "samples/client/petstore/rust/" ]]; then
echo "Skipping tests for samples/client/petstore/rust/"
exit 0
fi
# Iterate through each example and test various features
for package in $(find . -maxdepth 1 -mindepth 1 -type d)
do
# Not all versions have a client example
if test -f examples/client/main.rs; then
cargo build --example client --features="client"
fi
# Not all versions have a server example
if test -f examples/server/main.rs; then
cargo build --example server --features="server"
fi
# Test the CLI works if present
if test -f bin/cli.rs; then
cargo build --bin ${package##*/} --features cli
target/debug/${package##*/} --help
fi
cargo fmt
cargo test
cargo clippy
cargo doc
done

View File

@@ -10,7 +10,6 @@ on:
- samples/server/petstore/springboot-lombok-tostring - samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional - samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples - samples/server/petstore/springboot-petstore-with-api-response-examples
- samples/server/petstore/spring-boot-oneof-sealed
pull_request: pull_request:
paths: paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional - samples/openapi3/client/petstore/spring-cloud-3-with-optional
@@ -20,7 +19,6 @@ on:
- samples/server/petstore/springboot-lombok-tostring - samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional - samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples - samples/server/petstore/springboot-petstore-with-api-response-examples
- samples/server/petstore/spring-boot-oneof-sealed
jobs: jobs:
build: build:
name: Build Java Spring (JDK17) name: Build Java Spring (JDK17)
@@ -38,7 +36,6 @@ jobs:
- samples/server/petstore/springboot-lombok-tostring - samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional - samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples - samples/server/petstore/springboot-petstore-with-api-response-examples
- samples/server/petstore/spring-boot-oneof-sealed
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-java@v4 - uses: actions/setup-java@v4

View File

@@ -122,6 +122,8 @@ before_install:
- cat /etc/hosts - cat /etc/hosts
# show java version # show java version
- java -version - java -version
- export TRAVIS_BRANCH=master
- export TRAVIS_TAG=v7.14.0
- if [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - if [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
openssl aes-256-cbc -K $encrypted_6e2c8bba47c6_key -iv $encrypted_6e2c8bba47c6_iv -in sec.gpg.enc -out sec.gpg -d ; openssl aes-256-cbc -K $encrypted_6e2c8bba47c6_key -iv $encrypted_6e2c8bba47c6_iv -in sec.gpg.enc -out sec.gpg -d ;
gpg --keyserver keyserver.ubuntu.com --recv-key $SIGNING_KEY ; gpg --keyserver keyserver.ubuntu.com --recv-key $SIGNING_KEY ;
@@ -141,25 +143,6 @@ script:
after_success: after_success:
# push to maven repo # push to maven repo
- if [ $SONATYPE_USERNAME ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - if [ $SONATYPE_USERNAME ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ]; then
echo "Publishing from branch $TRAVIS_BRANCH";
./mvnw clean deploy --quiet -DskipTests=true -B -U -P release --settings CI/settings.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error;
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -Psigning.keyId="$SIGNING_KEY" -Psigning.password="$SIGNING_PASSPHRASE" -Psigning.secretKeyRingFile="${TRAVIS_BUILD_DIR}/sec.gpg" -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository;
echo "Finished ./gradlew publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository";
popd;
elif [ -z $TRAVIS_TAG ] && [[ "$TRAVIS_BRANCH" =~ ^[0-9]+\.[0-9]+\.x$ ]]; then
echo "Publishing from branch $TRAVIS_BRANCH";
./mvnw clean deploy --quiet --settings CI/settings.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error;
echo "Finished mvn clean deploy for $TRAVIS_BRANCH";
pushd .;
cd modules/openapi-generator-gradle-plugin;
./gradlew -PossrhUsername="${SONATYPE_USERNAME}" -PossrhPassword="${SONATYPE_PASSWORD}" publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository;
echo "Finished ./gradlew publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository";
popd;
fi;
if [ -n $TRAVIS_TAG ] && [[ "$TRAVIS_TAG" =~ ^[v][0-9]+\.[0-9]+\.[0-9]+$ ]]; then if [ -n $TRAVIS_TAG ] && [[ "$TRAVIS_TAG" =~ ^[v][0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Publishing the gradle plugin to Gradle Portal on tag $TRAVIS_TAG (only)"; echo "Publishing the gradle plugin to Gradle Portal on tag $TRAVIS_TAG (only)";
pushd .; pushd .;

View File

@@ -15,7 +15,7 @@
<div align="center"> <div align="center">
[Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.15.0`): [Master](https://github.com/OpenAPITools/openapi-generator/tree/master) (`7.14.0`):
[![Build Status](https://api.travis-ci.com/OpenAPITools/openapi-generator.svg?branch=master&status=passed)](https://app.travis-ci.com/github/OpenAPITools/openapi-generator/builds) [![Build Status](https://api.travis-ci.com/OpenAPITools/openapi-generator.svg?branch=master&status=passed)](https://app.travis-ci.com/github/OpenAPITools/openapi-generator/builds)
[![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator) [![Integration Test2](https://circleci.com/gh/OpenAPITools/openapi-generator.svg?style=shield)](https://circleci.com/gh/OpenAPITools/openapi-generator)
[![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator) [![Windows Test](https://ci.appveyor.com/api/projects/status/github/openapitools/openapi-generator?branch=master&svg=true&passingText=Windows%20Test%20-%20OK&failingText=Windows%20Test%20-%20Fails)](https://ci.appveyor.com/project/WilliamCheng/openapi-generator)
@@ -76,7 +76,6 @@ If you find OpenAPI Generator useful for work, please consider asking your compa
[<img src="https://openapi-generator.tech/img/companies/clickit.jpg" width="128" height="128">](https://www.clickittech.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship) [<img src="https://openapi-generator.tech/img/companies/clickit.jpg" width="128" height="128">](https://www.clickittech.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
[<img src="https://openapi-generator.tech/img/companies/unified_to.jpg" width="128" height="128">](https://unified.to/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship) [<img src="https://openapi-generator.tech/img/companies/unified_to.jpg" width="128" height="128">](https://unified.to/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
[<img src="https://openapi-generator.tech/img/companies/savetwt.jpg" width="128" height="128">](https://savetwt.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship) [<img src="https://openapi-generator.tech/img/companies/savetwt.jpg" width="128" height="128">](https://savetwt.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
[<img src="https://openapi-generator.tech/img/companies/serpapi.png" width="128" height="128">](https://serpapi.com/?utm_source=openapi-generator&utm_medium=sponsorship&utm_campaign=oss-sponsorship)
#### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity #### Thank you GoDaddy for sponsoring the domain names, Linode for sponsoring the VPS, Checkly for sponsoring the API monitoring and Gradle for sponsoring Develocity
@@ -150,8 +149,8 @@ The OpenAPI Specification has undergone 3 revisions since initial creation in 20
| OpenAPI Generator Version | Release Date | Notes | | OpenAPI Generator Version | Release Date | Notes |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------- |
| 7.15.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.15.0-SNAPSHOT/) | 29.07.2025 | Minor release with breaking changes (with fallback) | | 7.14.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.14.0-SNAPSHOT/) | 29.05.2025 | Minor release with breaking changes (with fallback) |
| [7.14.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.14.0) (latest stable release) | 25.06.2025 | Minor release with breaking changes (with fallback) | | [7.13.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v7.13.0) (latest stable release) | 27.04.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) | | [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) | | [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) | | [4.3.1](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.3.1) | 06.05.2020 | Patch release (enhancements, bug fixes, etc) |
@@ -214,16 +213,16 @@ See the different versions of the [openapi-generator-cli](https://search.maven.o
<!-- RELEASE_VERSION --> <!-- 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): 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.14.0/openapi-generator-cli-7.14.0.jar` JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar`
For **Mac/Linux** users: For **Mac/Linux** users:
```sh ```sh
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar -O openapi-generator-cli.jar wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.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. 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.14.0/openapi-generator-cli-7.14.0.jar Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.13.0/openapi-generator-cli-7.13.0.jar
``` ```
After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage. After downloading the JAR, run `java -jar openapi-generator-cli.jar help` to show the usage.
@@ -458,7 +457,7 @@ openapi-generator-cli version
To use a specific version of "openapi-generator-cli" To use a specific version of "openapi-generator-cli"
```sh ```sh
openapi-generator-cli version-manager set 7.14.0 openapi-generator-cli version-manager set 7.13.0
``` ```
Or install it as dev-dependency: Or install it as dev-dependency:
@@ -482,7 +481,7 @@ pip install openapi-generator-cli
To install a specific version To install a specific version
``` ```
pip install openapi-generator-cli==7.14.0 pip install openapi-generator-cli==7.13.0
``` ```
You can also install with [jdk4py](https://github.com/activeviam/jdk4py) instead of java binary. (python>=3.10 is required) You can also install with [jdk4py](https://github.com/activeviam/jdk4py) instead of java binary. (python>=3.10 is required)
@@ -508,7 +507,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`) (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 --> <!-- 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.14.0/openapi-generator-cli-7.14.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.13.0/openapi-generator-cli-7.13.0.jar)
<!-- /RELEASE_VERSION --> <!-- /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` To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`

View File

@@ -1,8 +0,0 @@
generatorName: dart-dio
outputDir: samples/openapi3/client/petstore/dart-dio/binary_response
inputSpec: modules/openapi-generator/src/test/resources/3_0/issue_20682.yaml
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
additionalProperties:
hideGenerationTimestamp: "true"
enumUnknownDefaultCase: "true"
serializationLibrary: "json_serializable"

View File

@@ -1,6 +1,6 @@
generatorName: dart-dio generatorName: dart-dio
outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake-json_serializable
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
typeMappings: typeMappings:
Client: "ModelClient" Client: "ModelClient"

View File

@@ -1,6 +1,6 @@
generatorName: dart-dio generatorName: dart-dio
outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake outputDir: samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio templateDir: modules/openapi-generator/src/main/resources/dart/libraries/dio
typeMappings: typeMappings:
Client: "ModelClient" Client: "ModelClient"

View File

@@ -1,6 +1,6 @@
generatorName: dart generatorName: dart
outputDir: samples/openapi3/client/petstore/dart2/petstore_client_lib_fake outputDir: samples/openapi3/client/petstore/dart2/petstore_client_lib_fake
inputSpec: modules/openapi-generator/src/test/resources/3_0/dart/petstore-with-fake-endpoints-models-for-testing.yaml inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
templateDir: modules/openapi-generator/src/main/resources/dart2 templateDir: modules/openapi-generator/src/main/resources/dart2
typeMappings: typeMappings:
Client: "ModelClient" Client: "ModelClient"

View File

@@ -1,12 +0,0 @@
generatorName: java
outputDir: samples/client/petstore/java/microprofile-rest-client-3.0-jackson-mutiny
library: microprofile
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
additionalProperties:
serializationLibrary: jackson
artifactId: microprofile-rest-client-3-jackson-mutiny
configKey: petstore
microprofileRestClientVersion: "3.0"
microprofileMutiny: true
hideGenerationTimestamp: true

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +0,0 @@
generatorName: spring
outputDir: samples/openapi3/server/petstore/spring-boot-oneof-sealed
inputSpec: modules/openapi-generator/src/test/resources/3_0/oneof_polymorphism_and_inheritance.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
additionalProperties:
groupId: org.openapitools.openapi3
documentationProvider: springdoc
artifactId: springboot-oneof-sealed
snapshotVersion: "true"
hideGenerationTimestamp: "true"
generateBuilders: true
useOneOfInterfaces: true
useSealed: true

View File

@@ -1,6 +1,6 @@
generatorName: typescript generatorName: typescript
outputDir: samples/client/echo_api/typescript/build outputDir: samples/client/echo_api/typescript/build
inputSpec: modules/openapi-generator/src/test/resources/3_0/typescript/echo_api.yaml inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml
templateDir: modules/openapi-generator/src/main/resources/typescript templateDir: modules/openapi-generator/src/main/resources/typescript
additionalProperties: additionalProperties:
artifactId: echo-api-typescript artifactId: echo-api-typescript

View File

@@ -142,7 +142,6 @@ The following generators are available:
* [ruby-sinatra](generators/ruby-sinatra.md) * [ruby-sinatra](generators/ruby-sinatra.md)
* [rust-axum (beta)](generators/rust-axum.md) * [rust-axum (beta)](generators/rust-axum.md)
* [rust-server](generators/rust-server.md) * [rust-server](generators/rust-server.md)
* [rust-server-deprecated](generators/rust-server-deprecated.md)
* [scala-akka-http-server (beta)](generators/scala-akka-http-server.md) * [scala-akka-http-server (beta)](generators/scala-akka-http-server.md)
* [scala-cask](generators/scala-cask.md) * [scala-cask](generators/scala-cask.md)
* [scala-finch](generators/scala-finch.md) * [scala-finch](generators/scala-finch.md)

View File

@@ -58,7 +58,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|generateBuilders|Whether to generate builders for models| |false| |generateBuilders|Whether to generate builders for models| |false|
|generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false| |generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false|
|generateGenericResponseEntity|Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. If enabled, method are generated with return type ResponseEntity&lt;?&gt;| |false|
|generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true| |generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true|
|groupId|groupId in generated pom.xml| |org.openapitools| |groupId|groupId in generated pom.xml| |org.openapitools|
|hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false| |hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false|

View File

@@ -1,232 +0,0 @@
---
title: Documentation for the rust-server-deprecated Generator
---
## METADATA
| Property | Value | Notes |
| -------- | ----- | ----- |
| generator name | rust-server-deprecated | pass this to the generate command after -g |
| generator stability | STABLE | |
| generator type | SERVER | |
| generator language | Rust | |
| generator default templating engine | mustache | |
| helpTxt | Generates a Rust Hyper/Tower server library based on hyper 0.14. Also generates a matching Hyper client library within the same crate that implements the same trait. | |
## CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|packageName|Rust crate name (convention: snake_case).| |openapi_client|
|packageVersion|Rust crate version.| |null|
## IMPORT MAPPING
| Type/Alias | Imports |
| ---------- | ------- |
## INSTANTIATION TYPES
| Type/Alias | Instantiated By |
| ---------- | --------------- |
|array|Vec|
|map|std::collections::HashMap|
## LANGUAGE PRIMITIVES
<ul class="column-ul">
<li>String</li>
<li>bool</li>
<li>char</li>
<li>f32</li>
<li>f64</li>
<li>i16</li>
<li>i32</li>
<li>i64</li>
<li>i8</li>
<li>isize</li>
<li>str</li>
<li>u16</li>
<li>u32</li>
<li>u64</li>
<li>u8</li>
<li>usize</li>
</ul>
## RESERVED WORDS
<ul class="column-ul">
<li>Self</li>
<li>abstract</li>
<li>as</li>
<li>async</li>
<li>await</li>
<li>become</li>
<li>box</li>
<li>break</li>
<li>const</li>
<li>continue</li>
<li>crate</li>
<li>do</li>
<li>dyn</li>
<li>else</li>
<li>enum</li>
<li>extern</li>
<li>false</li>
<li>final</li>
<li>fn</li>
<li>for</li>
<li>if</li>
<li>impl</li>
<li>in</li>
<li>let</li>
<li>loop</li>
<li>macro</li>
<li>match</li>
<li>mod</li>
<li>move</li>
<li>mut</li>
<li>override</li>
<li>priv</li>
<li>pub</li>
<li>ref</li>
<li>return</li>
<li>self</li>
<li>static</li>
<li>struct</li>
<li>super</li>
<li>trait</li>
<li>true</li>
<li>try</li>
<li>type</li>
<li>typeof</li>
<li>unsafe</li>
<li>unsized</li>
<li>use</li>
<li>virtual</li>
<li>where</li>
<li>while</li>
<li>yield</li>
</ul>
## FEATURE SET
### Client Modification Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasePath|✓|ToolingExtension
|Authorizations|✗|ToolingExtension
|UserAgent|✗|ToolingExtension
|MockServer|✗|ToolingExtension
### Data Type Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Custom|✗|OAS2,OAS3
|Int32|✓|OAS2,OAS3
|Int64|✓|OAS2,OAS3
|Float|✓|OAS2,OAS3
|Double|✓|OAS2,OAS3
|Decimal|✓|ToolingExtension
|String|✓|OAS2,OAS3
|Byte|✓|OAS2,OAS3
|Binary|✓|OAS2,OAS3
|Boolean|✓|OAS2,OAS3
|Date|✓|OAS2,OAS3
|DateTime|✓|OAS2,OAS3
|Password|✓|OAS2,OAS3
|File|✓|OAS2
|Uuid|✗|
|Array|✓|OAS2,OAS3
|Null|✗|OAS3
|AnyType|✗|OAS2,OAS3
|Object|✓|OAS2,OAS3
|Maps|✓|ToolingExtension
|CollectionFormat|✓|OAS2
|CollectionFormatMulti|✓|OAS2
|Enum|✓|OAS2,OAS3
|ArrayOfEnum|✓|ToolingExtension
|ArrayOfModel|✓|ToolingExtension
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension
|ArrayOfCollectionOfModel|✓|ToolingExtension
|ArrayOfCollectionOfEnum|✓|ToolingExtension
|MapOfEnum|✓|ToolingExtension
|MapOfModel|✓|ToolingExtension
|MapOfCollectionOfPrimitives|✓|ToolingExtension
|MapOfCollectionOfModel|✓|ToolingExtension
|MapOfCollectionOfEnum|✓|ToolingExtension
### Documentation Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Readme|✓|ToolingExtension
|Model|✓|ToolingExtension
|Api|✓|ToolingExtension
### Global Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Host|✓|OAS2,OAS3
|BasePath|✓|OAS2,OAS3
|Info|✓|OAS2,OAS3
|Schemes|✗|OAS2,OAS3
|PartialSchemes|✓|OAS2,OAS3
|Consumes|✓|OAS2
|Produces|✓|OAS2
|ExternalDocumentation|✓|OAS2,OAS3
|Examples|✓|OAS2,OAS3
|XMLStructureDefinitions|✗|OAS2,OAS3
|MultiServer|✗|OAS3
|ParameterizedServer|✗|OAS3
|ParameterStyling|✗|OAS3
|Callbacks|✓|OAS3
|LinkObjects|✗|OAS3
### Parameter Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Path|✓|OAS2,OAS3
|Query|✓|OAS2,OAS3
|Header|✓|OAS2,OAS3
|Body|✓|OAS2
|FormUnencoded|✓|OAS2
|FormMultipart|✓|OAS2
|Cookie|✗|OAS3
### Schema Support Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Simple|✓|OAS2,OAS3
|Composite|✓|OAS2,OAS3
|Polymorphism|✗|OAS2,OAS3
|Union|✗|OAS3
|allOf|✗|OAS2,OAS3
|anyOf|✗|OAS3
|oneOf|✗|OAS3
|not|✗|OAS3
### Security Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|BasicAuth|✓|OAS2,OAS3
|ApiKey|✓|OAS2,OAS3
|OpenIDConnect|✗|OAS3
|BearerToken|✓|OAS3
|OAuth2_Implicit|✓|OAS2,OAS3
|OAuth2_Password|✗|OAS2,OAS3
|OAuth2_ClientCredentials|✗|OAS2,OAS3
|OAuth2_AuthorizationCode|✗|OAS2,OAS3
|SignatureAuth|✗|OAS3
|AWSV4Signature|✗|ToolingExtension
### Wire Format Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|JSON|✓|OAS2,OAS3
|XML|✓|OAS2,OAS3
|PROTOBUF|✗|ToolingExtension
|Custom|✓|OAS2,OAS3

View File

@@ -51,7 +51,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false| |enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|generateBuilders|Whether to generate builders for models| |false| |generateBuilders|Whether to generate builders for models| |false|
|generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false| |generateConstructorWithAllArgs|whether to generate a constructor for all arguments| |false|
|generateGenericResponseEntity|Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. If enabled, method are generated with return type ResponseEntity&lt;?&gt;| |false|
|generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true| |generatedConstructorWithRequiredArgs|Whether to generate constructors with required args for models| |true|
|groupId|groupId in generated pom.xml| |org.openapitools| |groupId|groupId in generated pom.xml| |org.openapitools|
|hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false| |hateoas|Use Spring HATEOAS library to allow adding HATEOAS links| |false|

View File

@@ -75,42 +75,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Blob</li> <li>Blob</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -55,41 +55,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -66,41 +66,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -66,41 +66,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -60,42 +60,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Blob</li> <li>Blob</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -57,41 +57,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -66,42 +66,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Blob</li> <li>Blob</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -56,45 +56,23 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Buffer</li> <li>Buffer</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>ReadStream</li> <li>ReadStream</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>RequestDetailedFile</li> <li>RequestDetailedFile</li>
<li>RequestFile</li> <li>RequestFile</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -58,41 +58,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -57,42 +57,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Blob</li> <li>Blob</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -63,41 +63,19 @@ These options may be applied as additional-properties (cli) or configOptions (pl
<ul class="column-ul"> <ul class="column-ul">
<li>Array</li> <li>Array</li>
<li>Awaited</li>
<li>Boolean</li> <li>Boolean</li>
<li>Capitalize</li>
<li>ConstructorParameters</li>
<li>Date</li> <li>Date</li>
<li>Double</li> <li>Double</li>
<li>Error</li> <li>Error</li>
<li>Exclude</li>
<li>Extract</li>
<li>File</li> <li>File</li>
<li>Float</li> <li>Float</li>
<li>InstanceType</li>
<li>Integer</li> <li>Integer</li>
<li>Long</li> <li>Long</li>
<li>Lowercase</li>
<li>Map</li> <li>Map</li>
<li>NoInfer</li>
<li>NonNullable</li>
<li>Object</li> <li>Object</li>
<li>Omit</li>
<li>OmitThisParameter</li>
<li>Parameters</li>
<li>Partial</li>
<li>Pick</li>
<li>Readonly</li>
<li>ReadonlyArray</li> <li>ReadonlyArray</li>
<li>Record</li>
<li>Required</li>
<li>ReturnType</li>
<li>Set</li> <li>Set</li>
<li>String</li> <li>String</li>
<li>ThisParameterType</li>
<li>ThisType</li>
<li>Uncapitalize</li>
<li>Uppercase</li>
<li>any</li> <li>any</li>
<li>boolean</li> <li>boolean</li>
<li>number</li> <li>number</li>

View File

@@ -22,7 +22,7 @@ npm install @openapitools/openapi-generator-cli -g
To install a specific version of the tool, pass the version during installation: To install a specific version of the tool, pass the version during installation:
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
```bash ```bash
openapi-generator-cli version-manager set 7.14.0 openapi-generator-cli version-manager set 7.12.0
``` ```
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
To install the tool as a dev dependency in your current project: To install the tool as a dev dependency in your current project:
@@ -119,18 +119,18 @@ docker run --rm \
<!-- RELEASE_VERSION --> <!-- 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): 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.14.0/openapi-generator-cli-7.14.0.jar` JAR location: `https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar`
For **Mac/Linux** users: For **Mac/Linux** users:
```bash ```bash
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar -O openapi-generator-cli.jar wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.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. 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 ```powershell
Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.14.0/openapi-generator-cli-7.14.0.jar Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.12.0/openapi-generator-cli-7.12.0.jar
``` ```
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->

View File

@@ -16,7 +16,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
<plugin> <plugin>
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<version>7.14.0</version> <version>7.12.0</version>
<executions> <executions>
<execution> <execution>
<goals> <goals>

View File

@@ -4,7 +4,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -162,7 +162,7 @@ public class Generate extends OpenApiGeneratorCommand {
@Option( @Option(
name = {"--openapi-generator-ignore-list"}, name = {"--openapi-generator-ignore-list"},
title = ".openapi-generator-ignore list", title = ".openapi-generaotr-ignore list",
description = "specifies entries in the .openapi-generator-ignore file relative/path/to/file1,relative/path/to/file2. For example: README.md,pom.xml" description = "specifies entries in the .openapi-generator-ignore file relative/path/to/file1,relative/path/to/file2. For example: README.md,pom.xml"
+ " You can also have multiple occurrences of this option.") + " You can also have multiple occurrences of this option.")
private List<String> openapiGeneratorIgnoreList = new ArrayList<>(); private List<String> openapiGeneratorIgnoreList = new ArrayList<>();

View File

@@ -6,7 +6,7 @@
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -97,7 +97,7 @@ task validateGoodSpec(type: org.openapitools.generator.gradle.plugin.tasks.Valid
[source,group] [source,group]
---- ----
plugins { plugins {
id "org.openapi.generator" version "7.14.0" id "org.openapi.generator" version "7.12.0"
} }
---- ----
@@ -113,7 +113,7 @@ buildscript {
// url "https://plugins.gradle.org/m2/" // url "https://plugins.gradle.org/m2/"
} }
dependencies { dependencies {
classpath "org.openapitools:openapi-generator-gradle-plugin:7.14.0" classpath "org.openapitools:openapi-generator-gradle-plugin:7.10.0"
} }
} }
@@ -759,7 +759,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.android.tools.build:gradle:3.2.1'
classpath('org.openapitools:openapi-generator-gradle-plugin:7.14.0') { classpath('org.openapitools:openapi-generator-gradle-plugin:7.10.0') {
exclude group: 'com.google.guava' exclude group: 'com.google.guava'
} }
} }

View File

@@ -1,5 +1,5 @@
# RELEASE_VERSION # RELEASE_VERSION
openApiGeneratorVersion=7.15.0-SNAPSHOT openApiGeneratorVersion=7.14.0
# /RELEASE_VERSION # /RELEASE_VERSION
# BEGIN placeholders # BEGIN placeholders

View File

@@ -4,7 +4,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -93,11 +93,9 @@
<gradleVersion>${gradleVersion}</gradleVersion> <gradleVersion>${gradleVersion}</gradleVersion>
<args> <args>
<arg>-P openApiGeneratorVersion=${project.version}</arg> <arg>-P openApiGeneratorVersion=${project.version}</arg>
<!--
<arg>-Psigning.keyId=${env.SIGNING_KEY}</arg> <arg>-Psigning.keyId=${env.SIGNING_KEY}</arg>
<arg>-Psigning.password=${env.SIGNING_PASSPHRASE}</arg> <arg>-Psigning.password=${env.SIGNING_PASSPHRASE}</arg>
<arg>-Psigning.secretKeyRingFile=${env.TRAVIS_BUILD_DIR}/sec.gpg</arg> <arg>-Psigning.secretKeyRingFile=${env.TRAVIS_BUILD_DIR}/sec.gpg</arg>
-->
</args> </args>
</configuration> </configuration>
<executions> <executions>

View File

@@ -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: The samples can be tested against other versions of the plugin using the `openApiGeneratorVersion` property. For example:
```bash ```bash
gradle -PopenApiGeneratorVersion=7.14.0 openApiValidate gradle -PopenApiGeneratorVersion=7.12.0 openApiValidate
``` ```

View File

@@ -1,3 +1,3 @@
# RELEASE_VERSION # RELEASE_VERSION
openApiGeneratorVersion=7.15.0-SNAPSHOT openApiGeneratorVersion=7.14.0
# /RELEASE_VERSION # /RELEASE_VERSION

View File

@@ -12,7 +12,7 @@ Add to your `build->plugins` section (default phase is `generate-sources` phase)
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.14.0</version> <version>7.12.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -13,7 +13,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -15,7 +15,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -19,7 +19,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<dependencies> <dependencies>
<dependency> <dependency>

View File

@@ -13,7 +13,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -13,7 +13,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -20,7 +20,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId> <artifactId>openapi-generator-maven-plugin</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<executions> <executions>
<execution> <execution>

View File

@@ -5,7 +5,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -4,7 +4,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -4,7 +4,7 @@
<groupId>org.openapitools</groupId> <groupId>org.openapitools</groupId>
<artifactId>openapi-generator-project</artifactId> <artifactId>openapi-generator-project</artifactId>
<!-- RELEASE_VERSION --> <!-- RELEASE_VERSION -->
<version>7.15.0-SNAPSHOT</version> <version>7.14.0</version>
<!-- /RELEASE_VERSION --> <!-- /RELEASE_VERSION -->
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -54,7 +54,6 @@ import org.openapitools.codegen.examples.ExampleGenerator;
import org.openapitools.codegen.languages.PhpNextgenClientCodegen; import org.openapitools.codegen.languages.PhpNextgenClientCodegen;
import org.openapitools.codegen.languages.RustAxumServerCodegen; import org.openapitools.codegen.languages.RustAxumServerCodegen;
import org.openapitools.codegen.languages.RustServerCodegen; import org.openapitools.codegen.languages.RustServerCodegen;
import org.openapitools.codegen.languages.RustServerCodegenDeprecated;
import org.openapitools.codegen.meta.FeatureSet; import org.openapitools.codegen.meta.FeatureSet;
import org.openapitools.codegen.meta.GeneratorMetadata; import org.openapitools.codegen.meta.GeneratorMetadata;
import org.openapitools.codegen.meta.Stability; import org.openapitools.codegen.meta.Stability;
@@ -3682,8 +3681,7 @@ public class DefaultCodegen implements CodegenConfig {
if (ModelUtils.isComposedSchema(schema) && !this.getLegacyDiscriminatorBehavior()) { if (ModelUtils.isComposedSchema(schema) && !this.getLegacyDiscriminatorBehavior()) {
List<MappedModel> otherDescendants = getOneOfAnyOfDescendants(schemaName, discriminatorPropertyName, schema); List<MappedModel> otherDescendants = getOneOfAnyOfDescendants(schemaName, discriminatorPropertyName, schema);
for (MappedModel otherDescendant : otherDescendants) { for (MappedModel otherDescendant : otherDescendants) {
// add only if the model names are not the same if (!uniqueDescendants.contains(otherDescendant)) {
if (uniqueDescendants.stream().map(MappedModel::getModelName).noneMatch(it -> it.equals(otherDescendant.getModelName()))) {
uniqueDescendants.add(otherDescendant); uniqueDescendants.add(otherDescendant);
} }
} }
@@ -5330,7 +5328,7 @@ public class DefaultCodegen implements CodegenConfig {
parameterSchema = unaliasSchema(parameter.getSchema()); parameterSchema = unaliasSchema(parameter.getSchema());
parameterModelName = getParameterDataType(parameter, parameterSchema); parameterModelName = getParameterDataType(parameter, parameterSchema);
CodegenProperty prop; CodegenProperty prop;
if (this instanceof RustServerCodegen || this instanceof RustServerCodegenDeprecated) { if (this instanceof RustServerCodegen) {
// for rust server, we need to do something special as it uses // for rust server, we need to do something special as it uses
// $ref (e.g. #components/schemas/Pet) to determine whether it's a model // $ref (e.g. #components/schemas/Pet) to determine whether it's a model
prop = fromProperty(parameter.getName(), parameterSchema, false); prop = fromProperty(parameter.getName(), parameterSchema, false);

View File

@@ -572,7 +572,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
if (value.isEmpty()) { if (value.isEmpty()) {
modified = "EMPTY"; modified = "EMPTY";
} else { } else {
modified = value.replaceAll("-", "_"); modified = value;
modified = sanitizeKotlinSpecificNames(modified); modified = sanitizeKotlinSpecificNames(modified);
} }

View File

@@ -183,8 +183,8 @@ public abstract class AbstractRustCodegen extends DefaultCodegen implements Code
throw new IllegalArgumentException("Unknown CasingType"); throw new IllegalArgumentException("Unknown CasingType");
} }
// Replace hyphens and periods with underscores // Replace hyphens with underscores
name = name.replaceAll("[\\.\\-]", "_"); name = name.replaceAll("-", "_");
// Apply special character escapes, e.g. "@type" => "At_type" // Apply special character escapes, e.g. "@type" => "At_type"
// Remove the trailing underscore if necessary // Remove the trailing underscore if necessary

View File

@@ -304,14 +304,6 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
// Typescript reserved words // Typescript reserved words
"abstract", "await", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", "implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "super", "switch", "synchronized", "this", "throw", "transient", "true", "try", "typeof", "var", "void", "volatile", "while", "with", "yield")); "abstract", "await", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", "implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "super", "switch", "synchronized", "this", "throw", "transient", "true", "try", "typeof", "var", "void", "volatile", "while", "with", "yield"));
Set<String> utilityTypes = new HashSet<>(Arrays.asList(
"Awaited","Partial","Required","Readonly","Record","Pick","Omit","Exclude","Extract","NonNullable",
"Parameters","ConstructorParameters","ReturnType","InstanceType","NoInfer","ThisParameterType",
"OmitThisParameter","ThisType","Uppercase","Lowercase","Capitalize","Uncapitalize")
);
defaultIncludes = new HashSet<>();
defaultIncludes.addAll(utilityTypes);
languageSpecificPrimitives = new HashSet<>(Arrays.asList( languageSpecificPrimitives = new HashSet<>(Arrays.asList(
"string", "string",
"String", "String",
@@ -333,7 +325,6 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
"object", "object",
"Set" "Set"
)); ));
languageSpecificPrimitives.addAll(utilityTypes);
languageGenericTypes = new HashSet<>(Collections.singletonList( languageGenericTypes = new HashSet<>(Collections.singletonList(
"Array" "Array"
@@ -814,8 +805,7 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
return openAPIType; return openAPIType;
} else if (typeMapping.containsKey(openAPIType)) { } else if (typeMapping.containsKey(openAPIType)) {
type = typeMapping.get(openAPIType); type = typeMapping.get(openAPIType);
String typeWithoutGeneric = typeWithoutGeneric(type); if (languageSpecificPrimitives.contains(type)) {
if (languageSpecificPrimitives.contains(typeWithoutGeneric)) {
return type; return type;
} }
} else { } else {
@@ -1167,16 +1157,6 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
}).distinct().collect(Collectors.toList()); }).distinct().collect(Collectors.toList());
} }
@Override
protected boolean needToImport(String type) {
return super.needToImport(typeWithoutGeneric(type));
}
private String typeWithoutGeneric(String type) {
int genericIndex = type.indexOf("<");
return genericIndex == -1 ? type : type.substring(0, genericIndex);
}
@Override @Override
public GeneratorLanguage generatorLanguage() { public GeneratorLanguage generatorLanguage() {
return GeneratorLanguage.TYPESCRIPT; return GeneratorLanguage.TYPESCRIPT;

View File

@@ -670,17 +670,6 @@ public class DartDioClientCodegen extends AbstractDartCodegen {
op.imports.remove("Uint8List"); op.imports.remove("Uint8List");
} }
if (SERIALIZATION_LIBRARY_JSON_SERIALIZABLE.equals(library)) {
// built_value serialization uses Uint8List for all MultipartFile types
// in json_serialization, MultipartFile is used as the file parameter type, but
// MultipartFile isn't readable, instead we convert this to a Uin8List
if (op.isResponseFile) {
op.imports.add("Uint8List");
op.returnType = "Uint8List";
op.returnBaseType = "Uint8List";
}
}
resultImports.addAll(rewriteImports(op.imports, false)); resultImports.addAll(rewriteImports(op.imports, false));
if (SERIALIZATION_LIBRARY_BUILT_VALUE.equals(library)) { if (SERIALIZATION_LIBRARY_BUILT_VALUE.equals(library)) {

View File

@@ -615,13 +615,6 @@ public class JavaClientCodegen extends AbstractJavaCodegen
supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java")); supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java"));
supportingFiles.add(new SupportingFile("AbstractOpenApiSchema.mustache", modelsFolder, "AbstractOpenApiSchema.java")); supportingFiles.add(new SupportingFile("AbstractOpenApiSchema.mustache", modelsFolder, "AbstractOpenApiSchema.java"));
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON); forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
// Composed schemas can have the 'additionalProperties' keyword, as specified in JSON schema.
// In principle, this should be enabled by default for all code generators. However due to limitations
// in other code generators, support needs to be enabled on a case-by-case basis.
// The flag below should be set for all Java libraries, but the templates need to be ported
// one by one for each library.
supportsAdditionalPropertiesWithComposedSchema = true;
} else if (libRestEasy) { } else if (libRestEasy) {
supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java")); supportingFiles.add(new SupportingFile("JSON.mustache", invokerFolder, "JSON.java"));
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON); forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
@@ -709,15 +702,6 @@ public class JavaClientCodegen extends AbstractJavaCodegen
additionalProperties.put("jsonbPolymorphism", true); additionalProperties.put("jsonbPolymorphism", true);
} }
} }
if (getSerializationLibrary().equals(SERIALIZATION_LIBRARY_JACKSON)) {
// Composed schemas can have the 'additionalProperties' keyword, as specified in JSON schema.
// In principle, this should be enabled by default for all code generators. However due to limitations
// in other code generators, support needs to be enabled on a case-by-case basis.
// The flag below should be set for all Java libraries, but the templates need to be ported
// one by one for each library.
supportsAdditionalPropertiesWithComposedSchema = true;
}
} else if (libApache) { } else if (libApache) {
forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON); forceSerializationLibrary(SERIALIZATION_LIBRARY_JACKSON);
} else { } else {
@@ -1246,13 +1230,11 @@ public class JavaClientCodegen extends AbstractJavaCodegen
@Override @Override
public void addImportsToOneOfInterface(List<Map<String, String>> imports) { public void addImportsToOneOfInterface(List<Map<String, String>> imports) {
if(additionalProperties.containsKey(SERIALIZATION_LIBRARY_JACKSON)) { for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) { Map<String, String> oneImport = new HashMap<>();
Map<String, String> oneImport = new HashMap<>(); oneImport.put("import", importMapping.get(i));
oneImport.put("import", importMapping.get(i)); if (!imports.contains(oneImport)) {
if (!imports.contains(oneImport)) { imports.add(oneImport);
imports.add(oneImport);
}
} }
} }
} }

View File

@@ -479,13 +479,11 @@ public class JavaHelidonClientCodegen extends JavaHelidonCommonCodegen {
@Override @Override
public void addImportsToOneOfInterface(List<Map<String, String>> imports) { public void addImportsToOneOfInterface(List<Map<String, String>> imports) {
if(additionalProperties.containsKey(SERIALIZATION_LIBRARY_JACKSON)) { for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) {
for (String i : Arrays.asList("JsonSubTypes", "JsonTypeInfo", "JsonIgnoreProperties")) { Map<String, String> oneImport = new HashMap<>();
Map<String, String> oneImport = new HashMap<>(); oneImport.put("import", importMapping.get(i));
oneImport.put("import", importMapping.get(i)); if (!imports.contains(oneImport)) {
if (!imports.contains(oneImport)) { imports.add(oneImport);
imports.add(oneImport);
}
} }
} }
} }

View File

@@ -46,7 +46,6 @@ import java.net.URL;
import java.util.*; import java.util.*;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static org.openapitools.codegen.utils.StringUtils.camelize; import static org.openapitools.codegen.utils.StringUtils.camelize;
import static org.openapitools.codegen.utils.StringUtils.underscore; import static org.openapitools.codegen.utils.StringUtils.underscore;
@@ -223,7 +222,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
*/ */
supportingFiles.add(new SupportingFile("openapi.mustache", "api", "openapi.yaml")); supportingFiles.add(new SupportingFile("openapi.mustache", "api", "openapi.yaml"));
supportingFiles.add(new SupportingFile("Cargo.mustache", "", "Cargo.toml")); supportingFiles.add(new SupportingFile("Cargo.mustache", "", "Cargo.toml"));
supportingFiles.add(new SupportingFile("cargo-config", ".cargo", "config.toml")); supportingFiles.add(new SupportingFile("cargo-config", ".cargo", "config"));
supportingFiles.add(new SupportingFile("gitignore", "", ".gitignore")); supportingFiles.add(new SupportingFile("gitignore", "", ".gitignore"));
supportingFiles.add(new SupportingFile("lib.mustache", "src", "lib.rs")); supportingFiles.add(new SupportingFile("lib.mustache", "src", "lib.rs"));
supportingFiles.add(new SupportingFile("context.mustache", "src", "context.rs")); supportingFiles.add(new SupportingFile("context.mustache", "src", "context.rs"));
@@ -1532,16 +1531,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
} }
} else if (param.isArray) { } else if (param.isArray) {
param.vendorExtensions.put("x-format-string", "{:?}"); param.vendorExtensions.put("x-format-string", "{:?}");
if (param.items.isString) { example = (param.example != null) ? param.example : "&Vec::new()";
// We iterate through the list of string and ensure they end up in the format vec!["example".to_string()]
example = (param.example != null)
? "&vec![" + Arrays.stream(param.example.replace("[", "").replace("]", "").split(","))
.map(item -> item + ".to_string()")
.collect(Collectors.joining(", ")) + "]"
: "&Vec::new()";
} else {
example = (param.example != null) ? param.example : "&Vec::new()";
}
} else { } else {
param.vendorExtensions.put("x-format-string", "{:?}"); param.vendorExtensions.put("x-format-string", "{:?}");
if (param.example != null) { if (param.example != null) {

View File

@@ -807,12 +807,12 @@ public class ScalaHttp4sServerCodegen extends DefaultCodegen implements CodegenC
if (_vendorExtensions.size() == 1) { // only `x-type` if (_vendorExtensions.size() == 1) { // only `x-type`
if ("String".equals(cp.getDataType())) { if ("String".equals(cp.getDataType())) {
return cp.paramName; return cp.baseName;
} else { } else {
return cp.dataType + "Varr(" + cp.paramName + ")"; return cp.dataType + "Varr(" + cp.baseName + ")";
} }
} else { } else {
return cp.baseName + "Varr(" + cp.paramName + ")"; return cp.baseName + "Varr(" + cp.baseName + ")";
} }
} }
@@ -844,7 +844,7 @@ public class ScalaHttp4sServerCodegen extends DefaultCodegen implements CodegenC
} }
vendorExtensions.putAll(refineProp(cp, imports)); vendorExtensions.putAll(refineProp(cp, imports));
return cp.baseName + "QueryParam(" + cp.paramName + ")"; return cp.baseName + "QueryParam(" + cp.baseName + ")";
} }
@Override @Override

View File

@@ -90,7 +90,6 @@ public class SpringCodegen extends AbstractJavaCodegen
public static final String RETURN_SUCCESS_CODE = "returnSuccessCode"; public static final String RETURN_SUCCESS_CODE = "returnSuccessCode";
public static final String UNHANDLED_EXCEPTION_HANDLING = "unhandledException"; public static final String UNHANDLED_EXCEPTION_HANDLING = "unhandledException";
public static final String USE_RESPONSE_ENTITY = "useResponseEntity"; public static final String USE_RESPONSE_ENTITY = "useResponseEntity";
public static final String GENERATE_GENERIC_RESPONSE_ENTITY = "generateGenericResponseEntity";
public static final String USE_ENUM_CASE_INSENSITIVE = "useEnumCaseInsensitive"; public static final String USE_ENUM_CASE_INSENSITIVE = "useEnumCaseInsensitive";
public static final String USE_SPRING_BOOT3 = "useSpringBoot3"; public static final String USE_SPRING_BOOT3 = "useSpringBoot3";
public static final String REQUEST_MAPPING_OPTION = "requestMappingMode"; public static final String REQUEST_MAPPING_OPTION = "requestMappingMode";
@@ -148,7 +147,6 @@ public class SpringCodegen extends AbstractJavaCodegen
@Setter protected boolean useSpringController = false; @Setter protected boolean useSpringController = false;
protected boolean useSwaggerUI = true; protected boolean useSwaggerUI = true;
@Setter protected boolean useResponseEntity = true; @Setter protected boolean useResponseEntity = true;
@Setter protected boolean generateGenericResponseEntity = false;
@Setter protected boolean useEnumCaseInsensitive = false; @Setter protected boolean useEnumCaseInsensitive = false;
@Getter @Setter @Getter @Setter
protected boolean useSpringBoot3 = false; protected boolean useSpringBoot3 = false;
@@ -258,10 +256,6 @@ public class SpringCodegen extends AbstractJavaCodegen
"Use the `ResponseEntity` type to wrap return values of generated API methods. " "Use the `ResponseEntity` type to wrap return values of generated API methods. "
+ "If disabled, method are annotated using a `@ResponseStatus` annotation, which has the status of the first response declared in the Api definition", + "If disabled, method are annotated using a `@ResponseStatus` annotation, which has the status of the first response declared in the Api definition",
useResponseEntity)); useResponseEntity));
cliOptions.add(CliOption.newBoolean(GENERATE_GENERIC_RESPONSE_ENTITY,
"Use a generic type for the `ResponseEntity` wrapping return values of generated API methods. "
+ "If enabled, method are generated with return type ResponseEntity<?>",
generateGenericResponseEntity));
cliOptions.add(CliOption.newBoolean(USE_ENUM_CASE_INSENSITIVE, cliOptions.add(CliOption.newBoolean(USE_ENUM_CASE_INSENSITIVE,
"Use `equalsIgnoreCase` when String for enum comparison", "Use `equalsIgnoreCase` when String for enum comparison",
useEnumCaseInsensitive)); useEnumCaseInsensitive));
@@ -439,11 +433,6 @@ public class SpringCodegen extends AbstractJavaCodegen
convertPropertyToBooleanAndWriteBack(UNHANDLED_EXCEPTION_HANDLING, this::setUnhandledException); convertPropertyToBooleanAndWriteBack(UNHANDLED_EXCEPTION_HANDLING, this::setUnhandledException);
convertPropertyToBooleanAndWriteBack(USE_RESPONSE_ENTITY, this::setUseResponseEntity); convertPropertyToBooleanAndWriteBack(USE_RESPONSE_ENTITY, this::setUseResponseEntity);
convertPropertyToBooleanAndWriteBack(GENERATE_GENERIC_RESPONSE_ENTITY, this::setGenerateGenericResponseEntity);
if (!useResponseEntity) {
this.setGenerateGenericResponseEntity(false);
this.additionalProperties.put(GENERATE_GENERIC_RESPONSE_ENTITY, false);
}
convertPropertyToBooleanAndWriteBack(OPTIONAL_ACCEPT_NULLABLE, this::setOptionalAcceptNullable); convertPropertyToBooleanAndWriteBack(OPTIONAL_ACCEPT_NULLABLE, this::setOptionalAcceptNullable);
convertPropertyToBooleanAndWriteBack(USE_SPRING_BUILT_IN_VALIDATION, this::setUseSpringBuiltInValidation); convertPropertyToBooleanAndWriteBack(USE_SPRING_BUILT_IN_VALIDATION, this::setUseSpringBuiltInValidation);

View File

@@ -64,7 +64,6 @@ import {{invokerPackage}}.auth.OAuth;
{{/hasOAuthMethods}} {{/hasOAuthMethods}}
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
protected Map<String, String> defaultHeaderMap = new HashMap<String, String>(); protected Map<String, String> defaultHeaderMap = new HashMap<String, String>();
protected Map<String, String> defaultCookieMap = new HashMap<String, String>(); protected Map<String, String> defaultCookieMap = new HashMap<String, String>();

View File

@@ -7,7 +7,6 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Supplier; import java.util.function.Supplier;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class Configuration { public class Configuration {
public static final String VERSION = "{{{artifactVersion}}}"; public static final String VERSION = "{{{artifactVersion}}}";

View File

@@ -10,49 +10,44 @@ import java.time.format.DateTimeParseException;
* It's generated for java clients when {@code AbstractJavaCodegen#dateLibrary} specified as {@code java8}. * It's generated for java clients when {@code AbstractJavaCodegen#dateLibrary} specified as {@code java8}.
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class JavaTimeFormatter { public class JavaTimeFormatter {
private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
/** private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
* Get the date format used to parse/format {@code OffsetDateTime} parameters.
*
* @return DateTimeFormatter
*/
public DateTimeFormatter getOffsetDateTimeFormatter() {
return offsetDateTimeFormatter;
}
/** /**
* Set the date format used to parse/format {@code OffsetDateTime} parameters. * Get the date format used to parse/format {@code OffsetDateTime} parameters.
* * @return DateTimeFormatter
* @param offsetDateTimeFormatter {@code DateTimeFormatter} */
*/ public DateTimeFormatter getOffsetDateTimeFormatter() {
public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) { return offsetDateTimeFormatter;
this.offsetDateTimeFormatter = offsetDateTimeFormatter;
}
/**
* Parse the given string into {@code OffsetDateTime} object.
*
* @param str String
* @return {@code OffsetDateTime}
*/
public OffsetDateTime parseOffsetDateTime(String str) {
try {
return OffsetDateTime.parse(str, offsetDateTimeFormatter);
} catch (DateTimeParseException e) {
throw new RuntimeException(e);
} }
}
/** /**
* Format the given {@code OffsetDateTime} object into string. * Set the date format used to parse/format {@code OffsetDateTime} parameters.
* * @param offsetDateTimeFormatter {@code DateTimeFormatter}
* @param offsetDateTime {@code OffsetDateTime} */
* @return {@code OffsetDateTime} in string format public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) {
*/ this.offsetDateTimeFormatter = offsetDateTimeFormatter;
public String formatOffsetDateTime(OffsetDateTime offsetDateTime) { }
return offsetDateTimeFormatter.format(offsetDateTime);
} /**
} * Parse the given string into {@code OffsetDateTime} object.
* @param str String
* @return {@code OffsetDateTime}
*/
public OffsetDateTime parseOffsetDateTime(String str) {
try {
return OffsetDateTime.parse(str, offsetDateTimeFormatter);
} catch (DateTimeParseException e) {
throw new RuntimeException(e);
}
}
/**
* Format the given {@code OffsetDateTime} object into string.
* @param offsetDateTime {@code OffsetDateTime}
* @return {@code OffsetDateTime} in string format
*/
public String formatOffsetDateTime(OffsetDateTime offsetDateTime) {
return offsetDateTimeFormatter.format(offsetDateTime);
}
}

View File

@@ -3,25 +3,44 @@
package {{invokerPackage}}; package {{invokerPackage}};
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class Pair { public class Pair {
private final String name; private String name = "";
private final String value; private String value = "";
public Pair(String name, String value) { public Pair (String name, String value) {
this.name = isValidString(name) ? name : ""; setName(name);
this.value = isValidString(value) ? value : ""; setValue(value);
} }
public String getName() { private void setName(String name) {
return this.name; if (!isValidString(name)) {
} return;
}
public String getValue() { this.name = name;
return this.value; }
}
private static boolean isValidString(String arg) { private void setValue(String value) {
return arg != null; if (!isValidString(value)) {
} return;
}
this.value = value;
}
public String getName() {
return this.name;
}
public String getValue() {
return this.value;
}
private boolean isValidString(String arg) {
if (arg == null) {
return false;
}
return true;
}
} }

View File

@@ -12,7 +12,6 @@ import java.util.GregorianCalendar;
import java.util.TimeZone; import java.util.TimeZone;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class RFC3339DateFormat extends DateFormat { public class RFC3339DateFormat extends DateFormat {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC");

View File

@@ -18,7 +18,6 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> { public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault(); private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();

View File

@@ -8,7 +8,6 @@ import java.time.ZonedDateTime;
import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.module.SimpleModule;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class RFC3339JavaTimeModule extends SimpleModule { public class RFC3339JavaTimeModule extends SimpleModule {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -8,7 +8,6 @@ import java.util.Map;
* Representing a Server configuration. * Representing a Server configuration.
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ServerConfiguration { public class ServerConfiguration {
public String URL; public String URL;
public String description; public String description;

View File

@@ -8,7 +8,6 @@ import java.util.HashSet;
* Representing a Server Variable for server URL template substitution. * Representing a Server Variable for server URL template substitution.
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ServerVariable { public class ServerVariable {
public String description; public String description;
public String defaultValue; public String defaultValue;

View File

@@ -6,7 +6,6 @@ import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class StringUtil { public class StringUtil {
/** /**
* Check if the given array contains the given value (with case-insensitive comparison). * Check if the given array contains the given value (with case-insensitive comparison).

View File

@@ -19,7 +19,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
{{>generatedAnnotation}} {{>generatedAnnotation}}
{{#operations}} {{#operations}}
public class {{classname}} { public class {{classname}} {
private ApiClient apiClient; private ApiClient apiClient;

View File

@@ -6,7 +6,6 @@ import java.util.Map;
import java.util.List; import java.util.List;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiException extends{{#useRuntimeException}} RuntimeException {{/useRuntimeException}}{{^useRuntimeException}} Exception {{/useRuntimeException}}{ public class ApiException extends{{#useRuntimeException}} RuntimeException {{/useRuntimeException}}{{^useRuntimeException}} Exception {{/useRuntimeException}}{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -8,7 +8,6 @@ import java.util.Map;
import java.util.List; import java.util.List;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiKeyAuth implements Authentication { public class ApiKeyAuth implements Authentication {
private final String location; private final String location;
private final String paramName; private final String paramName;

View File

@@ -8,14 +8,13 @@ import java.util.Map;
import java.util.List; import java.util.List;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public interface Authentication { public interface Authentication {
/** /**
* Apply authentication settings to header and query params. * Apply authentication settings to header and query params.
* *
* @param queryParams List of query parameters * @param queryParams List of query parameters
* @param headerParams Map of header parameters * @param headerParams Map of header parameters
* @param cookieParams Map of cookie parameters * @param cookieParams Map of cookie parameters
*/ */
void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams); void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams);
} }

View File

@@ -11,7 +11,6 @@ import java.util.Map;
import java.util.List; import java.util.List;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class HttpBasicAuth implements Authentication { public class HttpBasicAuth implements Authentication {
private String username; private String username;
private String password; private String password;

View File

@@ -6,16 +6,16 @@ import {{invokerPackage}}.Pair;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier; import java.util.function.Supplier;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class HttpBearerAuth implements Authentication { public class HttpBearerAuth implements Authentication {
private final String scheme; private final String scheme;
private Supplier<String> tokenSupplier; private Supplier<String> tokenSupplier;
public HttpBearerAuth(String scheme) { public HttpBearerAuth(String scheme) {
this.scheme = upperCaseBearer(scheme); this.scheme = scheme;
} }
/** /**
@@ -47,14 +47,15 @@ public class HttpBearerAuth implements Authentication {
@Override @Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) { public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams) {
String bearerToken = tokenSupplier != null ? tokenSupplier.get() : null; String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null);
if (bearerToken == null) { if (bearerToken == null) {
return; return;
} }
headerParams.put("Authorization", (scheme != null ? scheme + " " : "") + bearerToken);
headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken);
} }
private static String upperCaseBearer(String scheme) { private static String upperCaseBearer(String scheme) {
return "bearer".equalsIgnoreCase(scheme) ? "Bearer" : scheme; return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme;
} }
} }

View File

@@ -8,7 +8,6 @@ import java.util.Map;
import java.util.List; import java.util.List;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class OAuth implements Authentication { public class OAuth implements Authentication {
private String accessToken; private String accessToken;

View File

@@ -6,7 +6,6 @@ package {{invokerPackage}}.auth;
* OAuth flows that are supported by this client * OAuth flows that are supported by this client
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public enum OAuthFlow { public enum OAuthFlow {
ACCESS_CODE, //called authorizationCode in OpenAPI 3.0 ACCESS_CODE, //called authorizationCode in OpenAPI 3.0
IMPLICIT, IMPLICIT,

View File

@@ -86,7 +86,6 @@ import {{invokerPackage}}.auth.OAuth;
{{/hasOAuthMethods}} {{/hasOAuthMethods}}
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
protected Map<String, String> defaultHeaderMap = new HashMap<String, String>(); protected Map<String, String> defaultHeaderMap = new HashMap<String, String>();
protected Map<String, String> defaultCookieMap = new HashMap<String, String>(); protected Map<String, String> defaultCookieMap = new HashMap<String, String>();

View File

@@ -7,7 +7,6 @@ import java.util.Collections;
import java.util.Map; import java.util.Map;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public abstract class BaseApi { public abstract class BaseApi {
protected ApiClient apiClient; protected ApiClient apiClient;

View File

@@ -29,7 +29,6 @@ import {{javaxPackage}}.validation.Valid;
{{/useBeanValidation}} {{/useBeanValidation}}
{{>generatedAnnotation}} {{>generatedAnnotation}}
{{#operations}} {{#operations}}
public class {{classname}} extends BaseApi { public class {{classname}} extends BaseApi {

View File

@@ -53,7 +53,6 @@ import feign.Retryer;
{{/hasOAuthMethods}} {{/hasOAuthMethods}}
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiClient { public class ApiClient {
protected static final Logger log = Logger.getLogger(ApiClient.class.getName()); protected static final Logger log = Logger.getLogger(ApiClient.class.getName());

View File

@@ -22,7 +22,6 @@ import {{javaxPackage}}.validation.Valid;
import feign.*; import feign.*;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public interface {{classname}} extends ApiClient.Api { public interface {{classname}} extends ApiClient.Api {
{{#operations}}{{#operation}} {{#operations}}{{#operation}}

View File

@@ -12,7 +12,6 @@ import com.github.scribejava.core.oauth2.clientauthentication.ClientAuthenticati
import com.github.scribejava.core.oauth2.clientauthentication.RequestBodyAuthenticationScheme; import com.github.scribejava.core.oauth2.clientauthentication.RequestBodyAuthenticationScheme;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class DefaultApi20Impl extends DefaultApi20 { public class DefaultApi20Impl extends DefaultApi20 {
private final String accessTokenEndpoint; private final String accessTokenEndpoint;

View File

@@ -10,7 +10,6 @@ import feign.RequestTemplate;
import java.util.Collection; import java.util.Collection;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public abstract class OAuth implements RequestInterceptor { public abstract class OAuth implements RequestInterceptor {
//https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 //https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4

View File

@@ -6,7 +6,6 @@ import com.github.scribejava.core.builder.ServiceBuilder;
import com.github.scribejava.core.model.OAuth2AccessToken; import com.github.scribejava.core.model.OAuth2AccessToken;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class OauthClientCredentialsGrant extends OAuth { public class OauthClientCredentialsGrant extends OAuth {
public OauthClientCredentialsGrant(String authorizationUrl, String tokenUrl, String scopes) { public OauthClientCredentialsGrant(String authorizationUrl, String tokenUrl, String scopes) {

View File

@@ -6,7 +6,6 @@ import com.github.scribejava.core.builder.ServiceBuilder;
import com.github.scribejava.core.model.OAuth2AccessToken; import com.github.scribejava.core.model.OAuth2AccessToken;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class OauthPasswordGrant extends OAuth { public class OauthPasswordGrant extends OAuth {
private String username; private String username;

View File

@@ -33,12 +33,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{#isEnum}} {{#isEnum}}
{{^isContainer}} {{^isContainer}}
{{>modelInnerEnum}} {{>modelInnerEnum}}
{{/isContainer}} {{/isContainer}}
{{#isContainer}} {{#isContainer}}
{{#mostInnerItems}} {{#mostInnerItems}}
{{>modelInnerEnum}} {{>modelInnerEnum}}
{{/mostInnerItems}} {{/mostInnerItems}}
{{/isContainer}} {{/isContainer}}
{{/isEnum}} {{/isEnum}}
@@ -74,7 +72,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{/isContainer}} {{/isContainer}}
{{/vendorExtensions.x-is-jackson-optional-nullable}} {{/vendorExtensions.x-is-jackson-optional-nullable}}
{{^vendorExtensions.x-is-jackson-optional-nullable}} {{^vendorExtensions.x-is-jackson-optional-nullable}}
{{>nullable_var_annotations}}{{! prevent indent}} {{>nullable_var_annotations}}
{{#isContainer}} {{#isContainer}}
private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}}; private {{{datatypeWithEnum}}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
{{/isContainer}} {{/isContainer}}
@@ -192,13 +190,12 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{#deprecated}} {{#deprecated}}
@Deprecated @Deprecated
{{/deprecated}} {{/deprecated}}
{{>nullable_var_annotations}}{{! prevent indent}} {{>nullable_var_annotations}}
{{#jsonb}} {{#jsonb}}
@JsonbProperty("{{baseName}}") @JsonbProperty("{{baseName}}")
{{/jsonb}} {{/jsonb}}
{{#useBeanValidation}} {{#useBeanValidation}}
{{>beanValidation}} {{>beanValidation}}
{{/useBeanValidation}} {{/useBeanValidation}}
{{#swagger1AnnotationLibrary}} {{#swagger1AnnotationLibrary}}
@ApiModelProperty({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}") @ApiModelProperty({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}")
@@ -227,7 +224,6 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{#vendorExtensions.x-is-jackson-optional-nullable}} {{#vendorExtensions.x-is-jackson-optional-nullable}}
{{> jackson_annotations}} {{> jackson_annotations}}
public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}_JsonNullable() { public JsonNullable<{{{datatypeWithEnum}}}> {{getter}}_JsonNullable() {
return {{name}}; return {{name}};
} }
@@ -253,7 +249,6 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
{{/vars}} {{/vars}}
{{>libraries/feign/additional_properties}} {{>libraries/feign/additional_properties}}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
{{#useReflectionEqualsHashCode}} {{#useReflectionEqualsHashCode}}

View File

@@ -24,7 +24,6 @@ import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiClient { public class ApiClient {
protected final String basePath; protected final String basePath;
protected final HttpRequestFactory httpRequestFactory; protected final HttpRequestFactory httpRequestFactory;

View File

@@ -23,7 +23,6 @@ import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
{{>generatedAnnotation}} {{>generatedAnnotation}}
{{#operations}} {{#operations}}
public class {{classname}} { public class {{classname}} {
private ApiClient apiClient; private ApiClient apiClient;

View File

@@ -14,7 +14,6 @@ import com.fasterxml.jackson.annotation.JsonValue;
* Abstract class for oneOf,anyOf schemas defined in OpenAPI spec * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public abstract class AbstractOpenApiSchema { public abstract class AbstractOpenApiSchema {
// store the actual instance of the schema/object // store the actual instance of the schema/object
@@ -136,5 +135,4 @@ public abstract class AbstractOpenApiSchema {
{{>libraries/jersey2/additional_properties}} {{>libraries/jersey2/additional_properties}}
} }

View File

@@ -84,7 +84,6 @@ import {{invokerPackage}}.auth.OAuth;
* <p>ApiClient class.</p> * <p>ApiClient class.</p>
*/ */
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} { public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
protected static final Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$"); protected static final Pattern JSON_MIME_PATTERN = Pattern.compile("(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$");

View File

@@ -22,7 +22,6 @@ import {{javaxPackage}}.ws.rs.core.GenericType;
import {{javaxPackage}}.ws.rs.ext.ContextResolver; import {{javaxPackage}}.ws.rs.ext.ContextResolver;
{{>generatedAnnotation}} {{>generatedAnnotation}}
public class JSON implements ContextResolver<ObjectMapper> { public class JSON implements ContextResolver<ObjectMapper> {
private ObjectMapper mapper; private ObjectMapper mapper;

View File

@@ -119,7 +119,6 @@ public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-im
super("anyOf", {{#isNullable}}Boolean.TRUE{{/isNullable}}{{^isNullable}}Boolean.FALSE{{/isNullable}}); super("anyOf", {{#isNullable}}Boolean.TRUE{{/isNullable}}{{^isNullable}}Boolean.FALSE{{/isNullable}});
} }
{{> libraries/jersey2/additional_properties }} {{> libraries/jersey2/additional_properties }}
{{#additionalPropertiesType}} {{#additionalPropertiesType}}
/** /**
* Return true if this {{name}} object is equal to o. * Return true if this {{name}} object is equal to o.

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