diff --git a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar
index 87b738cbd0..5c2d1cf016 100644
Binary files a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar and b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.properties b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.properties
index b0acbdcd73..e0b3fb8d70 100644
--- a/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.properties
+++ b/docker/spring-cloud-contract-docker/project/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/docker/spring-cloud-contract-docker/project/gradlew b/docker/spring-cloud-contract-docker/project/gradlew
index af6708ff22..8e25e6c19d 100755
--- a/docker/spring-cloud-contract-docker/project/gradlew
+++ b/docker/spring-cloud-contract-docker/project/gradlew
@@ -1,5 +1,21 @@
#!/usr/bin/env sh
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m"'
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
diff --git a/docker/spring-cloud-contract-docker/project/gradlew.bat b/docker/spring-cloud-contract-docker/project/gradlew.bat
index 0f8d5937c4..24467a141f 100644
--- a/docker/spring-cloud-contract-docker/project/gradlew.bat
+++ b/docker/spring-cloud-contract-docker/project/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m"
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
diff --git a/samples/standalone/yml/http-server/pom.xml b/samples/standalone/yml/http-server/pom.xml
index 52c0a71ee1..079a1af92e 100644
--- a/samples/standalone/yml/http-server/pom.xml
+++ b/samples/standalone/yml/http-server/pom.xml
@@ -24,6 +24,7 @@
2.2.0.BUILD-SNAPSHOT
Hoxton.BUILD-SNAPSHOT
+ 3.2.0
@@ -42,6 +43,46 @@
test
+
+ io.rest-assured
+ spring-mock-mvc
+ ${rest-assured.version}
+
+
+ spring-web
+ org.springframework
+
+
+ spring-webmvc
+ org.springframework
+
+
+ spring-test
+ org.springframework
+
+
+
+
+ io.rest-assured
+ spring-web-test-client
+ ${rest-assured.version}
+
+
+ spring-context
+ org.springframework
+
+
+ spring-webflux
+ org.springframework
+
+
+
+
+ io.rest-assured
+ rest-assured
+ ${rest-assured.version}
+
+
org.springframework.cloud
diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml
index 40452d176d..34dce5aa17 100644
--- a/spring-cloud-contract-dependencies/pom.xml
+++ b/spring-cloud-contract-dependencies/pom.xml
@@ -17,7 +17,7 @@
2.23.2
0.4.13
- 3.2.0
+ 4.0.0
3.3.9
@@ -135,6 +135,26 @@
io.rest-assured
rest-assured
${rest-assured.version}
+
+
+ org.codehaus.groovy
+ groovy
+
+
+ org.codehaus.groovy
+ groovy-xml
+
+
+
+
+ io.rest-assured
+ json-path
+ ${rest-assured.version}
+
+
+ io.rest-assured
+ xml-path
+ ${rest-assured.version}
org.apache.maven
diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/FromFileProperty.groovy b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/FromFileProperty.groovy
index 85456c1363..a501beb9e4 100644
--- a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/FromFileProperty.groovy
+++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/FromFileProperty.groovy
@@ -21,7 +21,6 @@ import java.nio.charset.Charset
import groovy.transform.CompileStatic
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
-
/**
* Represents a property that will become a File content
*
@@ -51,7 +50,9 @@ class FromFileProperty implements Serializable {
}
boolean isByte() {
- return this.type == byte[]
+ // need to take class from a Groovy file, otherwise
+ // boolean#getAt(List) static compilation issue is thrown
+ return this.type == GroovyClass.BYTE_CLASS
}
String asString() {
diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/GroovyClass.java b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/GroovyClass.java
new file mode 100644
index 0000000000..3dc244fa90
--- /dev/null
+++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/GroovyClass.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2013-2019 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.cloud.contract.spec.internal;
+
+final class GroovyClass {
+
+ private GroovyClass() {
+ throw new IllegalStateException("Can't instantiate a utility class");
+ }
+
+ public static Class BYTE_CLASS = byte[].class;
+
+}
diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/SyntaxChecker.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/SyntaxChecker.groovy
index f3f22ea8c8..2b33695997 100644
--- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/SyntaxChecker.groovy
+++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/util/SyntaxChecker.groovy
@@ -30,12 +30,6 @@ import com.jayway.jsonpath.JsonPath
import com.toomuchcoding.jsonassert.JsonAssertion
import groovy.transform.CompileStatic
import groovy.util.logging.Commons
-import io.restassured.RestAssured
-import io.restassured.module.mockmvc.RestAssuredMockMvc
-import io.restassured.module.webtestclient.RestAssuredWebTestClient
-import io.restassured.module.webtestclient.response.WebTestClientResponse
-import io.restassured.module.webtestclient.specification.WebTestClientRequestSpecification
-import io.restassured.response.ResponseOptions
import org.codehaus.groovy.control.CompilerConfiguration
import org.codehaus.groovy.control.customizers.ASTTransformationCustomizer
import org.codehaus.groovy.control.customizers.ImportCustomizer
@@ -63,7 +57,7 @@ class SyntaxChecker {
private static final String[] DEFAULT_IMPORTS = [
Contract.name,
- ResponseOptions.name,
+ "io.restassured.response.ResponseOptions",
'io.restassured.module.mockmvc.specification.*',
'io.restassured.module.mockmvc.*',
Test.name,
@@ -76,8 +70,8 @@ class SyntaxChecker {
ContractVerifierMessaging.name,
WebTarget.name,
Response.name,
- WebTestClientRequestSpecification.name,
- WebTestClientResponse.name,
+ "io.restassured.module.webtestclient.specification.WebTestClientRequestSpecification",
+ "io.restassured.module.webtestclient.response.WebTestClientResponse",
DocumentBuilder.name,
DocumentBuilderFactory.name,
Document.name,
@@ -90,9 +84,9 @@ class SyntaxChecker {
}.join("\n")
private static final String STATIC_IMPORTS = [
- "${RestAssuredMockMvc.name}.given",
- "${RestAssuredMockMvc.name}.when",
- "${RestAssured.name}.*",
+ "io.restassured.module.mockmvc.RestAssuredMockMvc.given",
+ "io.restassured.module.mockmvc.RestAssuredMockMvc.when",
+ "io.restassured.RestAssured.*",
"${Entity.name}.*",
"${ContractVerifierUtil.name}.*",
"${ContractVerifierMessagingUtil.name}.headers",
@@ -101,7 +95,7 @@ class SyntaxChecker {
].collect { "import static ${it};" }.join("\n")
private static final String WEB_TEST_CLIENT_STATIC_IMPORTS = [
- "${RestAssuredWebTestClient.name}.*",
+ "io.restassured.module.webtestclient.RestAssuredWebTestClient.*",
"${Entity.name}.*",
"${ContractVerifierUtil.name}.*",
"${ContractVerifierMessagingUtil.name}.headers",
diff --git a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/WiremockServerRestAssuredApplicationTests.java b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/WiremockServerRestAssuredApplicationTests.java
index 4b086d45d0..7b4aacb399 100644
--- a/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/WiremockServerRestAssuredApplicationTests.java
+++ b/spring-cloud-contract-wiremock/src/test/java/org/springframework/cloud/contract/wiremock/WiremockServerRestAssuredApplicationTests.java
@@ -57,14 +57,14 @@ public class WiremockServerRestAssuredApplicationTests {
@Test
public void contextLoads() throws Exception {
given().port(this.port).when().get("/resource").then().assertThat()
- .statusCode(is(200)).content(equalTo("Hello World"));
+ .statusCode(is(200)).body(equalTo("Hello World"));
}
@Test
public void statusIsMaintained() throws Exception {
given(this.documentationSpec.port(this.port)).filter(document("status")).when()
.get("/status").then().assertThat().statusCode(is(202))
- .content(equalTo("Hello World"));
+ .body(equalTo("Hello World"));
}
@Configuration