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 28f849552d..643282b969 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 @@ -26,8 +26,8 @@ import org.gradle.api.attributes.Usage; import org.gradle.api.file.Directory; import org.gradle.api.file.DirectoryProperty; -import org.gradle.api.file.FileCollection; import org.gradle.api.internal.HasConvention; +import org.gradle.api.model.ObjectFactory; import org.gradle.api.plugins.GroovyPlugin; import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.plugins.JavaPlugin; @@ -128,6 +128,8 @@ public void apply(Project project) { private SourceSet configureSourceSets(ContractVerifierExtension extension, JavaPluginConvention javaConvention) { SourceSetContainer sourceSets = javaConvention.getSourceSets(); + ConfigurationContainer configurations = project.getConfigurations(); + ObjectFactory objects = project.getObjects(); SourceSet contractTest = sourceSets.create(CONTRACT_TEST_SOURCE_SET_NAME); contractTest.getJava().srcDirs(extension.getGeneratedTestJavaSourcesDir()); project.getPlugins().withType(GroovyPlugin.class, groovyPlugin -> { @@ -139,11 +141,11 @@ private SourceSet configureSourceSets(ContractVerifierExtension extension, JavaP SourceSetOutput mainOutput = sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME).getOutput(); SourceSetOutput testOutput = sourceSets.getByName(SourceSet.TEST_SOURCE_SET_NAME).getOutput(); - FileCollection compileClasspath = contractTest.getCompileClasspath(); - contractTest.setCompileClasspath(compileClasspath.plus(mainOutput).plus(testOutput)); + Configuration contractTestCompileClasspathConfiguration = configurations.getByName(contractTest.getCompileClasspathConfigurationName()); + Configuration contractTestRuntimeClasspathConfiguration = configurations.getByName(contractTest.getRuntimeClasspathConfigurationName()); - FileCollection runtimeClasspath = contractTest.getRuntimeClasspath(); - contractTest.setRuntimeClasspath(runtimeClasspath.plus(mainOutput).plus(testOutput)); + contractTest.setCompileClasspath(objects.fileCollection().from(testOutput, mainOutput, contractTestCompileClasspathConfiguration)); + contractTest.setRuntimeClasspath(objects.fileCollection().from(contractTest.getOutput(), testOutput, mainOutput, contractTestRuntimeClasspathConfiguration)); return contractTest; }