diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/ConvertMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/ConvertMojo.java new file mode 100644 index 0000000000..a15b5a642b --- /dev/null +++ b/maven-plugin/src/main/java/io/codearte/accurest/maven/ConvertMojo.java @@ -0,0 +1,40 @@ +package io.codearte.accurest.maven; + +import static java.lang.String.format; + +import java.io.File; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; + +import io.codearte.accurest.config.AccurestConfigProperties; +import io.codearte.accurest.wiremock.DslToWireMockClientConverter; +import io.codearte.accurest.wiremock.RecursiveFilesConverter; + +@Mojo(name = "convert", requiresProject = false) +public class ConvertMojo extends AbstractMojo { + + @Parameter(property = "contractsDir", defaultValue = "${basedir}") + private File contractsDir; + + @Parameter(property = "mappingsDir", defaultValue = "${basedir}") + private File mappingsDir; + + public void execute() throws MojoExecutionException, MojoFailureException { + + AccurestConfigProperties config = new AccurestConfigProperties(); + config.setContractsDslDir(contractsDir); + config.setStubsOutputDir(mappingsDir); + + getLog().info("Converting from accurest contracts written in GroovyDSL to WireMock stubs mappings"); + getLog().info(format(" Accurest contracts directory: %s", config.getContractsDslDir().getAbsolutePath())); + getLog().info(format("WireMock stubs mappings directory: %s", config.getStubsOutputDir().getAbsolutePath())); + + RecursiveFilesConverter converter = new RecursiveFilesConverter(new DslToWireMockClientConverter(), config); + converter.processFiles(); + } + +} diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java index 2e5ed587c5..cb38afc60c 100644 --- a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java +++ b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateSpecsMojo.java @@ -20,10 +20,10 @@ import io.codearte.accurest.config.TestMode; @Mojo(name = "generateSpecs", defaultPhase = LifecyclePhase.GENERATE_TEST_SOURCES) public class GenerateSpecsMojo extends AbstractMojo { - @Parameter(defaultValue = "${basedir}", readonly = true) + @Parameter(defaultValue = "${basedir}", readonly = true, required = true) private File baseDir; - @Parameter(defaultValue = "${project.build.directory}", readonly = true) + @Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true) private File projectBuildDirectory; @Parameter(defaultValue = "/src/test/resources/contracts") diff --git a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateStubsMojo.java b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateStubsMojo.java index 603f23120f..8a91f976d5 100644 --- a/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateStubsMojo.java +++ b/maven-plugin/src/main/java/io/codearte/accurest/maven/GenerateStubsMojo.java @@ -18,10 +18,10 @@ import io.codearte.accurest.wiremock.RecursiveFilesConverter; @Mojo(name = "generateStubs", defaultPhase = LifecyclePhase.PROCESS_RESOURCES) public class GenerateStubsMojo extends AbstractMojo { - @Parameter(defaultValue = "${basedir}", readonly = true) + @Parameter(defaultValue = "${basedir}", readonly = true, required = true) private File baseDir; - @Parameter(defaultValue = "${project.build.directory}", readonly = true) + @Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true) private File projectBuildDirectory; @Parameter(defaultValue = "/src/test/resources/contracts")