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