diff --git a/pom.xml b/pom.xml
index 341a038967..c3eb36561c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,6 @@
4.0.0-SNAPSHOT
4.0.0-SNAPSHOT
4.0.0-SNAPSHOT
- 3.0.6.RELEASE
5.0.4
3.2.11
2.2-M1-groovy-4.0
@@ -101,25 +100,6 @@
pom
import
-
- org.springframework.cloud
- spring-cloud-function-compiler
- ${spring-cloud-functiondonotreplace.version}
-
-
- org.springframework.cloud
- spring-cloud-function-core
-
-
- org.apache.maven
- *
-
-
- org.eclipse.aether
- *
-
-
-
org.apache.camel.springboot
camel-spring-boot-starter
diff --git a/spring-cloud-contract-verifier/pom.xml b/spring-cloud-contract-verifier/pom.xml
index 49e36fd754..3deba738ae 100644
--- a/spring-cloud-contract-verifier/pom.xml
+++ b/spring-cloud-contract-verifier/pom.xml
@@ -249,10 +249,6 @@
spring-boot-starter-jersey
test
-->
-
- org.springframework.cloud
- spring-cloud-function-compiler
-
org.mdkt.compiler
InMemoryJavaCompiler
diff --git a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverter.java b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverter.java
index a4babc3579..f3a5db19b6 100644
--- a/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverter.java
+++ b/spring-cloud-contract-verifier/src/main/java/org/springframework/cloud/contract/verifier/util/ContractVerifierDslConverter.java
@@ -24,14 +24,24 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collection;
import java.util.Collections;
+import java.util.List;
+import java.util.Locale;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import javax.tools.DiagnosticCollector;
+import javax.tools.JavaCompiler;
+import javax.tools.StandardJavaFileManager;
+import javax.tools.StandardLocation;
+import javax.tools.ToolProvider;
import groovy.lang.GroovyShell;
import org.codehaus.groovy.control.CompilerConfiguration;
@@ -40,8 +50,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.cloud.contract.spec.Contract;
import org.springframework.cloud.contract.spec.ContractConverter;
-import org.springframework.cloud.function.compiler.java.CompilationResult;
-import org.springframework.cloud.function.compiler.java.RuntimeJavaCompiler;
+import org.springframework.util.ClassUtils;
import org.springframework.util.ObjectUtils;
/**
@@ -65,7 +74,7 @@ public class ContractVerifierDslConverter implements ContractConverter convertAsCollection(File rootFolder, String dsl) {
ClassLoader classLoader = ContractVerifierDslConverter.class.getClassLoader();
@@ -128,12 +137,6 @@ public class ContractVerifierDslConverter implements ContractConverter classConstructor(File dsl)
throws IllegalAccessException, IOException, NoSuchMethodException {
- String classText = Files.lines(Paths.get(dsl.getAbsolutePath())).collect(Collectors.joining("\n"));
- String fqn = fqn(classText);
- CompilationResult compilationResult = COMPILER.compile(fqn, classText);
- if (!compilationResult.wasSuccessful()) {
- throw new IllegalStateException("Exceptions occurred while trying to compile the file "
- + compilationResult.getCompilationMessages());
+ try (StandardJavaFileManager fileManager = COMPILER.getStandardFileManager(null, null, null)) {
+ try (Stream lines = Files.lines(Paths.get(dsl.getAbsolutePath()))) {
+ String classText = lines.collect(Collectors.joining("\n"));
+ String fqn = fqn(classText);
+ Path directory = Files.createTempDirectory(fqn);
+ fileManager.setLocation(StandardLocation.CLASS_OUTPUT, List.of(directory.toFile()));
+ // Compile the file
+ DiagnosticCollector