diff --git a/.github/workflows/gradle-plugin-tests.yaml b/.github/workflows/gradle-plugin-tests.yaml index 293cc36daa9b..3420bafdeb79 100644 --- a/.github/workflows/gradle-plugin-tests.yaml +++ b/.github/workflows/gradle-plugin-tests.yaml @@ -14,10 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v5 with: - java-version: 11 + java-version: 21 distribution: 'temurin' cache: gradle - name: Cache maven dependencies diff --git a/modules/openapi-generator-gradle-plugin/build.gradle b/modules/openapi-generator-gradle-plugin/build.gradle index 5bfe8171199d..c4233aa6af3e 100644 --- a/modules/openapi-generator-gradle-plugin/build.gradle +++ b/modules/openapi-generator-gradle-plugin/build.gradle @@ -3,11 +3,10 @@ import io.github.gradlenexus.publishplugin.ReleaseNexusStagingRepository import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id("com.gradle.plugin-publish") version "1.1.0" - id("io.github.gradle-nexus.publish-plugin") version "1.1.0" + id("com.gradle.plugin-publish") version "2.0.0" + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" id("java-gradle-plugin") id("maven-publish") - id("org.gradle.kotlin.kotlin-dsl") version "2.4.1" id("org.jetbrains.kotlin.jvm") version "1.9.0" id("signing") } diff --git a/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.jar b/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.jar index 943f0cbfa754..1b33c55baabb 100644 Binary files a/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.jar and b/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties index c7d437bbb476..aaaabb3cb9fe 100644 --- a/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/modules/openapi-generator-gradle-plugin/gradlew b/modules/openapi-generator-gradle-plugin/gradlew index 65dcd68d65c8..23d15a936707 100755 --- a/modules/openapi-generator-gradle-plugin/gradlew +++ b/modules/openapi-generator-gradle-plugin/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -83,10 +85,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -133,10 +133,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +147,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +155,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,16 +200,20 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/modules/openapi-generator-gradle-plugin/gradlew.bat b/modules/openapi-generator-gradle-plugin/gradlew.bat index 93e3f59f135d..db3a6ac207e5 100644 --- a/modules/openapi-generator-gradle-plugin/gradlew.bat +++ b/modules/openapi-generator-gradle-plugin/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,22 +59,22 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/modules/openapi-generator-gradle-plugin/pom.xml b/modules/openapi-generator-gradle-plugin/pom.xml index 506e07706190..0c2cbb67c589 100644 --- a/modules/openapi-generator-gradle-plugin/pom.xml +++ b/modules/openapi-generator-gradle-plugin/pom.xml @@ -17,7 +17,7 @@ true - 7.6.4 + 8.14.4 7.4.2 diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.jar b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.jar index cc4fdc293d0e..1b33c55baabb 100644 Binary files a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.jar and b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.properties b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.properties index 3994438e2292..aaaabb3cb9fe 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.properties +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew index cc8078650258..23d15a936707 100755 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -83,10 +85,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -133,10 +133,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -144,7 +147,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +155,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -197,16 +200,20 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew.bat b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew.bat index ea603b410240..db3a6ac207e5 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew.bat +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## @@ -34,7 +36,7 @@ set APP_HOME=%DIRNAME% for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS=-Dfile.encoding=UTF-8 "-Xmx64m" "-Xms64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -43,11 +45,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,22 +59,22 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt index 7588e1f7619e..432957c90e22 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/OpenApiGeneratorPlugin.kt @@ -26,6 +26,7 @@ import org.openapitools.generator.gradle.plugin.tasks.GenerateTask import org.openapitools.generator.gradle.plugin.tasks.GeneratorsTask import org.openapitools.generator.gradle.plugin.tasks.MetaTask import org.openapitools.generator.gradle.plugin.tasks.ValidateTask +import kotlin.jvm.java /** * A plugin providing common Open API Generator use cases. @@ -60,102 +61,102 @@ class OpenApiGeneratorPlugin : Plugin { project ) - generate.outputDir.set("$buildDir/generate-resources/main") + generate.outputDir.convention(project.layout.buildDirectory.map { it.asFile.resolve("generate-resources/main").absolutePath }) tasks.apply { - register("openApiGenerators", GeneratorsTask::class.java).configure { - group = pluginGroup - description = "Lists generators available via Open API Generators." + register("openApiGenerators", GeneratorsTask::class.java).configure { task -> + task.group = pluginGroup + task.description = "Lists generators available via Open API Generators." - include.set(generators.include) + task.include.set(generators.include) } - register("openApiMeta", MetaTask::class.java).configure { - group = pluginGroup - description = "Generates a new generator to be consumed via Open API Generator." + register("openApiMeta", MetaTask::class.java).configure { task -> + task.group = pluginGroup + task.description = "Generates a new generator to be consumed via Open API Generator." - generatorName.set(meta.generatorName) - packageName.set(meta.packageName) - outputFolder.set(meta.outputFolder) + task.generatorName.set(meta.generatorName) + task.packageName.set(meta.packageName) + task.outputFolder.set(meta.outputFolder) } - register("openApiValidate", ValidateTask::class.java).configure { - group = pluginGroup - description = "Validates an Open API 2.0 or 3.x specification document." + register("openApiValidate", ValidateTask::class.java).configure { task -> + task.group = pluginGroup + task.description = "Validates an Open API 2.0 or 3.x specification document." - inputSpec.set(validate.inputSpec) - recommend.set(validate.recommend) - treatWarningsAsErrors.set(validate.treatWarningsAsErrors) + task.inputSpec.set(validate.inputSpec) + task.recommend.set(validate.recommend) + task.treatWarningsAsErrors.set(validate.treatWarningsAsErrors) } - register("openApiGenerate", GenerateTask::class.java).configure { - group = pluginGroup - description = + register("openApiGenerate", GenerateTask::class.java).configure { task -> + task.group = pluginGroup + task.description = "Generate code via Open API Tools Generator for Open API 2.0 or 3.x specification documents." - verbose.set(generate.verbose) - validateSpec.set(generate.validateSpec) - generatorName.set(generate.generatorName) - outputDir.set(generate.outputDir) - inputSpec.set(generate.inputSpec) - inputSpecRootDirectory.set(generate.inputSpecRootDirectory) - inputSpecRootDirectorySkipMerge.set(generate.inputSpecRootDirectorySkipMerge) - remoteInputSpec.set(generate.remoteInputSpec) - templateDir.set(generate.templateDir) - templateResourcePath.set(generate.templateResourcePath) - auth.set(generate.auth) - globalProperties.set(generate.globalProperties) - configFile.set(generate.configFile) - skipOverwrite.set(generate.skipOverwrite) - packageName.set(generate.packageName) - apiPackage.set(generate.apiPackage) - modelPackage.set(generate.modelPackage) - modelNamePrefix.set(generate.modelNamePrefix) - modelNameSuffix.set(generate.modelNameSuffix) - apiNameSuffix.set(generate.apiNameSuffix) - instantiationTypes.set(generate.instantiationTypes) - typeMappings.set(generate.typeMappings) - additionalProperties.set(generate.additionalProperties) - serverVariables.set(generate.serverVariables) - languageSpecificPrimitives.set(generate.languageSpecificPrimitives) - openapiGeneratorIgnoreList.set(generate.openapiGeneratorIgnoreList) - importMappings.set(generate.importMappings) - schemaMappings.set(generate.schemaMappings) - inlineSchemaNameMappings.set(generate.inlineSchemaNameMappings) - inlineSchemaOptions.set(generate.inlineSchemaOptions) - nameMappings.set(generate.nameMappings) - modelNameMappings.set(generate.modelNameMappings) - parameterNameMappings.set(generate.parameterNameMappings) - openapiNormalizer.set(generate.openapiNormalizer) - invokerPackage.set(generate.invokerPackage) - groupId.set(generate.groupId) - id.set(generate.id) - version.set(generate.version) - library.set(generate.library) - gitHost.set(generate.gitHost) - gitUserId.set(generate.gitUserId) - gitRepoId.set(generate.gitRepoId) - releaseNote.set(generate.releaseNote) - httpUserAgent.set(generate.httpUserAgent) - reservedWordsMappings.set(generate.reservedWordsMappings) - ignoreFileOverride.set(generate.ignoreFileOverride) - removeOperationIdPrefix.set(generate.removeOperationIdPrefix) - skipOperationExample.set(generate.skipOperationExample) - apiFilesConstrainedTo.set(generate.apiFilesConstrainedTo) - modelFilesConstrainedTo.set(generate.modelFilesConstrainedTo) - supportingFilesConstrainedTo.set(generate.supportingFilesConstrainedTo) - generateModelTests.set(generate.generateModelTests) - generateModelDocumentation.set(generate.generateModelDocumentation) - generateApiTests.set(generate.generateApiTests) - generateApiDocumentation.set(generate.generateApiDocumentation) - configOptions.set(generate.configOptions) - logToStderr.set(generate.logToStderr) - enablePostProcessFile.set(generate.enablePostProcessFile) - skipValidateSpec.set(generate.skipValidateSpec) - generateAliasAsModel.set(generate.generateAliasAsModel) - engine.set(generate.engine) - cleanupOutput.set(generate.cleanupOutput) - dryRun.set(generate.dryRun) + task.verbose.set(generate.verbose) + task.validateSpec.set(generate.validateSpec) + task.generatorName.set(generate.generatorName) + task.outputDir.set(generate.outputDir) + task.inputSpec.set(generate.inputSpec) + task.inputSpecRootDirectory.set(generate.inputSpecRootDirectory) + task.inputSpecRootDirectorySkipMerge.set(generate.inputSpecRootDirectorySkipMerge) + task.remoteInputSpec.set(generate.remoteInputSpec) + task.templateDir.set(generate.templateDir) + task.templateResourcePath.set(generate.templateResourcePath) + task.auth.set(generate.auth) + task.globalProperties.set(generate.globalProperties) + task.configFile.set(generate.configFile) + task.skipOverwrite.set(generate.skipOverwrite) + task.packageName.set(generate.packageName) + task.apiPackage.set(generate.apiPackage) + task.modelPackage.set(generate.modelPackage) + task.modelNamePrefix.set(generate.modelNamePrefix) + task.modelNameSuffix.set(generate.modelNameSuffix) + task.apiNameSuffix.set(generate.apiNameSuffix) + task.instantiationTypes.set(generate.instantiationTypes) + task.typeMappings.set(generate.typeMappings) + task.additionalProperties.set(generate.additionalProperties) + task.serverVariables.set(generate.serverVariables) + task.languageSpecificPrimitives.set(generate.languageSpecificPrimitives) + task.openapiGeneratorIgnoreList.set(generate.openapiGeneratorIgnoreList) + task.importMappings.set(generate.importMappings) + task.schemaMappings.set(generate.schemaMappings) + task.inlineSchemaNameMappings.set(generate.inlineSchemaNameMappings) + task.inlineSchemaOptions.set(generate.inlineSchemaOptions) + task.nameMappings.set(generate.nameMappings) + task.modelNameMappings.set(generate.modelNameMappings) + task.parameterNameMappings.set(generate.parameterNameMappings) + task.openapiNormalizer.set(generate.openapiNormalizer) + task.invokerPackage.set(generate.invokerPackage) + task.groupId.set(generate.groupId) + task.id.set(generate.id) + task.version.set(generate.version) + task.library.set(generate.library) + task.gitHost.set(generate.gitHost) + task.gitUserId.set(generate.gitUserId) + task.gitRepoId.set(generate.gitRepoId) + task.releaseNote.set(generate.releaseNote) + task.httpUserAgent.set(generate.httpUserAgent) + task.reservedWordsMappings.set(generate.reservedWordsMappings) + task.ignoreFileOverride.set(generate.ignoreFileOverride) + task.removeOperationIdPrefix.set(generate.removeOperationIdPrefix) + task.skipOperationExample.set(generate.skipOperationExample) + task.apiFilesConstrainedTo.set(generate.apiFilesConstrainedTo) + task.modelFilesConstrainedTo.set(generate.modelFilesConstrainedTo) + task.supportingFilesConstrainedTo.set(generate.supportingFilesConstrainedTo) + task.generateModelTests.set(generate.generateModelTests) + task.generateModelDocumentation.set(generate.generateModelDocumentation) + task.generateApiTests.set(generate.generateApiTests) + task.generateApiDocumentation.set(generate.generateApiDocumentation) + task.configOptions.set(generate.configOptions) + task.logToStderr.set(generate.logToStderr) + task.enablePostProcessFile.set(generate.enablePostProcessFile) + task.skipValidateSpec.set(generate.skipValidateSpec) + task.generateAliasAsModel.set(generate.generateAliasAsModel) + task.engine.set(generate.engine) + task.cleanupOutput.set(generate.cleanupOutput) + task.dryRun.set(generate.dryRun) } } } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt index 3d5a3489cf01..2175e30532f0 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGenerateExtension.kt @@ -19,9 +19,6 @@ package org.openapitools.generator.gradle.plugin.extensions import org.gradle.api.Project import org.gradle.api.tasks.Input import org.gradle.api.tasks.Optional -import org.gradle.kotlin.dsl.listProperty -import org.gradle.kotlin.dsl.mapProperty -import org.gradle.kotlin.dsl.property /** * Gradle project level extension object definition for the `generate` task @@ -32,22 +29,22 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { /** * The verbosity of generation */ - val verbose = project.objects.property() + val verbose = project.objects.property(Boolean::class.javaObjectType) /** * Whether an input specification should be validated upon generation. */ - val validateSpec = project.objects.property() + val validateSpec = project.objects.property(Boolean::class.javaObjectType) /** * The name of the generator which will handle codegen. (see "openApiGenerators" task) */ - val generatorName = project.objects.property() + val generatorName = project.objects.property(String::class.java) /** * The output target directory into which code will be generated. */ - val outputDir = project.objects.property() + val outputDir = project.objects.property(String::class.java) /** * The Open API 2.0/3.x specification location. @@ -56,7 +53,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * changes to any $ref referenced files. Use the `inputSpecRootDirectory` property to have Gradle track changes to * an entire directory of spec files. */ - val inputSpec = project.objects.property() + val inputSpec = project.objects.property(String::class.java) /** * Local root folder with spec files. @@ -64,232 +61,233 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * By default, a merged spec file will be generated based on the contents of the directory. To disable this, set the * `inputSpecRootDirectorySkipMerge` property. */ - val inputSpecRootDirectory = project.objects.property() + val inputSpecRootDirectory = project.objects.property(String::class.java) /** * Skip bundling all spec files into a merged spec file, if true. * * Default false. */ - val inputSpecRootDirectorySkipMerge = project.objects.property() + val inputSpecRootDirectorySkipMerge = project.objects.property(Boolean::class.javaObjectType) /** * The remote Open API 2.0/3.x specification URL location. */ - val remoteInputSpec = project.objects.property() + val remoteInputSpec = project.objects.property(String::class.java) /** * The template directory holding a custom template. */ - val templateDir = project.objects.property() + val templateDir = project.objects.property(String::class.java) /** * The template location (which may be a directory or a classpath location) holding custom templates. */ - val templateResourcePath = project.objects.property() + val templateResourcePath = project.objects.property(String::class.java) /** * Adds authorization headers when fetching the OpenAPI definitions remotely. * Pass in a URL-encoded string of name:header with a comma separating multiple values */ - val auth = project.objects.property() + val auth = project.objects.property(String::class.java) /** * Sets specified global properties. */ - val globalProperties = project.objects.mapProperty() + val globalProperties = project.objects.mapProperty(String::class.java, String::class.java) /** * Path to json configuration file. * File content should be in a json format { "optionKey":"optionValue", "optionKey1":"optionValue1"...} * Supported options can be different for each language. Run config-help -g {generator name} command for language specific config options. */ - val configFile = project.objects.property() + val configFile = project.objects.property(String::class.java) /** * Specifies if the existing files should be overwritten during the generation. */ - val skipOverwrite = project.objects.property() + val skipOverwrite = project.objects.property(Boolean::class.javaObjectType) /** * Package for generated classes (where supported) */ - val packageName = project.objects.property() + val packageName = project.objects.property(String::class.java) /** * Package for generated api classes */ - val apiPackage = project.objects.property() + val apiPackage = project.objects.property(String::class.java) /** * Package for generated models */ - val modelPackage = project.objects.property() + val modelPackage = project.objects.property(String::class.java) /** * Prefix that will be prepended to all model names. Default is the empty string. */ - val modelNamePrefix = project.objects.property() + val modelNamePrefix = project.objects.property(String::class.java) /** * Suffix that will be appended to all model names. Default is the empty string. */ - val modelNameSuffix = project.objects.property() + val modelNameSuffix = project.objects.property(String::class.java) /** * Suffix that will be appended to all api names. Default is the empty string. */ - val apiNameSuffix = project.objects.property() + val apiNameSuffix = project.objects.property(String::class.java) /** * Sets instantiation type mappings. */ - val instantiationTypes = project.objects.mapProperty() + val instantiationTypes = project.objects.mapProperty(String::class.java, String::class.java) /** * Sets mappings between OpenAPI spec types and generated code types. */ - val typeMappings = project.objects.mapProperty() + val typeMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Sets additional properties that can be referenced by the mustache templates. */ - val additionalProperties = project.objects.mapProperty() + @Suppress("UNCHECKED_CAST") + val additionalProperties = project.objects.mapProperty(String::class.java, Any::class.java) /** * Sets server variable for server URL template substitution, in the format of name=value,name=value. */ - val serverVariables = project.objects.mapProperty() + val serverVariables = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies additional language specific primitive types in the format of type1,type2,type3,type3. For example: String,boolean,Boolean,Double. */ - val languageSpecificPrimitives = project.objects.listProperty() + val languageSpecificPrimitives = project.objects.listProperty(String::class.java) /** * Specifies .openapi-generator-ignore list in the form of relative/path/to/file1,relative/path/to/file2. For example: README.md,pom.xml. */ - val openapiGeneratorIgnoreList = project.objects.listProperty() + val openapiGeneratorIgnoreList = project.objects.listProperty(String::class.java) /** * Specifies mappings between a given class and the import that should be used for that class. */ - val importMappings = project.objects.mapProperty() + val importMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between a given schema and the new one */ - val schemaMappings = project.objects.mapProperty() + val schemaMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between an inline schema name and the new name */ - val inlineSchemaNameMappings = project.objects.mapProperty() + val inlineSchemaNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies options for inline schemas */ - val inlineSchemaOptions = project.objects.mapProperty() + val inlineSchemaOptions = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between a property name and the new name */ - val nameMappings = project.objects.mapProperty() + val nameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between a parameter name and the new name */ - val parameterNameMappings = project.objects.mapProperty() + val parameterNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between a model name and the new name */ - val modelNameMappings = project.objects.mapProperty() + val modelNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between an enum name and the new name */ - val enumNameMappings = project.objects.mapProperty() + val enumNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between an operation id name and the new name */ - val operationIdNameMappings = project.objects.mapProperty() + val operationIdNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings (rules) in OpenAPI normalizer */ - val openapiNormalizer = project.objects.mapProperty() + val openapiNormalizer = project.objects.mapProperty(String::class.java, String::class.java) /** * Root package for generated code. */ - val invokerPackage = project.objects.property() + val invokerPackage = project.objects.property(String::class.java) /** * GroupId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ - val groupId = project.objects.property() + val groupId = project.objects.property(String::class.java) /** * ArtifactId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ - val id = project.objects.property() + val id = project.objects.property(String::class.java) /** * Artifact version in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ - val version = project.objects.property() + val version = project.objects.property(String::class.java) /** * Reference the library template (sub-template) of a generator. */ - val library = project.objects.property() + val library = project.objects.property(String::class.java) /** * Git host, e.g. gitlab.com. */ - val gitHost = project.objects.property() + val gitHost = project.objects.property(String::class.java) /** * Git user ID, e.g. openapitools. */ - val gitUserId = project.objects.property() + val gitUserId = project.objects.property(String::class.java) /** * Git repo ID, e.g. openapi-generator. */ - val gitRepoId = project.objects.property() + val gitRepoId = project.objects.property(String::class.java) /** * Release note, default to 'Minor update'. */ - val releaseNote = project.objects.property() + val releaseNote = project.objects.property(String::class.java) /** * HTTP user agent, e.g. codegen_csharp_api_client, default to 'OpenAPI-Generator/{packageVersion}/{language}' */ - val httpUserAgent = project.objects.property() + val httpUserAgent = project.objects.property(String::class.java) /** * Specifies how a reserved name should be escaped to. Otherwise, the default _ is used. */ - val reservedWordsMappings = project.objects.mapProperty() + val reservedWordsMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies an override location for the .openapi-generator-ignore file. Most useful on initial generation. */ - val ignoreFileOverride = project.objects.property() + val ignoreFileOverride = project.objects.property(String::class.java) /** * Remove prefix of operationId, e.g. config_getId => getId */ - val removeOperationIdPrefix = project.objects.property() + val removeOperationIdPrefix = project.objects.property(Boolean::class.javaObjectType) /** * Skip examples defined in the operation */ - val skipOperationExample = project.objects.property() + val skipOperationExample = project.objects.property(Boolean::class.javaObjectType) /** * Defines which API-related files should be generated. This allows you to create a subset of generated files (or none at all). @@ -298,7 +296,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * in others being disabled. That is, OpenAPI Generator considers any one of these to define a subset of generation. * For more control over generation of individual files, configure an ignore file and refer to it via [ignoreFileOverride]. */ - val apiFilesConstrainedTo = project.objects.listProperty() + val apiFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines which model-related files should be generated. This allows you to create a subset of generated files (or none at all). @@ -307,7 +305,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * in others being disabled. That is, OpenAPI Generator considers any one of these to define a subset of generation. * For more control over generation of individual files, configure an ignore file and refer to it via [ignoreFileOverride]. */ - val modelFilesConstrainedTo = project.objects.listProperty() + val modelFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines which supporting files should be generated. This allows you to create a subset of generated files (or none at all). @@ -319,7 +317,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * in others being disabled. That is, OpenAPI Generator considers any one of these to define a subset of generation. * For more control over generation of individual files, configure an ignore file and refer to it via [ignoreFileOverride]. */ - val supportingFilesConstrainedTo = project.objects.listProperty() + val supportingFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines whether model-related _test_ files should be generated. @@ -329,7 +327,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * For more control over generation of individual files, configure an ignore file and * refer to it via [ignoreFileOverride]. */ - val generateModelTests = project.objects.property() + val generateModelTests = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether model-related _documentation_ files should be generated. @@ -339,7 +337,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * For more control over generation of individual files, configure an ignore file and * refer to it via [ignoreFileOverride]. */ - val generateModelDocumentation = project.objects.property() + val generateModelDocumentation = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether api-related _test_ files should be generated. @@ -349,7 +347,7 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * For more control over generation of individual files, configure an ignore file and * refer to it via [ignoreFileOverride]. */ - val generateApiTests = project.objects.property() + val generateApiTests = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether api-related _documentation_ files should be generated. @@ -359,12 +357,12 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * For more control over generation of individual files, configure an ignore file and * refer to it via [ignoreFileOverride]. */ - val generateApiDocumentation = project.objects.property() + val generateApiDocumentation = project.objects.property(Boolean::class.javaObjectType) /** * To write all log messages (not just errors) to STDOUT */ - val logToStderr = project.objects.property() + val logToStderr = project.objects.property(Boolean::class.javaObjectType) /** * To enable the file post-processing hook. This enables executing an external post-processor (usually a linter program). @@ -372,40 +370,40 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { * LANG_POST_PROCESS_FILE (e.g. GO_POST_PROCESS_FILE, SCALA_POST_PROCESS_FILE). Please open an issue if your target * generator does not support this functionality. */ - val enablePostProcessFile = project.objects.property() + val enablePostProcessFile = project.objects.property(Boolean::class.javaObjectType) /** * To skip spec validation. When true, we will skip the default behavior of validating a spec before generation. */ - val skipValidateSpec = project.objects.property() + val skipValidateSpec = project.objects.property(Boolean::class.javaObjectType) /** * To generate alias (array, list, map) as model. When false, top-level objects defined as array, list, or map will result in those * definitions generated as top-level Array-of-items, List-of-items, Map-of-items definitions. * When true, A model representation either containing or extending the array,list,map (depending on specific generator implementation) will be generated. */ - val generateAliasAsModel = project.objects.property() + val generateAliasAsModel = project.objects.property(Boolean::class.javaObjectType) /** * A map of options specific to a generator. */ - val configOptions = project.objects.mapProperty() + val configOptions = project.objects.mapProperty(String::class.java, String::class.java) /** * Templating engine: "mustache" (default) or "handlebars" (beta) */ - val engine = project.objects.property() + val engine = project.objects.property(String::class.java) /** * Defines whether the output dir should be cleaned up before generating the output. * */ - val cleanupOutput = project.objects.property() + val cleanupOutput = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether the generator should run in dry-run mode. */ - val dryRun = project.objects.property() + val dryRun = project.objects.property(Boolean::class.javaObjectType) init { applyDefaults() @@ -413,22 +411,22 @@ open class OpenApiGeneratorGenerateExtension(project: Project) { @Suppress("MemberVisibilityCanBePrivate") fun applyDefaults() { - releaseNote.set("Minor update") - inputSpecRootDirectorySkipMerge.set(false) - modelNamePrefix.set("") - modelNameSuffix.set("") - apiNameSuffix.set("") - generateModelTests.set(true) - generateModelDocumentation.set(true) - generateApiTests.set(true) - generateApiDocumentation.set(true) - configOptions.set(mapOf()) - validateSpec.set(true) - logToStderr.set(false) - enablePostProcessFile.set(false) - skipValidateSpec.set(false) - generateAliasAsModel.set(false) - cleanupOutput.set(false) - dryRun.set(false) + releaseNote.convention("Minor update") + inputSpecRootDirectorySkipMerge.convention(false) + modelNamePrefix.convention("") + modelNameSuffix.convention("") + apiNameSuffix.convention("") + generateModelTests.convention(true) + generateModelDocumentation.convention(true) + generateApiTests.convention(true) + generateApiDocumentation.convention(true) + configOptions.convention(mapOf()) + validateSpec.convention(true) + logToStderr.convention(false) + enablePostProcessFile.convention(false) + skipValidateSpec.convention(false) + generateAliasAsModel.convention(false) + cleanupOutput.convention(false) + dryRun.convention(false) } } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt index 8f91b1ea3420..a01c17c39256 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorGeneratorsExtension.kt @@ -17,7 +17,6 @@ package org.openapitools.generator.gradle.plugin.extensions import org.gradle.api.Project -import org.gradle.kotlin.dsl.listProperty import org.openapitools.codegen.meta.Stability /** @@ -29,7 +28,7 @@ open class OpenApiGeneratorGeneratorsExtension(project: Project) { /** * A list of stability indexes to include (value: all,beta,stable,experimental,deprecated). Excludes deprecated by default. */ - val include = project.objects.listProperty() + val include = project.objects.listProperty(String::class.java) init { applyDefaults() @@ -37,5 +36,5 @@ open class OpenApiGeneratorGeneratorsExtension(project: Project) { @Suppress("MemberVisibilityCanBePrivate") fun applyDefaults() = - include.set(Stability.values().map { it.value() }.filterNot { it == Stability.DEPRECATED.value() }) + include.convention(Stability.values().map { it.value() }.filterNot { it == Stability.DEPRECATED.value() }) } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorMetaExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorMetaExtension.kt index e78070ab120c..a98680906932 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorMetaExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorMetaExtension.kt @@ -17,7 +17,6 @@ package org.openapitools.generator.gradle.plugin.extensions import org.gradle.api.Project -import org.gradle.kotlin.dsl.property /** * Gradle project level extension object definition for the meta-generator task @@ -28,21 +27,21 @@ open class OpenApiGeneratorMetaExtension(project: Project) { /** * The human-readable generator name of the newly created template generator. */ - val generatorName = project.objects.property() + val generatorName = project.objects.property(String::class.java) /** * The packageName generatorName to put the main class into (defaults to org.openapitools.codegen) */ - val packageName = project.objects.property() + val packageName = project.objects.property(String::class.java) /** * Where to write the generated files (current dir by default). */ - val outputFolder = project.objects.property() + val outputFolder = project.objects.property(String::class.java) init { - generatorName.set("default") - packageName.set("org.openapitools.codegen") - outputFolder.set("") + generatorName.convention("default") + packageName.convention("org.openapitools.codegen") + outputFolder.convention("") } } \ No newline at end of file diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt index 3eaff1b78599..6ea3e74db47a 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/extensions/OpenApiGeneratorValidateExtension.kt @@ -17,7 +17,6 @@ package org.openapitools.generator.gradle.plugin.extensions import org.gradle.api.Project -import org.gradle.kotlin.dsl.property /** * Gradle project level extension object definition for the generators task @@ -28,15 +27,15 @@ open class OpenApiGeneratorValidateExtension(project: Project) { /** * The input specification to validate. Supports all formats supported by the Parser. */ - val inputSpec = project.objects.property() + val inputSpec = project.objects.property(String::class.java) /** * Whether to offer recommendations related to the validated specification document. */ - val recommend = project.objects.property().convention(true) + val recommend = project.objects.property(Boolean::class.javaObjectType).convention(true) /** * Whether to treat warnings as errors and fail the task. */ - val treatWarningsAsErrors = project.objects.property().convention(false) + val treatWarningsAsErrors = project.objects.property(Boolean::class.javaObjectType).convention(false) } \ No newline at end of file diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt index 61b66a1d409a..72cf310dcbb1 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GenerateTask.kt @@ -36,9 +36,6 @@ import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.options.Option import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutputFactory -import org.gradle.kotlin.dsl.listProperty -import org.gradle.kotlin.dsl.mapProperty -import org.gradle.kotlin.dsl.property import org.gradle.util.GradleVersion import org.openapitools.codegen.CodegenConstants import org.openapitools.codegen.DefaultGenerator @@ -63,21 +60,21 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val verbose = project.objects.property() + val verbose = project.objects.property(Boolean::class.javaObjectType) /** * Whether an input specification should be validated upon generation. */ @get:Optional @get:Input - val validateSpec = project.objects.property() + val validateSpec = project.objects.property(Boolean::class.javaObjectType) /** * The name of the generator which will handle codegen. (see "openApiGenerators" task) */ @get:Optional @get:Input - val generatorName = project.objects.property() + val generatorName = project.objects.property(String::class.java) /** * This is the configuration for reference paths where schemas for openapi generation are stored @@ -86,14 +83,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputDirectory @get:PathSensitive(PathSensitivity.ABSOLUTE) - val schemaLocation = project.objects.property() + val schemaLocation = project.objects.property(String::class.java) /** * The output target directory into which code will be generated. */ @get:Optional @get:OutputDirectory - val outputDir = project.objects.property() + val outputDir = project.objects.property(String::class.java) @Suppress("unused") @set:Option(option = "input", description = "The input specification.") @@ -113,7 +110,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputFile @get:PathSensitive(PathSensitivity.RELATIVE) - val inputSpec = project.objects.property() + val inputSpec = project.objects.property(String::class.java) /** * Local root folder with spec files. @@ -124,28 +121,28 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputDirectory @get:PathSensitive(PathSensitivity.RELATIVE) - val inputSpecRootDirectory = project.objects.property(); + val inputSpecRootDirectory = project.objects.property(String::class.java) /** * Skip bundling all spec files into a merged spec file, if true. */ @get:Input @get:Optional - val inputSpecRootDirectorySkipMerge = project.objects.property() + val inputSpecRootDirectorySkipMerge = project.objects.property(Boolean::class.javaObjectType) /** * Name of the file that will contain all merged specs */ @get:Input @get:Optional - val mergedFileName = project.objects.property(); + val mergedFileName = project.objects.property(String::class.java) /** * The remote Open API 2.0/3.x specification URL location. */ @get:Input @get:Optional - val remoteInputSpec = project.objects.property() + val remoteInputSpec = project.objects.property(String::class.java) /** * The template directory holding a custom template. @@ -153,14 +150,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputDirectory @get:PathSensitive(PathSensitivity.RELATIVE) - val templateDir = project.objects.property() + val templateDir = project.objects.property(String::class.java) /** * Resource path containing template files. */ @get:Optional @get:Input - val templateResourcePath = project.objects.property() + val templateResourcePath = project.objects.property(String::class.java) /** * Adds authorization headers when fetching the OpenAPI definitions remotely. @@ -168,14 +165,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val auth = project.objects.property() + val auth = project.objects.property(String::class.java) /** * Sets specified global properties. */ @get:Optional @get:Input - val globalProperties = project.objects.mapProperty() + val globalProperties = project.objects.mapProperty(String::class.java, String::class.java) /** * Path to json configuration file. @@ -185,70 +182,70 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputFile @get:PathSensitive(PathSensitivity.RELATIVE) - val configFile = project.objects.property() + val configFile = project.objects.property(String::class.java) /** * Specifies if the existing files should be overwritten during the generation. */ @get:Optional @get:Input - val skipOverwrite = project.objects.property() + val skipOverwrite = project.objects.property(Boolean::class.javaObjectType) /** * Package for generated classes (where supported) */ @get:Optional @get:Input - val packageName = project.objects.property() + val packageName = project.objects.property(String::class.java) /** * Package for generated api classes */ @get:Optional @get:Input - val apiPackage = project.objects.property() + val apiPackage = project.objects.property(String::class.java) /** * Package for generated models */ @get:Optional @get:Input - val modelPackage = project.objects.property() + val modelPackage = project.objects.property(String::class.java) /** * Prefix that will be prepended to all model names. Default is the empty string. */ @get:Optional @get:Input - val modelNamePrefix = project.objects.property() + val modelNamePrefix = project.objects.property(String::class.java) /** * Suffix that will be appended to all model names. Default is the empty string. */ @get:Optional @get:Input - val modelNameSuffix = project.objects.property() + val modelNameSuffix = project.objects.property(String::class.java) /** * Suffix that will be appended to all api names. Default is the empty string. */ @get:Optional @get:Input - val apiNameSuffix = project.objects.property() + val apiNameSuffix = project.objects.property(String::class.java) /** * Sets instantiation type mappings. */ @get:Optional @get:Input - val instantiationTypes = project.objects.mapProperty() + val instantiationTypes = project.objects.mapProperty(String::class.java, String::class.java) /** * Sets mappings between OpenAPI spec types and generated code types. */ @get:Optional @get:Input - val typeMappings = project.objects.mapProperty() + val typeMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Sets additional properties that can be referenced by the mustache templates in the format of name=value,name=value. @@ -256,7 +253,8 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val additionalProperties = project.objects.mapProperty() + @Suppress("UNCHECKED_CAST") + val additionalProperties = project.objects.mapProperty(String::class.java, Any::class.java) /** * Sets server variable for server URL template substitution, in the format of name=value,name=value. @@ -264,168 +262,168 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val serverVariables = project.objects.mapProperty() + val serverVariables = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies additional language specific primitive types in the format of type1,type2,type3,type3. For example: String,boolean,Boolean,Double. */ @get:Optional @get:Input - val languageSpecificPrimitives = project.objects.listProperty() + val languageSpecificPrimitives = project.objects.listProperty(String::class.java) /** * Specifies .openapi-generator-ignore list in the form of relative/path/to/file1,relative/path/to/file2. For example: README.md,pom.xml. */ @get:Optional @get:Input - val openapiGeneratorIgnoreList = project.objects.listProperty() + val openapiGeneratorIgnoreList = project.objects.listProperty(String::class.java) /** * Specifies mappings between a given class and the import that should be used for that class. */ @get:Optional @get:Input - val importMappings = project.objects.mapProperty() + val importMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between a given schema and the new one. */ @get:Optional @get:Input - val schemaMappings = project.objects.mapProperty() + val schemaMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the inline scheme name and the new name */ @get:Optional @get:Input - val inlineSchemaNameMappings = project.objects.mapProperty() + val inlineSchemaNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies options for inline schemas */ @get:Optional @get:Input - val inlineSchemaOptions = project.objects.mapProperty() + val inlineSchemaOptions = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the property name and the new name */ @get:Optional @get:Input - val nameMappings = project.objects.mapProperty() + val nameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the parameter name and the new name */ @get:Optional @get:Input - val parameterNameMappings = project.objects.mapProperty() + val parameterNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the model name and the new name */ @get:Optional @get:Input - val modelNameMappings = project.objects.mapProperty() + val modelNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the enum name and the new name */ @get:Optional @get:Input - val enumNameMappings = project.objects.mapProperty() + val enumNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings between the operation id name and the new name */ @get:Optional @get:Input - val operationIdNameMappings = project.objects.mapProperty() + val operationIdNameMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies mappings (rules) in OpenAPI normalizer */ @get:Optional @get:Input - val openapiNormalizer = project.objects.mapProperty() + val openapiNormalizer = project.objects.mapProperty(String::class.java, String::class.java) /** * Root package for generated code. */ @get:Optional @get:Input - val invokerPackage = project.objects.property() + val invokerPackage = project.objects.property(String::class.java) /** * GroupId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @get:Optional @get:Input - val groupId = project.objects.property() + val groupId = project.objects.property(String::class.java) /** * ArtifactId in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @get:Optional @get:Input - val id = project.objects.property() + val id = project.objects.property(String::class.java) /** * Artifact version in generated pom.xml/build.gradle.kts or other build script. Language-specific conversions occur in non-jvm generators. */ @get:Optional @get:Input - val version = project.objects.property() + val version = project.objects.property(String::class.java) /** * Reference the library template (sub-template) of a generator. */ @get:Optional @get:Input - val library = project.objects.property() + val library = project.objects.property(String::class.java) /** * Git host, e.g. gitlab.com. */ @get:Optional @get:Input - val gitHost = project.objects.property() + val gitHost = project.objects.property(String::class.java) /** * Git user ID, e.g. openapitools. */ @get:Optional @get:Input - val gitUserId = project.objects.property() + val gitUserId = project.objects.property(String::class.java) /** * Git repo ID, e.g. openapi-generator. */ @get:Optional @get:Input - val gitRepoId = project.objects.property() + val gitRepoId = project.objects.property(String::class.java) /** * Release note, default to 'Minor update'. */ @get:Optional @get:Input - val releaseNote = project.objects.property() + val releaseNote = project.objects.property(String::class.java) /** * HTTP user agent, e.g. codegen_csharp_api_client, default to 'OpenAPI-Generator/{packageVersion}/{language}' */ @get:Optional @get:Input - val httpUserAgent = project.objects.property() + val httpUserAgent = project.objects.property(String::class.java) /** * Specifies how a reserved name should be escaped to. */ @get:Optional @get:Input - val reservedWordsMappings = project.objects.mapProperty() + val reservedWordsMappings = project.objects.mapProperty(String::class.java, String::class.java) /** * Specifies an override location for the .openapi-generator-ignore file. Most useful on initial generation. @@ -433,21 +431,21 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac @get:Optional @get:InputFile @get:PathSensitive(PathSensitivity.RELATIVE) - val ignoreFileOverride = project.objects.property() + val ignoreFileOverride = project.objects.property(String::class.java) /** * Remove prefix of operationId, e.g. config_getId => getId */ @get:Optional @get:Input - val removeOperationIdPrefix = project.objects.property() + val removeOperationIdPrefix = project.objects.property(Boolean::class.javaObjectType) /** * Remove examples defined in the operation */ @get:Optional @get:Input - val skipOperationExample = project.objects.property() + val skipOperationExample = project.objects.property(Boolean::class.javaObjectType) /** * Defines which API-related files should be generated. This allows you to create a subset of generated files (or none at all). @@ -460,7 +458,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val apiFilesConstrainedTo = project.objects.listProperty() + val apiFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines which model-related files should be generated. This allows you to create a subset of generated files (or none at all). @@ -471,7 +469,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val modelFilesConstrainedTo = project.objects.listProperty() + val modelFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines which supporting files should be generated. This allows you to create a subset of generated files (or none at all). @@ -485,7 +483,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val supportingFilesConstrainedTo = project.objects.listProperty() + val supportingFilesConstrainedTo = project.objects.listProperty(String::class.java) /** * Defines whether model-related _test_ files should be generated. @@ -497,7 +495,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val generateModelTests = project.objects.property() + val generateModelTests = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether model-related _documentation_ files should be generated. @@ -509,7 +507,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val generateModelDocumentation = project.objects.property() + val generateModelDocumentation = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether api-related _test_ files should be generated. @@ -521,7 +519,7 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val generateApiTests = project.objects.property() + val generateApiTests = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether api-related _documentation_ files should be generated. @@ -533,14 +531,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val generateApiDocumentation = project.objects.property() + val generateApiDocumentation = project.objects.property(Boolean::class.javaObjectType) /** * To write all log messages (not just errors) to STDOUT */ @get:Optional @get:Input - val logToStderr = project.objects.property() + val logToStderr = project.objects.property(Boolean::class.javaObjectType) /** * To enable the file post-processing hook. This enables executing an external post-processor (usually a linter program). @@ -550,14 +548,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val enablePostProcessFile = project.objects.property() + val enablePostProcessFile = project.objects.property(Boolean::class.javaObjectType) /** * To skip spec validation. When true, we will skip the default behavior of validating a spec before generation. */ @get:Optional @get:Input - val skipValidateSpec = project.objects.property() + val skipValidateSpec = project.objects.property(Boolean::class.javaObjectType) /** * To generate alias (array, list, map) as model. When false, top-level objects defined as array, list, or map will result in those @@ -566,21 +564,21 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val generateAliasAsModel = project.objects.property() + val generateAliasAsModel = project.objects.property(Boolean::class.javaObjectType) /** * A dynamic map of options specific to a generator. */ @get:Optional @get:Input - val configOptions = project.objects.mapProperty() + val configOptions = project.objects.mapProperty(String::class.java, String::class.java) /** * Templating engine: "mustache" (default) or "handlebars" (beta) */ @get:Optional @get:Input - val engine = project.objects.property() + val engine = project.objects.property(String::class.java) /** * Defines whether the output dir should be cleaned up before generating the output. @@ -588,14 +586,14 @@ open class GenerateTask @Inject constructor(private val objectFactory: ObjectFac */ @get:Optional @get:Input - val cleanupOutput = project.objects.property() + val cleanupOutput = project.objects.property(Boolean::class.javaObjectType) /** * Defines whether the generator should run in dry-run mode. */ @get:Optional @get:Input - val dryRun = project.objects.property() + val dryRun = project.objects.property(Boolean::class.javaObjectType) private fun Property.ifNotEmpty(block: Property.(T) -> Unit) { if (isPresent) { @@ -999,6 +997,6 @@ internal open class FileSystemManagerLegacy @Inject constructor(private val proj internal open class FileSystemManagerDefault @Inject constructor(private val fs: FileSystemOperations) : FileSystemManager { override fun delete(outputDir: Property) { - fs.delete { delete(outputDir) } + fs.delete { it.delete(outputDir) } } } diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt index d83d00b5b637..433d0a2489d1 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/GeneratorsTask.kt @@ -21,7 +21,6 @@ import org.gradle.api.tasks.Internal import org.gradle.api.tasks.TaskAction import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutputFactory -import org.gradle.kotlin.dsl.listProperty import org.gradle.work.DisableCachingByDefault import org.openapitools.codegen.CodegenConfigLoader import org.openapitools.codegen.CodegenType @@ -43,7 +42,7 @@ open class GeneratorsTask : DefaultTask() { * A list of stability indexes to include (value: all,beta,stable,experimental,deprecated). Excludes deprecated by default. */ @get:Internal - val include = project.objects.listProperty() + val include = project.objects.listProperty(String::class.java) @TaskAction fun doWork() { diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt index 8449cd75edbc..06beacc5b217 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/MetaTask.kt @@ -25,7 +25,6 @@ import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.TaskAction import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutputFactory -import org.gradle.kotlin.dsl.property import org.openapitools.codegen.CodegenConfig import org.openapitools.codegen.CodegenConstants import org.openapitools.codegen.SupportingFile @@ -45,13 +44,13 @@ import java.nio.charset.Charset @CacheableTask open class MetaTask : DefaultTask() { @get:Input - val generatorName = project.objects.property() + val generatorName = project.objects.property(String::class.java) @get:Input - val packageName = project.objects.property() + val packageName = project.objects.property(String::class.java) @get:OutputDirectory - val outputFolder = project.objects.property() + val outputFolder = project.objects.property(String::class.java) @TaskAction fun doWork() { diff --git a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt index 4d2d13836541..30dd28f4318f 100644 --- a/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt +++ b/modules/openapi-generator-gradle-plugin/src/main/kotlin/org/openapitools/generator/gradle/plugin/tasks/ValidateTask.kt @@ -32,7 +32,6 @@ import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.options.Option import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutputFactory -import org.gradle.kotlin.dsl.property import org.openapitools.codegen.validations.oas.OpenApiEvaluator import org.openapitools.codegen.validations.oas.RuleConfiguration @@ -56,15 +55,15 @@ import org.openapitools.codegen.validations.oas.RuleConfiguration open class ValidateTask : DefaultTask() { @get:InputFile @get:PathSensitive(PathSensitivity.RELATIVE) - val inputSpec = project.objects.property() + val inputSpec = project.objects.property(String::class.java) @get:Optional @get:Input - val recommend = project.objects.property().convention(true) + val recommend = project.objects.property(Boolean::class.javaObjectType).convention(true) @get:Optional @get:Input - val treatWarningsAsErrors = project.objects.property().convention(false) + val treatWarningsAsErrors = project.objects.property(Boolean::class.javaObjectType).convention(false) @get:Internal @set:Option(option = "input", description = "The input specification.") diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskConfigurationCacheTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskConfigurationCacheTest.kt index b9ec75eb4293..7f5c8fea1cf8 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskConfigurationCacheTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskConfigurationCacheTest.kt @@ -20,7 +20,7 @@ class GenerateTaskConfigurationCacheTest : TestBase() { } @DataProvider(name = "gradle_version_provider") - private fun gradleVersionProviderWithConfigurationCache(): Array> = arrayOf(arrayOf("8.7"), arrayOf("7.6.4")) + private fun gradleVersionProviderWithConfigurationCache(): Array> = arrayOf(arrayOf("8.14.4"), arrayOf("8.5")) @DataProvider(name = "gradle_version_provider_without_cc") private fun gradleVersionProviderWithoutConfigurationCache(): Array> = arrayOf(arrayOf("5.6.1")) diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskFromCacheTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskFromCacheTest.kt index e66f6264578d..54ae76cb240f 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskFromCacheTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskFromCacheTest.kt @@ -22,7 +22,7 @@ class GenerateTaskFromCacheTest : TestBase() { } @DataProvider(name = "gradle_version_provider") - private fun gradleVersionProvider(): Array> = arrayOf(arrayOf("8.7"), arrayOf("7.6.4")) + private fun gradleVersionProvider(): Array> = arrayOf(arrayOf("8.14.4"), arrayOf("8.5")) // inputSpec tests diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskUpToDateTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskUpToDateTest.kt index f8932c6bcc45..730d5ba4b690 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskUpToDateTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/GenerateTaskUpToDateTest.kt @@ -9,7 +9,7 @@ import kotlin.test.assertEquals class GenerateTaskUpToDateTest : TestBase() { @DataProvider(name = "gradle_version_provider") - private fun gradleVersionProvider(): Array> = arrayOf(arrayOf("8.7"), arrayOf("7.6.4")) + private fun gradleVersionProvider(): Array> = arrayOf(arrayOf("8.14.4"), arrayOf("8.5")) // inputSpec tests diff --git a/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt b/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt index a7a5220d9975..ed4dd49b714d 100644 --- a/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt +++ b/modules/openapi-generator-gradle-plugin/src/test/kotlin/ValidateTaskDslTest.kt @@ -17,8 +17,7 @@ class ValidateTaskDslTest : TestBase() { @DataProvider(name = "gradle_version_provider") fun gradleVersionProvider(): Array> = arrayOf( arrayOf(null), // uses the version of Gradle used to build the plugin itself - arrayOf("8.7"), - arrayOf("7.6.4") + arrayOf("8.5") ) private fun getGradleRunner(gradleVersion: String?): GradleRunner {