From c8cd255ad31a704615640c9ecea87950578210bf Mon Sep 17 00:00:00 2001 From: Jim Schubert Date: Sat, 1 Feb 2020 04:03:34 -0500 Subject: [PATCH] [gradle] Add recommendations to validate task (#5183) * [gradle] Add recommendations to validate task * Use current version of Gradle Plugin in build checks. * Fix gradle project build version confusion in CI * [gradle] Bump samples to 5.2.1 wrapper Previously, the Gradle plugin was building in CI against openapi-generator 4.2.0 and Gradle version 4.10.2. At some point, a contribution was made with an API which is incomatible at 4.10.2 and due to a release script error which pinned the local-spec version to release 4.2.0, we didn't notice this inconsistency. This bumps the project to build against Gradle 5.2.1. --- .../README.adoc | 6 +++ .../gradle/wrapper/gradle-wrapper.properties | 5 +- .../openapi-generator-gradle-plugin/pom.xml | 1 + .../samples/local-spec/build.gradle | 1 + .../gradle/wrapper/gradle-wrapper.jar | Bin 56177 -> 58702 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../samples/local-spec/gradlew | 51 +++++++++++------- .../samples/local-spec/gradlew.bat | 18 ++++++- .../gradle/plugin/OpenApiGeneratorPlugin.kt | 1 + .../OpenApiGeneratorValidateExtension.kt | 14 +++++ .../gradle/plugin/tasks/ValidateTask.kt | 40 +++++++++++++- 11 files changed, 114 insertions(+), 25 deletions(-) diff --git a/modules/openapi-generator-gradle-plugin/README.adoc b/modules/openapi-generator-gradle-plugin/README.adoc index f386781447a..f7f22550b4f 100644 --- a/modules/openapi-generator-gradle-plugin/README.adoc +++ b/modules/openapi-generator-gradle-plugin/README.adoc @@ -377,6 +377,11 @@ openApiGenerate { |None |The input specification to validate. Supports all formats supported by the Parser. +|recommend +|Boolean +|true +|Whether or not to offer recommendations related to the validated specification document. + |=== === openApiMeta @@ -521,6 +526,7 @@ BUILD SUCCESSFUL in 0s ---- openApiValidate { inputSpec = "/src/openapi-generator/modules/openapi-generator/src/test/resources/3_0/petstore.yaml" + recommend = true } ---- 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 44e7c4d1d7b..5b9bdfe705b 100644 --- a/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/modules/openapi-generator-gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Thu Jan 30 22:14:34 EST 2020 +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME diff --git a/modules/openapi-generator-gradle-plugin/pom.xml b/modules/openapi-generator-gradle-plugin/pom.xml index 6346e2c05d2..213341d8f11 100644 --- a/modules/openapi-generator-gradle-plugin/pom.xml +++ b/modules/openapi-generator-gradle-plugin/pom.xml @@ -96,6 +96,7 @@ clean assemble publishToMavenLocal + publishPluginMavenPublicationToMavenLocal diff --git a/modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle b/modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle index c8c7e25dc0b..22a21f46c6f 100644 --- a/modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle +++ b/modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle @@ -28,6 +28,7 @@ openApiMeta { openApiValidate { inputSpec = "$rootDir/petstore-v3.0-invalid.yaml".toString() + recommend = true } // Builds a Kotlin client by default. 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 29953ea141f55e3b8fc691d31b5ca8816d89fa87..cc4fdc293d0e50b0ad9b65c16e7ddd1db2f6025b 100644 GIT binary patch delta 50261 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 XWuQR%2nNOp`a1%>wB&z#7hwMfM*(Jl delta 47985 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 { description = "Validates an Open API 2.0 or 3.x specification document." inputSpec.set(validate.inputSpec) + recommend.set(validate.recommend) } create("openApiGenerate", GenerateTask::class.java) { 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 cbf525bd7cb..72b9fb6bf2a 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 @@ -29,4 +29,18 @@ open class OpenApiGeneratorValidateExtension(project: Project) { * The input specification to validate. Supports all formats supported by the Parser. */ val inputSpec = project.objects.property() + + /** + * Whether or not to offer recommendations related to the validated specification document. + */ + val recommend = project.objects.property() + + init { + applyDefaults() + } + + @Suppress("MemberVisibilityCanBePrivate") + fun applyDefaults(){ + recommend.set(true) + } } \ No newline at end of file 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 6e5283163ba..81e8d2ee984 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 @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UnstableApiUsage") + package org.openapitools.generator.gradle.plugin.tasks import io.swagger.parser.OpenAPIParser @@ -22,9 +24,12 @@ import org.gradle.api.GradleException import org.gradle.api.tasks.Internal import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.options.Option +import org.gradle.api.logging.Logging 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 /** * A generator which validates an Open API spec. This task outputs a list of validation issues and errors. @@ -46,6 +51,9 @@ open class ValidateTask : DefaultTask() { @get:Internal var inputSpec = project.objects.property() + @get:Internal + var recommend = project.objects.property() + @Suppress("unused") @get:Internal @set:Option(option = "input", description = "The input specification.") @@ -57,13 +65,35 @@ open class ValidateTask : DefaultTask() { @Suppress("unused") @TaskAction fun doWork() { + val logger = Logging.getLogger(javaClass) + val spec = inputSpec.get() + val recommendations = recommend.get() + logger.quiet("Validating spec $spec") val result = OpenAPIParser().readLocation(spec, null, null) val messages = result.messages.toSet() val out = services.get(StyledTextOutputFactory::class.java).create("openapi") - if (messages.isNotEmpty()) { + + val ruleConfiguration = RuleConfiguration() + ruleConfiguration.isEnableRecommendations = recommendations + + val evaluator = OpenApiEvaluator(ruleConfiguration) + val validationResult = evaluator.validate(result.openAPI) + + if (validationResult.warnings.isNotEmpty()) { + out.withStyle(StyledTextOutput.Style.Info) + out.println("\nSpec has issues or recommendations.\nIssues:\n") + + validationResult.warnings.forEach { + out.withStyle(StyledTextOutput.Style.Info) + out.println("\t${it.message}\n") + logger.debug("WARNING: ${it.message}|${it.details}") + } + } + + if (messages.isNotEmpty() || validationResult.errors.isNotEmpty()) { out.withStyle(StyledTextOutput.Style.Error) out.println("\nSpec is invalid.\nIssues:\n") @@ -71,11 +101,19 @@ open class ValidateTask : DefaultTask() { messages.forEach { out.withStyle(StyledTextOutput.Style.Error) out.println("\t$it\n") + logger.debug("ERROR: $it") + } + + validationResult.errors.forEach { + out.withStyle(StyledTextOutput.Style.Error) + out.println("\t${it.message}\n") + logger.debug("ERROR: ${it.message}|${it.details}") } throw GradleException("Validation failed.") } else { out.withStyle(StyledTextOutput.Style.Success) + logger.debug("No error validations from swagger-parser or internal validations.") out.println("Spec is valid.") } }