Skip to content

Commit

Permalink
Correct ordering of resources on the classpath. Fixes gh-1981 (#2060) (
Browse files Browse the repository at this point in the history
  • Loading branch information
shanman190 committed Dec 7, 2023
1 parent 95998b4 commit 6f59837
Showing 1 changed file with 6 additions and 4 deletions.
Expand Up @@ -182,6 +182,8 @@ public void apply(Project project) {

private SourceSet configureSourceSets(ContractVerifierExtension extension, JavaPluginExtension javaExtension, SourceSet contractTest) {
SourceSetContainer sourceSets = javaExtension.getSourceSets();
ConfigurationContainer configurations = project.getConfigurations();
ObjectFactory objects = project.getObjects();
contractTest.getJava().srcDirs(extension.getGeneratedTestJavaSourcesDir());
project.getPlugins().withType(GroovyPlugin.class, groovyPlugin -> {
GroovySourceDirectorySet groovy = contractTest.getExtensions().getByType(GroovySourceDirectorySet.class);
Expand All @@ -192,11 +194,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;
}

Expand Down

0 comments on commit 6f59837

Please sign in to comment.