From 19465fcc8f888ae3a812796134993be3e388e47e Mon Sep 17 00:00:00 2001 From: vmihaylov Date: Mon, 29 Jun 2026 22:52:11 +0300 Subject: [PATCH] Honor --skip-validate-spec=false instead of always disabling spec validation When --skip-validate-spec is provided, Generate unconditionally called setValidateSpec(false), ignoring the value, so --skip-validate-spec false behaved like true. Pass the actual flag value via setValidateSpec(!skipValidateSpec). Signed-off-by: vmihaylov --- .../openapitools/codegen/cmd/Generate.java | 2 +- .../codegen/cmd/GenerateTest.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java index 2907c43afa68..b141bfb3202c 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java @@ -381,7 +381,7 @@ public void execute() { // now override with any specified parameters if (skipValidateSpec != null) { - configurator.setValidateSpec(false); + configurator.setValidateSpec(!skipValidateSpec); } if (verbose != null) { diff --git a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java index af1e8342b805..b5be439f70ef 100644 --- a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java +++ b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/GenerateTest.java @@ -457,4 +457,32 @@ public void testQuietShort() { public void testNPEWithInvalidSpecFile() { setupAndRunTest("-i", "src/test/resources/npe-test.yaml", "-g", "java", "-o", "src/main/java", false, null); } + + @Test + public void testSkipValidateSpecTrue() { + setupAndRunGenericTest("--skip-validate-spec"); + verify(configurator).setValidateSpec(false); + } + + @Test + public void testSkipValidateSpecFalse() throws NoSuchFieldException, IllegalAccessException { + Cli.CliBuilder builder = + Cli.builder("openapi-generator-cli") + .withCommands(Generate.class); + Generate generate = (Generate) builder.build().parse( + new String[]{"generate", "-g", "java", "-o", "src/main/java", "-i", "src/test/resources/swagger.yaml"}); + java.lang.reflect.Field field = Generate.class.getDeclaredField("skipValidateSpec"); + field.setAccessible(true); + field.set(generate, false); + generate.configurator = configurator; + generate.generator = generator; + try { + generate.run(); + } finally { + verify(configurator).setInputSpec("src/test/resources/swagger.yaml"); + verify(configurator).setGeneratorName("java"); + verify(configurator).setOutputDir("src/main/java"); + } + verify(configurator).setValidateSpec(true); + } }