Correct ordering of resources on the classpath. Fixes gh-1981 (#2060)
This commit is contained in:
@@ -26,8 +26,8 @@ import org.gradle.api.attributes.LibraryElements;
|
||||
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 class SpringCloudContractVerifierGradlePlugin implements Plugin<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 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user