@@ -464,28 +464,26 @@ public void addRequiresRuntimeSupport(SourceSet sourceSetForModuleInfo, SourceSe
464464 void doAddRequiresRuntimeSupport (SourceSet sourceSetForModuleInfo , SourceSet sourceSetForClasspath ) {
465465 List <String > requiresRuntime = getModuleInfoCache ().get (sourceSetForModuleInfo ).get (ModuleInfo .Directive .REQUIRES_RUNTIME );
466466 String generatorTaskName = sourceSetForClasspath .getTaskName ("generate" , "syntheticModuleInfoFolders" );
467- if (getProject ().getTasks ().getNames ().contains (generatorTaskName )) {
468- // Already active for this source set
467+ if (requiresRuntime . isEmpty () || getProject ().getTasks ().getNames ().contains (generatorTaskName )) {
468+ // Already active or not needed for this source set
469469 return ;
470470 }
471471
472- if (!requiresRuntime .isEmpty ()) {
473- ConfigurableFileCollection syntheticModuleInfoFolders = getObjects ().fileCollection ();
474- Provider <Directory > moduleInfoFoldersBase = getLayout ().getBuildDirectory ().dir ("tmp/java-module-dependencies/" + sourceSetForClasspath .getName ());
475- TaskProvider <SyntheticModuleInfoFoldersGeneration > generatorTask = getProject ().getTasks ().register (
476- generatorTaskName ,
477- SyntheticModuleInfoFoldersGeneration .class , t -> {
478- t .getModuleNames ().set (requiresRuntime );
479- t .getSyntheticModuleInfoFolder ().set (moduleInfoFoldersBase );
480- });
481-
482- List <Provider <Directory >> moduleInfoFolders = requiresRuntime .stream ().map (moduleName -> moduleInfoFoldersBase .map (b -> b .dir (moduleName ))).collect (Collectors .toList ());
483- for (Provider <Directory > syntheticModuleInfoFolder : moduleInfoFolders ) {
484- syntheticModuleInfoFolders .from (syntheticModuleInfoFolder );
485- }
486- syntheticModuleInfoFolders .builtBy (generatorTask );
487- getDependencies ().add (sourceSetForClasspath .getCompileOnlyConfigurationName (), syntheticModuleInfoFolders );
472+ ConfigurableFileCollection syntheticModuleInfoFolders = getObjects ().fileCollection ();
473+ Provider <Directory > moduleInfoFoldersBase = getLayout ().getBuildDirectory ().dir ("tmp/java-module-dependencies/" + sourceSetForClasspath .getName ());
474+ TaskProvider <SyntheticModuleInfoFoldersGeneration > generatorTask = getProject ().getTasks ().register (
475+ generatorTaskName ,
476+ SyntheticModuleInfoFoldersGeneration .class , t -> {
477+ t .getModuleNames ().set (requiresRuntime );
478+ t .getSyntheticModuleInfoFolder ().set (moduleInfoFoldersBase );
479+ });
480+
481+ List <Provider <Directory >> moduleInfoFolders = requiresRuntime .stream ().map (moduleName -> moduleInfoFoldersBase .map (b -> b .dir (moduleName ))).collect (Collectors .toList ());
482+ for (Provider <Directory > syntheticModuleInfoFolder : moduleInfoFolders ) {
483+ syntheticModuleInfoFolders .from (syntheticModuleInfoFolder );
488484 }
485+ syntheticModuleInfoFolders .builtBy (generatorTask );
486+ getDependencies ().add (sourceSetForClasspath .getCompileOnlyConfigurationName (), syntheticModuleInfoFolders );
489487 }
490488
491489 private <T > Provider <T > errorIfNotFound (String moduleName ) {
0 commit comments