diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy index 49d44c55a7..b7024eeb29 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy @@ -82,7 +82,7 @@ class ContractsCopyTask extends DefaultTask { @TaskAction void sync() { File contractsDirectory = config.contractsDirectory.get().asFile - String contractsRepository = config.contractsRepository + String contractsRepository = config.contractsRepository.get() throwExceptionWhenFailOnNoContracts(contractsDirectory, contractsRepository) String antPattern = "${config.includedRootFolderAntPattern.get()}*.*" String slashSeparatedGroupId = project.group.toString().replace(".", File.separator) diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/main/java/org/springframework/cloud/contract/maven/verifier/GenerateStubsMojo.java b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/main/java/org/springframework/cloud/contract/maven/verifier/GenerateStubsMojo.java index bf49bb87b1..bfb3e21c27 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/main/java/org/springframework/cloud/contract/maven/verifier/GenerateStubsMojo.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/main/java/org/springframework/cloud/contract/maven/verifier/GenerateStubsMojo.java @@ -47,6 +47,10 @@ public class GenerateStubsMojo extends AbstractMojo { required = true) private File projectBuildDirectory; + @Parameter(defaultValue = "${project.build.finalName}", readonly = true, + required = true) + private String projectFinalName; + @Parameter(property = "stubsDirectory", defaultValue = "${project.build.directory}/stubs") private File outputDirectory; @@ -112,9 +116,14 @@ public class GenerateStubsMojo extends AbstractMojo { stubsJarFile); } - private File createStubJar(File stubsOutputDir) throws MojoFailureException { - String stubArchiveName = this.project.getBuild().getFinalName() + "-" - + this.classifier + ".jar"; + private File createStubJar(File stubsOutputDir) + throws MojoFailureException, MojoExecutionException { + if (!stubsOutputDir.exists()) { + throw new MojoExecutionException("Stubs could not be found: [" + + stubsOutputDir.getAbsolutePath() + + "] .\nPlease make sure that spring-cloud-contract:convert was invoked"); + } + String stubArchiveName = this.projectFinalName + "-" + this.classifier + ".jar"; File stubsJarFile = new File(this.projectBuildDirectory, stubArchiveName); String[] excludes = excludes(); getLog().info("Files matching this pattern will be excluded from " diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/java/org/springframework/cloud/contract/maven/verifier/PluginUnitTest.java b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/java/org/springframework/cloud/contract/maven/verifier/PluginUnitTest.java index 270482dc86..846ecfcc0f 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/java/org/springframework/cloud/contract/maven/verifier/PluginUnitTest.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/java/org/springframework/cloud/contract/maven/verifier/PluginUnitTest.java @@ -148,7 +148,7 @@ public class PluginUnitTest { public void shouldGenerateStubs() throws Exception { File basedir = this.resources.getBasedir("generatedStubs"); this.maven.executeMojo(basedir, "generateStubs", defaultPackageForTests()); - assertFilesPresent(basedir, "target/sample-project-0.1-stubs.jar"); + assertFilesPresent(basedir, "target/sample-project-stubs.jar"); } @Test @@ -156,7 +156,7 @@ public class PluginUnitTest { File basedir = this.resources.getBasedir("generatedStubs"); this.maven.executeMojo(basedir, "generateStubs", defaultPackageForTests(), newParameter("attachContracts", "false")); - assertFilesPresent(basedir, "target/sample-project-0.1-stubs.jar"); + assertFilesPresent(basedir, "target/sample-project-stubs.jar"); // FIXME: add assertion for jar content } @@ -165,7 +165,7 @@ public class PluginUnitTest { File basedir = this.resources.getBasedir("generatedStubs"); this.maven.executeMojo(basedir, "generateStubs", defaultPackageForTests(), newParameter("classifier", "foo")); - assertFilesPresent(basedir, "target/sample-project-0.1-foo.jar"); + assertFilesPresent(basedir, "target/sample-project-foo.jar"); } @Test diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/pom.xml index 1b0b426f80..5ba04920fb 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/generatedStubs/pom.xml @@ -27,6 +27,7 @@ 0.1 + ${project.name} org.springframework.cloud diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/framework/TestFrameworkDefinition.java b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/framework/TestFrameworkDefinition.java index e8df817324..cd00e7786b 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/framework/TestFrameworkDefinition.java +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/framework/TestFrameworkDefinition.java @@ -19,12 +19,12 @@ package org.springframework.cloud.contract.verifier.config.framework; import java.util.List; /** - * @deprecated appropriate implementations of org.springframework.cloud.contract.verifier.builder.Visitor - * should be used instead. + * @deprecated appropriate implementations of + * org.springframework.cloud.contract.verifier.builder.Visitor should be used + * instead. * * Defines elements characteristic of a given test framework to be used during test class * construction. - * * @author Olga Maciaszek-Sharma * @since 2.1.0 */