diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Validate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Validate.java index a790464c781..2d95cbf5dc0 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Validate.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Validate.java @@ -22,6 +22,7 @@ import io.airlift.airline.Option; import io.swagger.parser.OpenAPIParser; import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.parser.core.models.ParseOptions; import io.swagger.v3.parser.core.models.SwaggerParseResult; import org.apache.commons.lang3.text.WordUtils; import org.openapitools.codegen.validation.ValidationResult; @@ -45,8 +46,9 @@ public class Validate implements Runnable { @Override public void run() { System.out.println("Validating spec (" + spec + ")"); - - SwaggerParseResult result = new OpenAPIParser().readLocation(spec, null, null); + ParseOptions options = new ParseOptions(); + options.setResolve(true); + SwaggerParseResult result = new OpenAPIParser().readLocation(spec, null, options); List messageList = result.getMessages(); Set errors = new HashSet<>(messageList); Set warnings = new HashSet<>(); 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 81e8d2ee984..c46c5f2cf55 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 @@ -19,12 +19,13 @@ package org.openapitools.generator.gradle.plugin.tasks import io.swagger.parser.OpenAPIParser +import io.swagger.v3.parser.core.models.ParseOptions import org.gradle.api.DefaultTask import org.gradle.api.GradleException +import org.gradle.api.logging.Logging 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 @@ -71,7 +72,11 @@ open class ValidateTask : DefaultTask() { val recommendations = recommend.get() logger.quiet("Validating spec $spec") - val result = OpenAPIParser().readLocation(spec, null, null) + + val options = ParseOptions() + options.isResolve = true + + val result = OpenAPIParser().readLocation(spec, null, options) val messages = result.messages.toSet() val out = services.get(StyledTextOutputFactory::class.java).create("openapi")