diff --git a/docker/pom.xml b/docker/pom.xml index 453fed158f..9a8ab3ec86 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-docker-parent pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Docker Parent Spring Cloud Contract Docker Parent diff --git a/docker/spring-cloud-contract-docker/pom.xml b/docker/spring-cloud-contract-docker/pom.xml index adc651cfff..ae0a379229 100644 --- a/docker/spring-cloud-contract-docker/pom.xml +++ b/docker/spring-cloud-contract-docker/pom.xml @@ -12,13 +12,13 @@ org.springframework.cloud spring-cloud-contract-docker-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-docker pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Docker Spring Cloud Contract Docker diff --git a/docker/spring-cloud-contract-docker/project/gradle.properties b/docker/spring-cloud-contract-docker/project/gradle.properties index b4daea5a85..7cf336fc2a 100644 --- a/docker/spring-cloud-contract-docker/project/gradle.properties +++ b/docker/spring-cloud-contract-docker/project/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false -verifierVersion=3.0.0-SNAPSHOT +verifierVersion=3.0.0-M4 springBootVersion=2.4.0-M3 camelVersion=3.4.3 \ No newline at end of file diff --git a/docker/spring-cloud-contract-stub-runner-docker/pom.xml b/docker/spring-cloud-contract-stub-runner-docker/pom.xml index 88b8a6f04d..dbf0c6caed 100644 --- a/docker/spring-cloud-contract-stub-runner-docker/pom.xml +++ b/docker/spring-cloud-contract-stub-runner-docker/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-contract-docker-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-docker pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Stub Runner Docker Spring Cloud Contract Stub Runner Docker diff --git a/docs/pom.xml b/docs/pom.xml index 31d70a8a26..7a5f58bbdf 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-docs diff --git a/guides/gs-contract-rest/complete/contract-rest-client/pom.xml b/guides/gs-contract-rest/complete/contract-rest-client/pom.xml index 5d9a216e76..af8ae1f2c0 100644 --- a/guides/gs-contract-rest/complete/contract-rest-client/pom.xml +++ b/guides/gs-contract-rest/complete/contract-rest-client/pom.xml @@ -18,7 +18,7 @@ UTF-8 1.8 - 2020.0.0-SNAPSHOT + 2020.0.0-M4 diff --git a/guides/gs-contract-rest/complete/contract-rest-service/pom.xml b/guides/gs-contract-rest/complete/contract-rest-service/pom.xml index 2de6381b9b..60e3b02d4e 100644 --- a/guides/gs-contract-rest/complete/contract-rest-service/pom.xml +++ b/guides/gs-contract-rest/complete/contract-rest-service/pom.xml @@ -18,8 +18,8 @@ UTF-8 1.8 - 2020.0.0-SNAPSHOT - 3.0.0-SNAPSHOT + 2020.0.0-M4 + 3.0.0-M4 diff --git a/guides/gs-contract-rest/initial/contract-rest-service/pom.xml b/guides/gs-contract-rest/initial/contract-rest-service/pom.xml index 4ac0a1db68..964ebd0455 100644 --- a/guides/gs-contract-rest/initial/contract-rest-service/pom.xml +++ b/guides/gs-contract-rest/initial/contract-rest-service/pom.xml @@ -18,8 +18,8 @@ UTF-8 1.8 - 2020.0.0-SNAPSHOT - 3.0.0-SNAPSHOT + 2020.0.0-M4 + 3.0.0-M4 diff --git a/guides/pom.xml b/guides/pom.xml index 14344f0bc1..9f1960550d 100644 --- a/guides/pom.xml +++ b/guides/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-guides diff --git a/pom.xml b/pom.xml index c675f2b1b6..0bfbe208bf 100644 --- a/pom.xml +++ b/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-build - 3.0.0-SNAPSHOT + 3.0.0-M4 spring-cloud-contract-parent pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Spring Cloud Contract @@ -28,12 +28,12 @@ 2.17 4.0.9 0.0.9 - 3.0.0-SNAPSHOT - 3.0.0-SNAPSHOT - 3.1.0-SNAPSHOT - 3.0.0-SNAPSHOT - 3.0.0-SNAPSHOT - 3.0.0-SNAPSHOT + 3.0.0-M4 + 3.0.0-M4 + 3.1.0-M3 + 3.0.0-M4 + 3.0.0-M4 + 3.0.0-M4 3.0.6.RELEASE 5.0.4 3.2.11 diff --git a/samples/pom.xml b/samples/pom.xml index e3cc124318..2c016844bf 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-samples pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Samples Spring Cloud Contract Samples diff --git a/samples/standalone/pom.xml b/samples/standalone/pom.xml index 428be5ad01..b22b13e11e 100644 --- a/samples/standalone/pom.xml +++ b/samples/standalone/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-contract-samples - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-samples-standalone pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Standalone Test Samples Spring Cloud Contract Standalone Test Samples used for end to end tests diff --git a/samples/wiremock-jetty/pom.xml b/samples/wiremock-jetty/pom.xml index f4553aa6f6..b59c4c883e 100644 --- a/samples/wiremock-jetty/pom.xml +++ b/samples/wiremock-jetty/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock-jetty - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock-jetty @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/samples/wiremock-native/pom.xml b/samples/wiremock-native/pom.xml index bfbc06fc17..5b8314a50f 100644 --- a/samples/wiremock-native/pom.xml +++ b/samples/wiremock-native/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock-native - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock-native @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/samples/wiremock-tomcat/pom.xml b/samples/wiremock-tomcat/pom.xml index f7ee734775..b97912de21 100644 --- a/samples/wiremock-tomcat/pom.xml +++ b/samples/wiremock-tomcat/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock-tomcat - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock-tomcat @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/samples/wiremock-undertow-ssl/pom.xml b/samples/wiremock-undertow-ssl/pom.xml index 5a2a6c77b3..60978409b1 100644 --- a/samples/wiremock-undertow-ssl/pom.xml +++ b/samples/wiremock-undertow-ssl/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock-undertow-ssl - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock-undertow-ssl @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/samples/wiremock-undertow/pom.xml b/samples/wiremock-undertow/pom.xml index 09d1715d5c..0c70896273 100644 --- a/samples/wiremock-undertow/pom.xml +++ b/samples/wiremock-undertow/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock-undertow - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock-undertow @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/samples/wiremock/pom.xml b/samples/wiremock/pom.xml index 4ef3caf59c..c666ff9c8e 100644 --- a/samples/wiremock/pom.xml +++ b/samples/wiremock/pom.xml @@ -5,7 +5,7 @@ 4.0.0 wiremock - 3.0.0-SNAPSHOT + 3.0.0-M4 jar wiremock @@ -21,7 +21,7 @@ UTF-8 1.8 - 3.0.0-SNAPSHOT + 3.0.0-M4 diff --git a/specs/pom.xml b/specs/pom.xml index 5a79b0e2b4..a78ef8a51e 100644 --- a/specs/pom.xml +++ b/specs/pom.xml @@ -7,13 +7,13 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-specs pom - 3.0.0-SNAPSHOT + 3.0.0-M4 Spring Cloud Contract Specs Spring Cloud Contract Specs diff --git a/specs/spring-cloud-contract-spec-groovy/pom.xml b/specs/spring-cloud-contract-spec-groovy/pom.xml index a6c1a9b714..2fd1133387 100644 --- a/specs/spring-cloud-contract-spec-groovy/pom.xml +++ b/specs/spring-cloud-contract-spec-groovy/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 ../.. spring-cloud-contract-spec-groovy diff --git a/specs/spring-cloud-contract-spec-java/pom.xml b/specs/spring-cloud-contract-spec-java/pom.xml index 93bba0a304..1a6f6312b0 100644 --- a/specs/spring-cloud-contract-spec-java/pom.xml +++ b/specs/spring-cloud-contract-spec-java/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 ../.. spring-cloud-contract-spec-java diff --git a/specs/spring-cloud-contract-spec-kotlin/pom.xml b/specs/spring-cloud-contract-spec-kotlin/pom.xml index 3e21b5532c..495f9d9595 100644 --- a/specs/spring-cloud-contract-spec-kotlin/pom.xml +++ b/specs/spring-cloud-contract-spec-kotlin/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 ../.. spring-cloud-contract-spec-kotlin diff --git a/specs/spring-cloud-contract-spec/pom.xml b/specs/spring-cloud-contract-spec/pom.xml index d32cce14b3..5359156cc5 100644 --- a/specs/spring-cloud-contract-spec/pom.xml +++ b/specs/spring-cloud-contract-spec/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 ../.. spring-cloud-contract-spec diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml index 9c2258843d..8a9099721c 100644 --- a/spring-cloud-contract-dependencies/pom.xml +++ b/spring-cloud-contract-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 3.0.0-SNAPSHOT + 3.0.0-M4 spring-cloud-contract-dependencies - 3.0.0-SNAPSHOT + 3.0.0-M4 pom spring-cloud-contract-dependencies Spring Cloud Contract Dependencies diff --git a/spring-cloud-contract-shade/pom.xml b/spring-cloud-contract-shade/pom.xml index 65741ee4da..385b143a59 100644 --- a/spring-cloud-contract-shade/pom.xml +++ b/spring-cloud-contract-shade/pom.xml @@ -17,7 +17,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-shade diff --git a/spring-cloud-contract-starters/pom.xml b/spring-cloud-contract-starters/pom.xml index b0315d65ae..640c936aaf 100644 --- a/spring-cloud-contract-starters/pom.xml +++ b/spring-cloud-contract-starters/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner-jetty/pom.xml b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner-jetty/pom.xml index 8b17ad1795..e68c915652 100644 --- a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner-jetty/pom.xml +++ b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner-jetty/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-starters - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-starter-contract-stub-runner-jetty diff --git a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml index 1495207e44..5460297ebe 100644 --- a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml @@ -23,7 +23,7 @@ org.springframework.cloud spring-cloud-contract-starters - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-starter-contract-stub-runner diff --git a/spring-cloud-contract-starters/spring-cloud-starter-contract-verifier/pom.xml b/spring-cloud-contract-starters/spring-cloud-starter-contract-verifier/pom.xml index 24a1c5f25d..c99c32b20c 100644 --- a/spring-cloud-contract-starters/spring-cloud-starter-contract-verifier/pom.xml +++ b/spring-cloud-contract-starters/spring-cloud-starter-contract-verifier/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-starters - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-starter-contract-verifier diff --git a/spring-cloud-contract-stub-runner-boot/pom.xml b/spring-cloud-contract-stub-runner-boot/pom.xml index 43d695ff5a..9473cd8da2 100644 --- a/spring-cloud-contract-stub-runner-boot/pom.xml +++ b/spring-cloud-contract-stub-runner-boot/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-boot diff --git a/spring-cloud-contract-stub-runner/pom.xml b/spring-cloud-contract-stub-runner/pom.xml index 4a8e4f37ad..c3b4f65720 100644 --- a/spring-cloud-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-stub-runner/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner diff --git a/spring-cloud-contract-tools/pom.xml b/spring-cloud-contract-tools/pom.xml index 37327bcff3..e85df8c129 100644 --- a/spring-cloud-contract-tools/pom.xml +++ b/spring-cloud-contract-tools/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml index 4ec1167fde..cfe05576d0 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-converters/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tools - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-converters diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties index de879f4720..b432aa38e5 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties @@ -15,7 +15,7 @@ # nexusUsername= nexusPassword= -verifierVersion=3.0.0-SNAPSHOT +verifierVersion=3.0.0-M4 org.gradle.daemon=false aetherVersion=1.1.0 -springCloudBuildVersion=3.0.0-SNAPSHOT +springCloudBuildVersion=3.0.0-M4 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/pom.xml index 3754d86400..c423a60c25 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tools - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractVerifierExtension.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractVerifierExtension.java index e36fdd9bf5..491aad3357 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractVerifierExtension.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractVerifierExtension.java @@ -112,7 +112,8 @@ public class ContractVerifierExtension implements Serializable { private final DirectoryProperty generatedTestJavaSourcesDir; /** - * Groovy test source directory where tests generated from Contract DSL should be placed + * Groovy test source directory where tests generated from Contract DSL should be + * placed */ private final DirectoryProperty generatedTestGroovySourcesDir; @@ -122,8 +123,8 @@ public class ContractVerifierExtension implements Serializable { private final DirectoryProperty generatedTestResourcesDir; /** - * Dir where the generated stubs from Groovy DSL should be placed. - * You can then mention them in your packaging task to create jar with stubs + * Dir where the generated stubs from Groovy DSL should be placed. You can then + * mention them in your packaging task to create jar with stubs */ private final DirectoryProperty stubsOutputDir; @@ -162,10 +163,10 @@ public class ContractVerifierExtension implements Serializable { private final Dependency contractDependency; /** - * The path in the JAR with all the contracts where contracts for this particular service lay. - * If not provided will be resolved to {@code groupid/artifactid}. Example: - * If {@code groupid} is {@code com.example} and {@code artifactid} is {@code service} then the resolved path will be - * {@code /com/example/artifactid} + * The path in the JAR with all the contracts where contracts for this particular + * service lay. If not provided will be resolved to {@code groupid/artifactid}. + * Example: If {@code groupid} is {@code com.example} and {@code artifactid} is + * {@code service} then the resolved path will be {@code /com/example/artifactid} */ private final Property contractsPath; @@ -175,34 +176,36 @@ public class ContractVerifierExtension implements Serializable { private final Property contractsMode; /** - * A package that contains all the base clases for generated tests. If your contract resides in a location - * {@code src/test/resources/contracts/com/example/v1/} and you provide the {@code packageWithBaseClasses} - * value to {@code com.example.contracts.base} then we will search for a test source file that will - * have the package {@code com.example.contracts.base} and name {@code ExampleV1Base}. As you can see - * it will take the two last folders to and attach {@code Base} to its name. + * A package that contains all the base clases for generated tests. If your contract + * resides in a location {@code src/test/resources/contracts/com/example/v1/} and you + * provide the {@code packageWithBaseClasses} value to + * {@code com.example.contracts.base} then we will search for a test source file that + * will have the package {@code com.example.contracts.base} and name + * {@code ExampleV1Base}. As you can see it will take the two last folders to and + * attach {@code Base} to its name. */ private final Property packageWithBaseClasses; /** - * A way to override any base class mappings. The keys are regular expressions on the package name - * and the values FQN to a base class for that given expression. - * Example of a mapping - * [.*.com.example.v1..*] to [com.example.SomeBaseClass] - * When a contract's package matches the provided regular expression then extending class will be the one - * provided in the map - in this case {@code com.example.SomeBaseClass} + * A way to override any base class mappings. The keys are regular expressions on the + * package name and the values FQN to a base class for that given expression. Example + * of a mapping [.*.com.example.v1..*] to [com.example.SomeBaseClass] When a + * contract's package matches the provided regular expression then extending class + * will be the one provided in the map - in this case + * {@code com.example.SomeBaseClass} */ private final BaseClassMapping baseClassMappings; /** * If set to true then the {@code target} or {@code build} folders are getting - * excluded from any operations. This is used out of the box when working with - * common repo with contracts. + * excluded from any operations. This is used out of the box when working with common + * repo with contracts. */ private final Property excludeBuildFolders; /** - * If set to {@code false} will NOT delete stubs from a temporary - * folder after running tests + * If set to {@code false} will NOT delete stubs from a temporary folder after running + * tests */ private final Property deleteStubsAfterTest; @@ -212,20 +215,22 @@ public class ContractVerifierExtension implements Serializable { private final Property convertToYaml; /** - * Map of properties that can be passed to custom {@link org.springframework.cloud.contract.stubrunner.StubDownloaderBuilder} + * Map of properties that can be passed to custom + * {@link org.springframework.cloud.contract.stubrunner.StubDownloaderBuilder} */ private final MapProperty contractsProperties; /** * Is set to true will not provide the default publication task - * - * @deprecated - with 3.0.0, the user should include stubs with their own publication(s) + * @deprecated - with 3.0.0, the user should include stubs with their own + * publication(s) */ @Deprecated private final Property disableStubPublication; /** - * Source set where the contracts are stored. If not provided will assume {@code test}. + * Source set where the contracts are stored. If not provided will assume + * {@code test}. */ private final Property sourceSet; @@ -241,11 +246,15 @@ public class ContractVerifierExtension implements Serializable { this.ignoredFiles = objects.listProperty(String.class).convention(new ArrayList<>()); this.imports = objects.listProperty(String.class).convention(new ArrayList<>()); this.staticImports = objects.listProperty(String.class).convention(new ArrayList<>()); - this.contractsDslDir = objects.directoryProperty().convention(layout.getProjectDirectory().dir("src/test/resources/contracts")); + this.contractsDslDir = objects.directoryProperty() + .convention(layout.getProjectDirectory().dir("src/test/resources/contracts")); this.generatedTestSourcesDir = objects.directoryProperty(); - this.generatedTestJavaSourcesDir = objects.directoryProperty().convention(layout.getBuildDirectory().dir("generated-test-sources/contractTest/java")); - this.generatedTestGroovySourcesDir = objects.directoryProperty().convention(layout.getBuildDirectory().dir("generated-test-sources/contractTest/groovy")); - this.generatedTestResourcesDir = objects.directoryProperty().convention(layout.getBuildDirectory().dir("generated-test-resources/contractTest")); + this.generatedTestJavaSourcesDir = objects.directoryProperty() + .convention(layout.getBuildDirectory().dir("generated-test-sources/contractTest/java")); + this.generatedTestGroovySourcesDir = objects.directoryProperty() + .convention(layout.getBuildDirectory().dir("generated-test-sources/contractTest/groovy")); + this.generatedTestResourcesDir = objects.directoryProperty() + .convention(layout.getBuildDirectory().dir("generated-test-resources/contractTest")); this.stubsOutputDir = objects.directoryProperty().convention(layout.getBuildDirectory().dir("stubs")); this.stubsSuffix = objects.property(String.class).convention("stubs"); this.assertJsonSize = objects.property(Boolean.class).convention(false); @@ -255,7 +264,8 @@ public class ContractVerifierExtension implements Serializable { this.publishStubsToScm = objects.newInstance(PublishStubsToScm.class); this.contractDependency = objects.newInstance(Dependency.class); this.contractsPath = objects.property(String.class); - this.contractsMode = objects.property(StubRunnerProperties.StubsMode.class).convention(StubRunnerProperties.StubsMode.CLASSPATH); + this.contractsMode = objects.property(StubRunnerProperties.StubsMode.class) + .convention(StubRunnerProperties.StubsMode.CLASSPATH); this.packageWithBaseClasses = objects.property(String.class); this.baseClassMappings = objects.newInstance(BaseClassMapping.class); this.excludeBuildFolders = objects.property(Boolean.class).convention(false); @@ -559,10 +569,15 @@ public class ContractVerifierExtension implements Serializable { } public static class Dependency implements Serializable { + private final Property groupId; + private final Property artifactId; + private final Property version; + private final Property classifier; + private final Property stringNotation; @Inject @@ -616,17 +631,15 @@ public class ContractVerifierExtension implements Serializable { @Override public String toString() { - return "Dependency{" + - "groupId=" + groupId.getOrNull() + - ", artifactId=" + artifactId.getOrNull() + - ", classifier=" + classifier.getOrNull() + - ", version=" + version.getOrNull() + - ", stringNotation=" + stringNotation.getOrNull() + - '}'; + return "Dependency{" + "groupId=" + groupId.getOrNull() + ", artifactId=" + artifactId.getOrNull() + + ", classifier=" + classifier.getOrNull() + ", version=" + version.getOrNull() + + ", stringNotation=" + stringNotation.getOrNull() + '}'; } + } public static class BaseClassMapping implements Serializable { + private final MapProperty baseClassMappings; @Inject @@ -645,14 +658,21 @@ public class ContractVerifierExtension implements Serializable { public void baseClassMapping(Map mapping) { baseClassMappings.putAll(mapping); } + } - // This class is used as an input to the tasks, so all fields are marked as `@Input` to allow incremental build + // This class is used as an input to the tasks, so all fields are marked as `@Input` + // to allow incremental build public static class ContractRepository implements Serializable { + private final Property repositoryUrl; + private final Property username; + private final Property password; + private final Property proxyPort; + private final Property proxyHost; @Inject @@ -707,14 +727,11 @@ public class ContractVerifierExtension implements Serializable { @Override public String toString() { - return "ContractRepository{" + - "repositoryUrl=" + repositoryUrl.getOrNull() + - ", username=" + username.getOrNull() + - ", password=" + password.getOrNull() + - ", proxyPort=" + proxyPort.getOrNull() + - ", proxyHost=" + proxyHost.getOrNull() + - '}'; + return "ContractRepository{" + "repositoryUrl=" + repositoryUrl.getOrNull() + ", username=" + + username.getOrNull() + ", password=" + password.getOrNull() + ", proxyPort=" + + proxyPort.getOrNull() + ", proxyHost=" + proxyHost.getOrNull() + '}'; } + } public static class PublishStubsToScm implements Serializable { @@ -750,10 +767,10 @@ public class ContractVerifierExtension implements Serializable { @Override public String toString() { - return "PublishStubsToScm{" + - "contractDependency=" + contractDependency + - ", contractRepository=" + contractRepository + - '}'; + return "PublishStubsToScm{" + "contractDependency=" + contractDependency + ", contractRepository=" + + contractRepository + '}'; } + } + } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.java index eb0d530d94..e48ed3188d 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.java @@ -58,9 +58,8 @@ import org.springframework.util.StringUtils; // TODO: Convert to incremental task: https://docs.gradle.org/current/userguide/custom_tasks.html#incremental_tasks /** - * Task that copies the contracts in order for the jar task to - * generate the jar. It takes into consideration the inclusion - * patterns when working with repo with shared contracts. + * Task that copies the contracts in order for the jar task to generate the jar. It takes + * into consideration the inclusion patterns when working with repo with shared contracts. * * @author Marcin Grzejszczak * @author Anatoliy Balakirev @@ -96,8 +95,8 @@ class ContractsCopyTask extends DefaultTask { /** * @see ContractVerifierExtension#deleteStubsAfterTest * - * This property will delete the temporary dependency or Git repository from - * which stubs were copied to this task's output directory. + * This property will delete the temporary dependency or Git repository from which + * stubs were copied to this task's output directory. */ private final Property deleteStubsAfterTest; @@ -122,7 +121,8 @@ class ContractsCopyTask extends DefaultTask { copiedContractsFolder = objects.directoryProperty(); backupContractsFolder = objects.directoryProperty(); - this.getOutputs().upToDateWhen(task -> !(this.shouldDownloadContracts() && this.getContractDependency().toStubConfiguration().isVersionChanging())); + this.getOutputs().upToDateWhen(task -> !(this.shouldDownloadContracts() + && this.getContractDependency().toStubConfiguration().isVersionChanging())); // Lambdas break build caching support this.doFirst(new Action() { @Override @@ -133,19 +133,20 @@ class ContractsCopyTask extends DefaultTask { branch = StringUtils.hasText(branch) ? branch : "master"; UsernamePasswordCredentialsProvider provider = null; if (StringUtils.hasText(contractRepository.getUsername().get())) { - provider = new UsernamePasswordCredentialsProvider(contractRepository.getUsername().get(), contractRepository.getPassword().get()); + provider = new UsernamePasswordCredentialsProvider(contractRepository.getUsername().get(), + contractRepository.getPassword().get()); } try { - Collection refs = Git.lsRemoteRepository() - .setRemote(repositoryUrl) - .setCredentialsProvider(provider) - .call(); + Collection refs = Git.lsRemoteRepository().setRemote(repositoryUrl) + .setCredentialsProvider(provider).call(); for (Ref ref : refs) { - if (ref.getName().equals(branch) || ref.getName().equals("refs/heads/" + branch) || ref.getName().equals("refs/tags/" + branch)) { + if (ref.getName().equals(branch) || ref.getName().equals("refs/heads/" + branch) + || ref.getName().equals("refs/tags/" + branch)) { contractsProperties.put("git.commit", ref.getObjectId().name()); } } - } catch (GitAPIException e) { + } + catch (GitAPIException e) { ContractsCopyTask.this.getLogger().warn("Unable to determine git repository commit id"); } } @@ -167,27 +168,34 @@ class ContractsCopyTask extends DefaultTask { contractsDirectory = this.contractsDirectory.getAsFile().getOrNull(); antPattern = "**/"; } - getLogger().info("For project [{}] will use contracts provided in the folder [{}]", getProject().getName(), contractsDirectory); + getLogger().info("For project [{}] will use contracts provided in the folder [{}]", getProject().getName(), + contractsDirectory); final String contractsRepository = this.contractRepository.getRepositoryUrl().getOrElse(""); throwExceptionWhenFailOnNoContracts(contractsDirectory, contractsRepository); final String slashSeparatedGroupId = getProject().getGroup().toString().replace(".", File.separator); - final String dotSeparatedAntPattern = antPattern.replace(slashSeparatedGroupId, getProject().getGroup().toString()); + final String dotSeparatedAntPattern = antPattern.replace(slashSeparatedGroupId, + getProject().getGroup().toString()); File output = copiedContractsFolder.get().getAsFile(); - getLogger().info("Downloading and unpacking files from [{}] to [{}]. The inclusion ant patterns are [{}] and [{}]", contractsDirectory, output, antPattern, dotSeparatedAntPattern); + getLogger().info( + "Downloading and unpacking files from [{}] to [{}]. The inclusion ant patterns are [{}] and [{}]", + contractsDirectory, output, antPattern, dotSeparatedAntPattern); sync(contractsDirectory, antPattern, dotSeparatedAntPattern, excludeBuildFolders.get(), output); if (convertToYaml.get()) { - convertContractsToYaml(contractsDirectory, antPattern, dotSeparatedAntPattern, output, excludeBuildFolders.get()); + convertContractsToYaml(contractsDirectory, antPattern, dotSeparatedAntPattern, output, + excludeBuildFolders.get()); } } - private void convertContractsToYaml(File file, String antPattern, String slashSeparatedAntPattern, File outputContractsFolder, boolean excludeBuildFolders) { + private void convertContractsToYaml(File file, String antPattern, String slashSeparatedAntPattern, + File outputContractsFolder, boolean excludeBuildFolders) { sync(file, antPattern, slashSeparatedAntPattern, excludeBuildFolders, backupContractsFolder.get().getAsFile()); ToYamlConverter.replaceContractWithYaml(outputContractsFolder); getLogger().info("Replaced DSL files with their YAML representation at [{}]", outputContractsFolder); } - private void sync(File file, String antPattern, String dotSeparatedAntPattern, boolean excludeBuildFolders, File outputContractsFolder) { + private void sync(File file, String antPattern, String dotSeparatedAntPattern, boolean excludeBuildFolders, + File outputContractsFolder) { getProject().sync(spec -> { spec.from(file); // by default group id is slash separated... @@ -215,23 +223,26 @@ class ContractsCopyTask extends DefaultTask { final ContractDownloader contractDownloader = new ContractDownloader(downloader, configuration, contractsPath.getOrNull(), groupId, artifactId, getProject().getVersion().toString()); final File downloadedContracts = contractDownloader.unpackAndDownloadContracts(); - final ContractDownloader.InclusionProperties inclusionProperties = - contractDownloader.createNewInclusionProperties(downloadedContracts); + final ContractDownloader.InclusionProperties inclusionProperties = contractDownloader + .createNewInclusionProperties(downloadedContracts); - // TODO: inclusionProperties.includedContracts is never used eventually. Review this: + // TODO: inclusionProperties.includedContracts is never used eventually. Review + // this: return new DownloadedData(contractsSubDirIfPresent(downloadedContracts), inclusionProperties); } private void throwExceptionWhenFailOnNoContracts(@Nullable File file, String contractsRepository) { if (StringUtils.hasText(contractsRepository)) { if (getLogger().isDebugEnabled()) { - getLogger().debug("Contracts repository is set, will not throw an exception that the contracts are not found"); + getLogger().debug( + "Contracts repository is set, will not throw an exception that the contracts are not found"); } return; } if (failOnNoContracts.get() && (!file.exists() || file.listFiles().length == 0)) { String path = file.getAbsolutePath(); - throw new GradleException("Contracts could not be found: [" + path + "]\nPlease make sure that the contracts were defined, or set the [failOnNoContracts] flag to [false]"); + throw new GradleException("Contracts could not be found: [" + path + + "]\nPlease make sure that the contracts were defined, or set the [failOnNoContracts] flag to [false]"); } } @@ -247,13 +258,16 @@ class ContractsCopyTask extends DefaultTask { } private class DownloadedData { + final File downloadedContracts; + final ContractDownloader.InclusionProperties inclusionProperties; private DownloadedData(File downloadedContracts, ContractDownloader.InclusionProperties inclusionProperties) { this.downloadedContracts = downloadedContracts; this.inclusionProperties = inclusionProperties; } + } @Input @@ -278,12 +292,17 @@ class ContractsCopyTask extends DefaultTask { } static class Dependency { + private static final String LATEST_VERSION = "+"; private final Property groupId; + private final Property artifactId; + private final Property version; + private final Property classifier; + private final Property stringNotation; @Inject @@ -334,11 +353,11 @@ class ContractsCopyTask extends DefaultTask { String groupId = this.groupId.getOrNull(); String artifactId = this.artifactId.getOrNull(); - String version = StringUtils.hasText(this.version.getOrNull()) ? - this.version.getOrNull() : LATEST_VERSION; + String version = StringUtils.hasText(this.version.getOrNull()) ? this.version.getOrNull() : LATEST_VERSION; String classifier = this.classifier.getOrNull(); return new StubConfiguration(groupId, artifactId, version, classifier); } + } @Nested @@ -347,10 +366,15 @@ class ContractsCopyTask extends DefaultTask { } static class Repository { + private final Property repositoryUrl; + private final Property username; + private final Property password; + private final Property proxyHost; + private final Property proxyPort; @Inject @@ -391,6 +415,7 @@ class ContractsCopyTask extends DefaultTask { Property getProxyPort() { return proxyPort; } + } @Input @@ -432,24 +457,23 @@ class ContractsCopyTask extends DefaultTask { } private boolean shouldDownloadContracts() { - return StringUtils.hasText(contractDependency.getArtifactId().getOrNull()) || - StringUtils.hasText(contractDependency.getStringNotation().getOrNull()) || - StringUtils.hasText(contractRepository.getRepositoryUrl().getOrNull()); + return StringUtils.hasText(contractDependency.getArtifactId().getOrNull()) + || StringUtils.hasText(contractDependency.getStringNotation().getOrNull()) + || StringUtils.hasText(contractRepository.getRepositoryUrl().getOrNull()); } private StubRunnerOptions createStubRunnerOptions() { StubRunnerOptionsBuilder options = new StubRunnerOptionsBuilder() .withOptions(StubRunnerOptions.fromSystemProps()) - .withStubRepositoryRoot(contractRepository.repositoryUrl.getOrNull()) - .withStubsMode(contractsMode.get()) + .withStubRepositoryRoot(contractRepository.repositoryUrl.getOrNull()).withStubsMode(contractsMode.get()) .withUsername(contractRepository.username.getOrNull()) .withPassword(contractRepository.password.getOrNull()) - .withDeleteStubsAfterTest(deleteStubsAfterTest.get()) - .withProperties(contractsProperties.getOrNull()) + .withDeleteStubsAfterTest(deleteStubsAfterTest.get()).withProperties(contractsProperties.getOrNull()) .withFailOnNoStubs(failOnNoContracts.get()); if (contractRepository.proxyPort.isPresent()) { options = options.withProxy(contractRepository.proxyHost.getOrNull(), contractRepository.proxyPort.get()); } return options.build(); } + } \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.java index d3a8a631cf..b2884887d5 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.java @@ -75,8 +75,8 @@ class GenerateClientStubsFromDslTask extends DefaultTask { getLogger().info("Spring Cloud Contract Verifier Plugin: Invoking DSL to client stubs conversion"); getLogger().info("Contracts dir is [{}] output stubs dir is [{}]", contractsDslDir.get().getAsFile(), output); List excludedFiles = this.excludedFiles.get(); - RecursiveFilesConverter converter = new RecursiveFilesConverter(output, - contractsDslDir.get().getAsFile(), excludedFiles, ".*", excludeBuildFolders.get()); + RecursiveFilesConverter converter = new RecursiveFilesConverter(output, contractsDslDir.get().getAsFile(), + excludedFiles, ".*", excludeBuildFolders.get()); converter.processFiles(); } @@ -100,4 +100,5 @@ class GenerateClientStubsFromDslTask extends DefaultTask { public Property getStubsOutputDir() { return stubsOutputDir; } + } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.java index adc6cb44d6..be0bd1c406 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.java @@ -51,24 +51,41 @@ import java.util.List; */ @CacheableTask class GenerateServerTestsTask extends DefaultTask { + static final String TASK_NAME = "generateContractTests"; private final DirectoryProperty contractsDslDir; + private final Property nameSuffixForTests; + private final Property basePackageForTests; + private final Property baseClassForTests; + private final Property packageWithBaseClasses; + private final ListProperty excludedFiles; + private final ListProperty ignoredFiles; + private final ListProperty includedFiles; + private final ListProperty imports; + private final ListProperty staticImports; + private final Property testMode; + private final Property testFramework; + private final MapProperty baseClassMappings; + private final Property assertJsonSize; + private final Property failOnInProgress; + private final DirectoryProperty generatedTestSourcesDir; + private final DirectoryProperty generatedTestResourcesDir; @Inject @@ -104,7 +121,8 @@ class GenerateServerTestsTask extends DefaultTask { getLogger().info("Contracts are unpacked to [{}]", contractsDslDir); getLogger().info("Included contracts are [{}]", includedContracts); try { - TestGenerator generator = new TestGenerator(toConfigProperties(contractsDslDir, includedContracts, generatedTestSources, generatedTestResources)); + TestGenerator generator = new TestGenerator(toConfigProperties(contractsDslDir, includedContracts, + generatedTestSources, generatedTestResources)); int generatedClasses = generator.generate(); getLogger().info("Generated {} test classes", generatedClasses); } @@ -203,9 +221,8 @@ class GenerateServerTestsTask extends DefaultTask { return generatedTestResourcesDir; } - private ContractVerifierConfigProperties toConfigProperties(File contractsDslDir, - String includedContracts, File generatedTestSources, - File generatedTestResources) { + private ContractVerifierConfigProperties toConfigProperties(File contractsDslDir, String includedContracts, + File generatedTestSources, File generatedTestResources) { List excludedFiles = this.excludedFiles.get(); List ignoredFiles = this.ignoredFiles.get(); List includedFiles = this.includedFiles.get(); @@ -233,4 +250,5 @@ class GenerateServerTestsTask extends DefaultTask { properties.setFailOnInProgress(failOnInProgress.get()); return properties; } + } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.java index 8b7c32896f..698b9d8c21 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.java @@ -38,13 +38,13 @@ import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties import org.springframework.util.StringUtils; /** - * For SCM based repositories will copy the generated stubs - * to the cloned repo with contracts and stubs. Will also - * commit the changes and push them to origin. + * For SCM based repositories will copy the generated stubs to the cloned repo with + * contracts and stubs. Will also commit the changes and push them to origin. * - * NOTE: starting with 2.3.0.RELEASE the customize{} closure previously used for - * {@link PublishStubsToScmTask} customisation is no longer available. The settings should be applied directly - * within the publishStubsToScm closure as in the example above. + * NOTE: starting with 2.3.0.RELEASE the customize{} closure previously used + * for {@link PublishStubsToScmTask} customisation is no longer available. The settings + * should be applied directly within the publishStubsToScm closure as in the + * example above. * * @author Marcin Grzejszczak * @author Anatoliy Balakirev @@ -62,8 +62,8 @@ class PublishStubsToScmTask extends DefaultTask { /** * @see ContractVerifierExtension#deleteStubsAfterTest * - * This property will delete the Git repository where the input - * stubs to this task have been committed. + * This property will delete the Git repository where the input stubs to this task + * have been committed. */ private final Property deleteStubsAfterTest; @@ -85,7 +85,9 @@ class PublishStubsToScmTask extends DefaultTask { this.onlyIf(task -> { String contractRepoUrl = contractRepository.repositoryUrl.getOrElse(""); if (StringUtils.isEmpty(contractRepoUrl) || !ScmStubDownloaderBuilder.isProtocolAccepted(contractRepoUrl)) { - getLogger().warn("Skipping pushing stubs to scm since your contracts repository URL [{}] doesn't match any of the accepted protocols for SCM stub downloader", contractRepoUrl); + getLogger().warn( + "Skipping pushing stubs to scm since your contracts repository URL [{}] doesn't match any of the accepted protocols for SCM stub downloader", + contractRepoUrl); return false; } return true; @@ -94,10 +96,12 @@ class PublishStubsToScmTask extends DefaultTask { @TaskAction void publishStubsToScm() { - String projectName = getProject().getGroup().toString() + ":" + getProject().getName() + ":" + getProject().getVersion().toString(); + String projectName = getProject().getGroup().toString() + ":" + getProject().getName() + ":" + + getProject().getVersion().toString(); getLogger().info("Pushing Stubs to SCM for project [{}]", projectName); StubRunnerOptions stubRunnerOptions = createStubRunnerOptions(); - new ContractProjectUpdater(stubRunnerOptions).updateContractProject(projectName, stubsDir.get().getAsFile().toPath()); + new ContractProjectUpdater(stubRunnerOptions).updateContractProject(projectName, + stubsDir.get().getAsFile().toPath()); } @Nested @@ -106,10 +110,15 @@ class PublishStubsToScmTask extends DefaultTask { } static class Repository { + private final Property repositoryUrl; + private final Property username; + private final Property password; + private final Property proxyPort; + private final Property proxyHost; @Inject @@ -150,6 +159,7 @@ class PublishStubsToScmTask extends DefaultTask { Property getProxyHost() { return proxyHost; } + } @Input @@ -181,16 +191,15 @@ class PublishStubsToScmTask extends DefaultTask { private StubRunnerOptions createStubRunnerOptions() { StubRunnerOptionsBuilder options = new StubRunnerOptionsBuilder() .withOptions(StubRunnerOptions.fromSystemProps()) - .withStubRepositoryRoot(contractRepository.repositoryUrl.getOrNull()) - .withStubsMode(contractsMode.get()) + .withStubRepositoryRoot(contractRepository.repositoryUrl.getOrNull()).withStubsMode(contractsMode.get()) .withUsername(contractRepository.username.getOrNull()) .withPassword(contractRepository.password.getOrNull()) - .withDeleteStubsAfterTest(deleteStubsAfterTest.get()) - .withProperties(contractsProperties.getOrNull()) + .withDeleteStubsAfterTest(deleteStubsAfterTest.get()).withProperties(contractsProperties.getOrNull()) .withFailOnNoStubs(failOnNoContracts.get()); if (contractRepository.proxyPort.isPresent()) { options = options.withProxy(contractRepository.proxyHost.getOrNull(), contractRepository.proxyPort.get()); } return options.build(); } + } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.java b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.java index 06834bb74f..6f366d879b 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.java +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/java/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.java @@ -49,26 +49,32 @@ import org.springframework.cloud.contract.verifier.config.TestFramework; /** * Gradle plugin for Spring Cloud Contract Verifier that from the DSL contract can *
    - *
  • generate tests
  • - *
  • generate stubs
  • + *
  • generate tests
  • + *
  • generate stubs
  • *
