From b06b18a0da051a12272bf15cdcaf09fd0bd93ec3 Mon Sep 17 00:00:00 2001 From: Jochen Schalanda Date: Sun, 26 Feb 2023 11:32:05 +0100 Subject: [PATCH] Add Maven `skip` property to skip execution Closes #445 --- maven/pom.xml | 5 +++++ .../openapidiff/maven/OpenApiDiffMojo.java | 8 ++++++++ .../openapidiff/maven/OpenApiDiffMojoTest.java | 11 +++++++++++ pom.xml | 5 +++++ 4 files changed, 29 insertions(+) diff --git a/maven/pom.xml b/maven/pom.xml index d9ebcaa32..12b2b729d 100644 --- a/maven/pom.xml +++ b/maven/pom.xml @@ -43,6 +43,11 @@ junit-jupiter test + + org.slf4j + slf4j-simple + test + diff --git a/maven/src/main/java/org/openapitools/openapidiff/maven/OpenApiDiffMojo.java b/maven/src/main/java/org/openapitools/openapidiff/maven/OpenApiDiffMojo.java index 900410420..04d127889 100644 --- a/maven/src/main/java/org/openapitools/openapidiff/maven/OpenApiDiffMojo.java +++ b/maven/src/main/java/org/openapitools/openapidiff/maven/OpenApiDiffMojo.java @@ -25,8 +25,16 @@ public class OpenApiDiffMojo extends AbstractMojo { @Parameter(property = "failOnChanged", defaultValue = "false") Boolean failOnChanged = false; + @Parameter(property = "skip", defaultValue = "false") + Boolean skip = false; + @Override public void execute() throws MojoExecutionException, MojoFailureException { + if(Boolean.TRUE.equals(skip)) { + getLog().info("Skipping openapi-diff execution"); + return; + } + try { final ChangedOpenApi diff = OpenApiCompare.fromLocations(oldSpec, newSpec); getLog().info(new ConsoleRender().render(diff)); diff --git a/maven/src/test/java/org/openapitools/openapidiff/maven/OpenApiDiffMojoTest.java b/maven/src/test/java/org/openapitools/openapidiff/maven/OpenApiDiffMojoTest.java index 5ecc457e5..7deae4233 100644 --- a/maven/src/test/java/org/openapitools/openapidiff/maven/OpenApiDiffMojoTest.java +++ b/maven/src/test/java/org/openapitools/openapidiff/maven/OpenApiDiffMojoTest.java @@ -75,4 +75,15 @@ void Should_BackwardIncompatibilityException_When_WantsExceptionAndSpecIsIncompa assertThrows(BackwardIncompatibilityException.class, mojo::execute); } + + @Test + void Should_Skip_Mojo_WhenSkipIsTrue() { + final OpenApiDiffMojo mojo = new OpenApiDiffMojo(); + mojo.oldSpec = new File("src/test/resources/newspec.yaml").getAbsolutePath(); + mojo.newSpec = new File("src/test/resources/oldspec.yaml").getAbsolutePath(); + mojo.failOnIncompatible = true; + mojo.skip = true; + + assertDoesNotThrow(mojo::execute); + } } diff --git a/pom.xml b/pom.xml index d96c54b66..07d0e721f 100644 --- a/pom.xml +++ b/pom.xml @@ -146,6 +146,11 @@ jcl-over-slf4j ${slf4j.version} + + org.slf4j + slf4j-simple + ${slf4j.version} + ch.qos.logback logback-classic