1313import org .elasticsearch .gradle .plugin .GenerateTestBuildInfoTask ;
1414import org .gradle .api .Plugin ;
1515import org .gradle .api .Project ;
16+ import org .gradle .api .artifacts .Configuration ;
17+ import org .gradle .api .file .FileCollection ;
1618import org .gradle .api .file .RegularFile ;
1719import org .gradle .api .provider .Provider ;
1820import org .gradle .api .provider .ProviderFactory ;
@@ -39,14 +41,15 @@ public TestBuildInfoPlugin(ProviderFactory providerFactory) {
3941 @ Override
4042 public void apply (Project project ) {
4143 var testBuildInfoTask = project .getTasks ().register ("generateTestBuildInfo" , GenerateTestBuildInfoTask .class , task -> {
44+ FileCollection codeLocations = project .getConfigurations ().getByName ("runtimeClasspath" );
45+ Configuration compileOnly = project .getConfigurations ()
46+ .findByName (CompileOnlyResolvePlugin .RESOLVEABLE_COMPILE_ONLY_CONFIGURATION_NAME );
47+ if (compileOnly != null ) {
48+ codeLocations = codeLocations .minus (compileOnly );
49+ }
4250 var sourceSets = project .getExtensions ().getByType (SourceSetContainer .class );
43- task .getCodeLocations ()
44- .set (
45- project .getConfigurations ()
46- .getByName ("runtimeClasspath" )
47- .minus (project .getConfigurations ().getByName (CompileOnlyResolvePlugin .RESOLVEABLE_COMPILE_ONLY_CONFIGURATION_NAME ))
48- .plus (sourceSets .getByName (SourceSet .MAIN_SOURCE_SET_NAME ).getOutput ().getClassesDirs ())
49- );
51+ codeLocations = codeLocations .plus (sourceSets .getByName (SourceSet .MAIN_SOURCE_SET_NAME ).getOutput ().getClassesDirs ());
52+ task .getCodeLocations ().set (codeLocations );
5053 Provider <RegularFile > directory = project .getLayout ().getBuildDirectory ().file ("generated-build.info/test-build-info.json" );
5154 task .getOutputFile ().set (directory );
5255 });
0 commit comments