* * @author Jakub Kubrynski, codearte.io * @author Marcin Grzejszczak * @author Anatoliy Balakirev * @author Shannon Pamperl - * * @since 1.0.0 */ public class SpringCloudContractVerifierGradlePlugin implements Plugin { private static final String GROUP_NAME = "Verification"; + private static final String EXTENSION_NAME = "contracts"; + private static final String CONTRACT_TEST_SOURCE_SET_NAME = "contractTest"; + private static final String CONTRACT_TEST_COMPILE_ONLY_CONFIGURATION_NAME = "contractTestCompileOnly"; + private static final String CONTRACT_TEST_IMPLEMENTATION_CONFIGURATION_NAME = "contractTestImplementation"; + private static final String CONTRACT_TEST_RUNTIME_ONLY_CONFIGURATION_NAME = "contractTestRuntimeOnly"; + private static final String VERIFIER_STUBS_JAR_TASK_NAME = "verifierStubsJar"; + private static final String CONTRACT_TEST_TASK_NAME = "contractTest"; private Project project; @@ -77,7 +83,8 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin public void apply(Project project) { this.project = project; project.getPlugins().apply(JavaPlugin.class); - ContractVerifierExtension extension = project.getExtensions().create(EXTENSION_NAME, ContractVerifierExtension.class); + ContractVerifierExtension extension = project.getExtensions().create(EXTENSION_NAME, + ContractVerifierExtension.class); JavaPluginConvention javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class); SourceSet contractTestSourceSet = configureSourceSets(extension, javaConvention); @@ -85,7 +92,8 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin registerContractTestTask(contractTestSourceSet); TaskProvider copyContracts = createAndConfigureCopyContractsTask(extension); - TaskProvider generateClientStubs = createAndConfigureGenerateClientStubs(extension, copyContracts); + TaskProvider generateClientStubs = createAndConfigureGenerateClientStubs( + extension, copyContracts); createAndConfigureStubsJarTasks(extension, generateClientStubs); createGenerateTestsTask(extension, contractTestSourceSet, copyContracts); @@ -96,10 +104,12 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin if (generatedTestSourcesDir.isPresent()) { if (extension.getTestFramework().get() == TestFramework.SPOCK) { project.getPlugins().withType(GroovyPlugin.class, groovyPlugin -> { - GroovySourceSet groovy = ((HasConvention) contractTestSourceSet).getConvention().getPlugin(GroovySourceSet.class); + GroovySourceSet groovy = ((HasConvention) contractTestSourceSet).getConvention() + .getPlugin(GroovySourceSet.class); groovy.getGroovy().srcDirs(generatedTestSourcesDir); }); - } else { + } + else { contractTestSourceSet.getJava().srcDirs(generatedTestSourcesDir); } } @@ -134,7 +144,8 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin Configuration testImplementation = configurations.getByName(JavaPlugin.TEST_IMPLEMENTATION_CONFIGURATION_NAME); Configuration testRuntimeOnly = configurations.getByName(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME); Configuration contractTestCompileOnly = configurations.getByName(CONTRACT_TEST_COMPILE_ONLY_CONFIGURATION_NAME); - Configuration contractTestImplementation = configurations.getByName(CONTRACT_TEST_IMPLEMENTATION_CONFIGURATION_NAME); + Configuration contractTestImplementation = configurations + .getByName(CONTRACT_TEST_IMPLEMENTATION_CONFIGURATION_NAME); Configuration contractTestRuntimeOnly = configurations.getByName(CONTRACT_TEST_RUNTIME_ONLY_CONFIGURATION_NAME); contractTestCompileOnly.extendsFrom(testCompileOnly); @@ -143,25 +154,29 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin } private void registerContractTestTask(SourceSet contractTestSourceSet) { - TaskProvider contractTestTask = project.getTasks().register(CONTRACT_TEST_TASK_NAME, Test.class, contractTest -> { - contractTest.setDescription("Runs the contract tests"); - contractTest.setGroup(GROUP_NAME); - contractTest.setTestClassesDirs(contractTestSourceSet.getOutput().getClassesDirs()); - contractTest.setClasspath(contractTestSourceSet.getRuntimeClasspath()); + TaskProvider contractTestTask = project.getTasks().register(CONTRACT_TEST_TASK_NAME, Test.class, + contractTest -> { + contractTest.setDescription("Runs the contract tests"); + contractTest.setGroup(GROUP_NAME); + contractTest.setTestClassesDirs(contractTestSourceSet.getOutput().getClassesDirs()); + contractTest.setClasspath(contractTestSourceSet.getRuntimeClasspath()); - contractTest.mustRunAfter(project.getTasks().named(JavaPlugin.TEST_TASK_NAME)); - }); + contractTest.mustRunAfter(project.getTasks().named(JavaPlugin.TEST_TASK_NAME)); + }); project.getTasks().named(JavaBasePlugin.CHECK_TASK_NAME, check -> check.dependsOn(contractTestTask)); } - private void createGenerateTestsTask(ContractVerifierExtension extension, SourceSet contractTestSourceSet, TaskProvider copyContracts) { - TaskProvider task = project.getTasks().register(GenerateServerTestsTask.TASK_NAME, GenerateServerTestsTask.class); + private void createGenerateTestsTask(ContractVerifierExtension extension, SourceSet contractTestSourceSet, + TaskProvider copyContracts) { + TaskProvider task = project.getTasks().register(GenerateServerTestsTask.TASK_NAME, + GenerateServerTestsTask.class); task.configure(generateServerTestsTask -> { generateServerTestsTask.setDescription("Generate server tests from the contracts"); generateServerTestsTask.setGroup(GROUP_NAME); - generateServerTestsTask.getContractsDslDir().convention(copyContracts.flatMap(ContractsCopyTask::getCopiedContractsFolder)); + generateServerTestsTask.getContractsDslDir() + .convention(copyContracts.flatMap(ContractsCopyTask::getCopiedContractsFolder)); generateServerTestsTask.getNameSuffixForTests().convention(extension.getNameSuffixForTests()); generateServerTestsTask.getBasePackageForTests().convention(extension.getBasePackageForTests()); generateServerTestsTask.getBaseClassForTests().convention(extension.getBaseClassForTests()); @@ -173,18 +188,21 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin generateServerTestsTask.getStaticImports().convention(extension.getStaticImports()); generateServerTestsTask.getTestMode().convention(extension.getTestMode()); generateServerTestsTask.getTestFramework().convention(extension.getTestFramework()); - generateServerTestsTask.getBaseClassMappings().convention(extension.getBaseClassMappings().getBaseClassMappings()); + generateServerTestsTask.getBaseClassMappings() + .convention(extension.getBaseClassMappings().getBaseClassMappings()); generateServerTestsTask.getAssertJsonSize().convention(extension.getAssertJsonSize()); generateServerTestsTask.getFailOnInProgress().convention(extension.getFailOnInProgress()); - generateServerTestsTask.getGeneratedTestSourcesDir().convention(extension.getTestFramework().flatMap(testFramework -> { - Property correctSourceSetDir; - if (testFramework == TestFramework.SPOCK) { - correctSourceSetDir = extension.getGeneratedTestGroovySourcesDir(); - } else { - correctSourceSetDir = extension.getGeneratedTestJavaSourcesDir(); - } - return extension.getGeneratedTestSourcesDir().orElse(correctSourceSetDir); - })); + generateServerTestsTask.getGeneratedTestSourcesDir() + .convention(extension.getTestFramework().flatMap(testFramework -> { + Property correctSourceSetDir; + if (testFramework == TestFramework.SPOCK) { + correctSourceSetDir = extension.getGeneratedTestGroovySourcesDir(); + } + else { + correctSourceSetDir = extension.getGeneratedTestJavaSourcesDir(); + } + return extension.getGeneratedTestSourcesDir().orElse(correctSourceSetDir); + })); generateServerTestsTask.getGeneratedTestResourcesDir().convention(extension.getGeneratedTestResourcesDir()); generateServerTestsTask.dependsOn(copyContracts); @@ -201,48 +219,60 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin private void createAndConfigurePublishStubsToScmTask(ContractVerifierExtension extension, TaskProvider generateClientStubs) { - TaskProvider task = project.getTasks().register(PublishStubsToScmTask.TASK_NAME, PublishStubsToScmTask.class); + TaskProvider task = project.getTasks().register(PublishStubsToScmTask.TASK_NAME, + PublishStubsToScmTask.class); task.configure(publishStubsToScmTask -> { - publishStubsToScmTask.setDescription("The generated stubs get committed to the SCM repo and pushed to origin"); + publishStubsToScmTask + .setDescription("The generated stubs get committed to the SCM repo and pushed to origin"); publishStubsToScmTask.setGroup(GROUP_NAME); - ContractVerifierExtension.ContractRepository stubs = extension.getPublishStubsToScm().getContractRepository(); + ContractVerifierExtension.ContractRepository stubs = extension.getPublishStubsToScm() + .getContractRepository(); ContractVerifierExtension.ContractRepository original = extension.getContractRepository(); - publishStubsToScmTask.getContractRepository().getRepositoryUrl().convention(stubs.getRepositoryUrl().orElse(original.getRepositoryUrl())); - publishStubsToScmTask.getContractRepository().getUsername().convention(stubs.getUsername().orElse(original.getUsername())); - publishStubsToScmTask.getContractRepository().getPassword().convention(stubs.getPassword().orElse(original.getPassword())); - publishStubsToScmTask.getContractRepository().getProxyHost().convention(stubs.getProxyHost().orElse(original.getProxyHost())); - publishStubsToScmTask.getContractRepository().getProxyPort().convention(stubs.getProxyPort().orElse(original.getProxyPort())); + publishStubsToScmTask.getContractRepository().getRepositoryUrl() + .convention(stubs.getRepositoryUrl().orElse(original.getRepositoryUrl())); + publishStubsToScmTask.getContractRepository().getUsername() + .convention(stubs.getUsername().orElse(original.getUsername())); + publishStubsToScmTask.getContractRepository().getPassword() + .convention(stubs.getPassword().orElse(original.getPassword())); + publishStubsToScmTask.getContractRepository().getProxyHost() + .convention(stubs.getProxyHost().orElse(original.getProxyHost())); + publishStubsToScmTask.getContractRepository().getProxyPort() + .convention(stubs.getProxyPort().orElse(original.getProxyPort())); publishStubsToScmTask.getContractsMode().convention(extension.getContractsMode()); publishStubsToScmTask.getDeleteStubsAfterTest().convention(extension.getDeleteStubsAfterTest()); publishStubsToScmTask.getFailOnNoContracts().convention(extension.getFailOnNoContracts()); publishStubsToScmTask.getContractsProperties().convention(extension.getContractsProperties()); - publishStubsToScmTask.getStubsDir().convention(generateClientStubs.flatMap(GenerateClientStubsFromDslTask::getStubsOutputDir)); + publishStubsToScmTask.getStubsDir() + .convention(generateClientStubs.flatMap(GenerateClientStubsFromDslTask::getStubsOutputDir)); publishStubsToScmTask.dependsOn(generateClientStubs); }); } - private TaskProvider createAndConfigureGenerateClientStubs(ContractVerifierExtension extension, - TaskProvider copyContracts) { - TaskProvider task = project.getTasks().register(GenerateClientStubsFromDslTask.TASK_NAME, GenerateClientStubsFromDslTask.class, generateClientStubs -> { - generateClientStubs.setGroup(GROUP_NAME); - generateClientStubs.setDescription("Generate client stubs from the contracts"); + private TaskProvider createAndConfigureGenerateClientStubs( + ContractVerifierExtension extension, TaskProvider copyContracts) { + TaskProvider task = project.getTasks().register( + GenerateClientStubsFromDslTask.TASK_NAME, GenerateClientStubsFromDslTask.class, generateClientStubs -> { + generateClientStubs.setGroup(GROUP_NAME); + generateClientStubs.setDescription("Generate client stubs from the contracts"); - generateClientStubs.getContractsDslDir().convention(copyContracts.flatMap(ContractsCopyTask::getCopiedContractsFolder)); - generateClientStubs.getExcludedFiles().convention(extension.getExcludedFiles()); - generateClientStubs.getExcludeBuildFolders().convention(extension.getExcludeBuildFolders()); + generateClientStubs.getContractsDslDir() + .convention(copyContracts.flatMap(ContractsCopyTask::getCopiedContractsFolder)); + generateClientStubs.getExcludedFiles().convention(extension.getExcludedFiles()); + generateClientStubs.getExcludeBuildFolders().convention(extension.getExcludeBuildFolders()); - generateClientStubs.getStubsOutputDir().convention(extension.getStubsOutputDir().dir(buildRootPath(GenerateClientStubsFromDslTask.DEFAULT_MAPPINGS_FOLDER))); + generateClientStubs.getStubsOutputDir().convention(extension.getStubsOutputDir() + .dir(buildRootPath(GenerateClientStubsFromDslTask.DEFAULT_MAPPINGS_FOLDER))); - generateClientStubs.dependsOn(copyContracts); - }); + generateClientStubs.dependsOn(copyContracts); + }); return task; } private void createAndConfigureStubsJarTasks(ContractVerifierExtension extension, - TaskProvider generateClientStubs) { + TaskProvider generateClientStubs) { TaskProvider verifierStubsJar = project.getTasks().register(VERIFIER_STUBS_JAR_TASK_NAME, Jar.class); verifierStubsJar.configure(stubsJar -> { stubsJar.setDescription("Creates the stubs JAR task"); @@ -258,12 +288,14 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin } @Deprecated - private void createAndConfigureMavenPublishPlugin(TaskProvider stubsTask, ContractVerifierExtension extension) { + private void createAndConfigureMavenPublishPlugin(TaskProvider stubsTask, + ContractVerifierExtension extension) { if (!classIsOnClasspath("org.gradle.api.publish.maven.plugins.MavenPublishPlugin")) { project.getLogger().debug("Maven Publish Plugin is not present - won't add default publication"); return; } - // This must be called within afterEvaluate due to getting data from extension, which must be initialised first: + // This must be called within afterEvaluate due to getting data from extension, + // which must be initialised first: project.afterEvaluate(inner -> { project.getLogger().debug("Spring Cloud Contract Verifier Plugin: Generating default publication"); if (extension.getDisableStubPublication().get()) { @@ -273,10 +305,12 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin project.getPlugins().withType(MavenPublishPlugin.class, publishingPlugin -> { PublishingExtension publishingExtension = project.getExtensions().findByType(PublishingExtension.class); if (hasStubsPublication(publishingExtension)) { - project.getLogger().info("Spring Cloud Contract Verifier Plugin: Stubs publication was present - won't create a new one. Remember about passing stubs as artifact"); + project.getLogger().info( + "Spring Cloud Contract Verifier Plugin: Stubs publication was present - won't create a new one. Remember about passing stubs as artifact"); } else { - project.getLogger().debug("Spring Cloud Contract Verifier Plugin: Stubs publication is not present - will create one"); + project.getLogger().debug( + "Spring Cloud Contract Verifier Plugin: Stubs publication is not present - will create one"); setPublications(publishingExtension, stubsTask); } }); @@ -314,32 +348,45 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin } private TaskProvider createAndConfigureCopyContractsTask(ContractVerifierExtension extension) { - TaskProvider task = project.getTasks().register(ContractsCopyTask.TASK_NAME, ContractsCopyTask.class, contractsCopyTask -> { - contractsCopyTask.setGroup(GROUP_NAME); - contractsCopyTask.setDescription("Copies contracts to the output folder"); + TaskProvider task = project.getTasks().register(ContractsCopyTask.TASK_NAME, + ContractsCopyTask.class, contractsCopyTask -> { + contractsCopyTask.setGroup(GROUP_NAME); + contractsCopyTask.setDescription("Copies contracts to the output folder"); - contractsCopyTask.getConvertToYaml().convention(extension.getConvertToYaml()); - contractsCopyTask.getFailOnNoContracts().convention(extension.getFailOnNoContracts()); - contractsCopyTask.getContractsDirectory().convention(extension.getContractsDslDir()); - contractsCopyTask.getContractDependency().getGroupId().convention(extension.getContractDependency().getGroupId()); - contractsCopyTask.getContractDependency().getArtifactId().convention(extension.getContractDependency().getArtifactId()); - contractsCopyTask.getContractDependency().getVersion().convention(extension.getContractDependency().getVersion()); - contractsCopyTask.getContractDependency().getClassifier().convention(extension.getContractDependency().getClassifier()); - contractsCopyTask.getContractDependency().getStringNotation().convention(extension.getContractDependency().getStringNotation()); - contractsCopyTask.getContractRepository().getRepositoryUrl().convention(extension.getContractRepository().getRepositoryUrl()); - contractsCopyTask.getContractRepository().getUsername().convention(extension.getContractRepository().getUsername()); - contractsCopyTask.getContractRepository().getPassword().convention(extension.getContractRepository().getPassword()); - contractsCopyTask.getContractRepository().getProxyHost().convention(extension.getContractRepository().getProxyHost()); - contractsCopyTask.getContractRepository().getProxyPort().convention(extension.getContractRepository().getProxyPort()); - contractsCopyTask.getContractsMode().convention(extension.getContractsMode()); - contractsCopyTask.getContractsProperties().convention(extension.getContractsProperties()); - contractsCopyTask.getContractsPath().convention(extension.getContractsPath()); - contractsCopyTask.getExcludeBuildFolders().convention(extension.getExcludeBuildFolders()); - contractsCopyTask.getDeleteStubsAfterTest().convention(extension.getDeleteStubsAfterTest()); + contractsCopyTask.getConvertToYaml().convention(extension.getConvertToYaml()); + contractsCopyTask.getFailOnNoContracts().convention(extension.getFailOnNoContracts()); + contractsCopyTask.getContractsDirectory().convention(extension.getContractsDslDir()); + contractsCopyTask.getContractDependency().getGroupId() + .convention(extension.getContractDependency().getGroupId()); + contractsCopyTask.getContractDependency().getArtifactId() + .convention(extension.getContractDependency().getArtifactId()); + contractsCopyTask.getContractDependency().getVersion() + .convention(extension.getContractDependency().getVersion()); + contractsCopyTask.getContractDependency().getClassifier() + .convention(extension.getContractDependency().getClassifier()); + contractsCopyTask.getContractDependency().getStringNotation() + .convention(extension.getContractDependency().getStringNotation()); + contractsCopyTask.getContractRepository().getRepositoryUrl() + .convention(extension.getContractRepository().getRepositoryUrl()); + contractsCopyTask.getContractRepository().getUsername() + .convention(extension.getContractRepository().getUsername()); + contractsCopyTask.getContractRepository().getPassword() + .convention(extension.getContractRepository().getPassword()); + contractsCopyTask.getContractRepository().getProxyHost() + .convention(extension.getContractRepository().getProxyHost()); + contractsCopyTask.getContractRepository().getProxyPort() + .convention(extension.getContractRepository().getProxyPort()); + contractsCopyTask.getContractsMode().convention(extension.getContractsMode()); + contractsCopyTask.getContractsProperties().convention(extension.getContractsProperties()); + contractsCopyTask.getContractsPath().convention(extension.getContractsPath()); + contractsCopyTask.getExcludeBuildFolders().convention(extension.getExcludeBuildFolders()); + contractsCopyTask.getDeleteStubsAfterTest().convention(extension.getDeleteStubsAfterTest()); - contractsCopyTask.getCopiedContractsFolder().convention(extension.getStubsOutputDir().dir(buildRootPath(ContractsCopyTask.CONTRACTS))); - contractsCopyTask.getBackupContractsFolder().convention(extension.getStubsOutputDir().dir(buildRootPath(ContractsCopyTask.BACKUP))); - }); + contractsCopyTask.getCopiedContractsFolder() + .convention(extension.getStubsOutputDir().dir(buildRootPath(ContractsCopyTask.CONTRACTS))); + contractsCopyTask.getBackupContractsFolder() + .convention(extension.getStubsOutputDir().dir(buildRootPath(ContractsCopyTask.BACKUP))); + }); return task; } @@ -358,16 +405,11 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin private Provider buildRootPath(String path) { return project.provider(() -> { StringBuilder builder = new StringBuilder(); - builder.append("META-INF") - .append(File.separator) - .append(project.getGroup()) - .append(File.separator) - .append(project.getName()) - .append(File.separator) - .append(project.getVersion()) - .append(File.separator) - .append(path); + builder.append("META-INF").append(File.separator).append(project.getGroup()).append(File.separator) + .append(project.getName()).append(File.separator).append(project.getVersion()) + .append(File.separator).append(path); return builder.toString(); }); } + } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties index 3b13887c14..772530d7fc 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/bootSimple/gradle.properties @@ -15,5 +15,5 @@ # wiremockVersion=2.27.0 jsonAssertVersion=0.4.13 -verifierVersion=3.0.0-SNAPSHOT +verifierVersion=3.0.0-M4 groovyVersion=2.4.17 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties index d99567d0d8..5b71df2d25 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties @@ -15,6 +15,6 @@ # wiremockVersion=2.27.0 jsonAssertVersion=0.4.13 -verifierVersion=3.0.0-SNAPSHOT +verifierVersion=3.0.0-M4 bootVersion=2.4.0-M3 groovyVersion=2.4.17 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties index d99567d0d8..5b71df2d25 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties @@ -15,6 +15,6 @@ # wiremockVersion=2.27.0 jsonAssertVersion=0.4.13 -verifierVersion=3.0.0-SNAPSHOT +verifierVersion=3.0.0-M4 bootVersion=2.4.0-M3 groovyVersion=2.4.17 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-portal-plugin/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-gradle-portal-plugin/pom.xml index ecc4e472ae..8e561115da 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-portal-plugin/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-portal-plugin/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tools - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml index fcb3dc3d79..92dc4fbe1a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-tools - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/spring-cloud-contract-tools/spring-cloud-contract-pact/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-pact/pom.xml index 76724a79a4..9adacf0a56 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-pact/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-pact/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tools - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-pact diff --git a/spring-cloud-contract-verifier/pom.xml b/spring-cloud-contract-verifier/pom.xml index cfa99d5d05..eb1abe3b32 100644 --- a/spring-cloud-contract-verifier/pom.xml +++ b/spring-cloud-contract-verifier/pom.xml @@ -9,7 +9,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-verifier diff --git a/spring-cloud-contract-wiremock/pom.xml b/spring-cloud-contract-wiremock/pom.xml index 767bedf134..0071bfde8c 100644 --- a/spring-cloud-contract-wiremock/pom.xml +++ b/spring-cloud-contract-wiremock/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-wiremock diff --git a/tests/pom.xml b/tests/pom.xml index 15f0529e98..fd34d1a0cb 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -7,7 +7,7 @@ org.springframework.cloud spring-cloud-contract-parent - 3.0.0-SNAPSHOT + 3.0.0-M4 .. diff --git a/tests/samples-messaging-amqp/pom.xml b/tests/samples-messaging-amqp/pom.xml index 9225585456..1b01c662b8 100644 --- a/tests/samples-messaging-amqp/pom.xml +++ b/tests/samples-messaging-amqp/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-sample-amqp diff --git a/tests/samples-messaging-camel/pom.xml b/tests/samples-messaging-camel/pom.xml index 9febab386b..b9d67fdacf 100644 --- a/tests/samples-messaging-camel/pom.xml +++ b/tests/samples-messaging-camel/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-sample-camel diff --git a/tests/samples-messaging-integration/pom.xml b/tests/samples-messaging-integration/pom.xml index 0c945d6d11..d695d33154 100644 --- a/tests/samples-messaging-integration/pom.xml +++ b/tests/samples-messaging-integration/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-sample-integration diff --git a/tests/samples-messaging-jms/pom.xml b/tests/samples-messaging-jms/pom.xml index 61287f9bec..cd547f940c 100644 --- a/tests/samples-messaging-jms/pom.xml +++ b/tests/samples-messaging-jms/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-sample-jms diff --git a/tests/samples-messaging-stream/pom.xml b/tests/samples-messaging-stream/pom.xml index c1c37923e7..6be4a26ff5 100644 --- a/tests/samples-messaging-stream/pom.xml +++ b/tests/samples-messaging-stream/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-sample-stream diff --git a/tests/spring-cloud-contract-stub-runner-amqp/pom.xml b/tests/spring-cloud-contract-stub-runner-amqp/pom.xml index 80cdb0a2a2..916f5d594c 100644 --- a/tests/spring-cloud-contract-stub-runner-amqp/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-amqp/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-amqp diff --git a/tests/spring-cloud-contract-stub-runner-boot-eureka/pom.xml b/tests/spring-cloud-contract-stub-runner-boot-eureka/pom.xml index bf340da80e..8005fe5974 100644 --- a/tests/spring-cloud-contract-stub-runner-boot-eureka/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-boot-eureka/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-boot-eureka diff --git a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml index 04462b4fde..6a6cd27b34 100644 --- a/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-boot-zookeeper/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-boot-zookeeper diff --git a/tests/spring-cloud-contract-stub-runner-camel/pom.xml b/tests/spring-cloud-contract-stub-runner-camel/pom.xml index 60e5fbc9c6..233694a802 100644 --- a/tests/spring-cloud-contract-stub-runner-camel/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-camel/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-camel diff --git a/tests/spring-cloud-contract-stub-runner-context-path/pom.xml b/tests/spring-cloud-contract-stub-runner-context-path/pom.xml index 3a813b5894..bed9b88f7f 100644 --- a/tests/spring-cloud-contract-stub-runner-context-path/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-context-path/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-context-path diff --git a/tests/spring-cloud-contract-stub-runner-integration/pom.xml b/tests/spring-cloud-contract-stub-runner-integration/pom.xml index 8430cd832f..68aabbb134 100644 --- a/tests/spring-cloud-contract-stub-runner-integration/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-integration/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-integration diff --git a/tests/spring-cloud-contract-stub-runner-jms/pom.xml b/tests/spring-cloud-contract-stub-runner-jms/pom.xml index d70f5295d7..804a5496fe 100644 --- a/tests/spring-cloud-contract-stub-runner-jms/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-jms/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-jms diff --git a/tests/spring-cloud-contract-stub-runner-kafka/pom.xml b/tests/spring-cloud-contract-stub-runner-kafka/pom.xml index 34349475e6..94c91af2b5 100644 --- a/tests/spring-cloud-contract-stub-runner-kafka/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-kafka/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-kafka diff --git a/tests/spring-cloud-contract-stub-runner-moco-contract-jar/pom.xml b/tests/spring-cloud-contract-stub-runner-moco-contract-jar/pom.xml index 1a870b19c7..5cdc3ee2a8 100644 --- a/tests/spring-cloud-contract-stub-runner-moco-contract-jar/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-moco-contract-jar/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-moco-contract-jar diff --git a/tests/spring-cloud-contract-stub-runner-moco/pom.xml b/tests/spring-cloud-contract-stub-runner-moco/pom.xml index cb76d12c82..efe10d890d 100644 --- a/tests/spring-cloud-contract-stub-runner-moco/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-moco/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-moco diff --git a/tests/spring-cloud-contract-stub-runner-stream/pom.xml b/tests/spring-cloud-contract-stub-runner-stream/pom.xml index e14641a0b7..838b9a2395 100644 --- a/tests/spring-cloud-contract-stub-runner-stream/pom.xml +++ b/tests/spring-cloud-contract-stub-runner-stream/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-contract-tests - 3.0.0-SNAPSHOT + 3.0.0-M4 .. spring-cloud-contract-stub-runner-stream