Skip to content

Commit d6e505a

Browse files
committed
'addRequiresRuntimeSupport' is only done once per source set
1 parent 762ad77 commit d6e505a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesExtension.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,11 +433,17 @@ public void addRequiresRuntimeSupport(SourceSet sourceSetForModuleInfo, SourceSe
433433

434434
void doAddRequiresRuntimeSupport(SourceSet sourceSetForModuleInfo, SourceSet sourceSetForClasspath) {
435435
List<String> requiresRuntime = getModuleInfoCache().get(sourceSetForModuleInfo).get(ModuleInfo.Directive.REQUIRES_RUNTIME);
436+
String generatorTaskName = sourceSetForClasspath.getTaskName("generate", "syntheticModuleInfoFolders");
437+
if (getProject().getTasks().getNames().contains(generatorTaskName)) {
438+
// Already active for this source set
439+
return;
440+
}
441+
436442
if (!requiresRuntime.isEmpty()) {
437443
ConfigurableFileCollection syntheticModuleInfoFolders = getObjects().fileCollection();
438444
Provider<Directory> moduleInfoFoldersBase = getLayout().getBuildDirectory().dir("tmp/java-module-dependencies/" + sourceSetForClasspath.getName());
439445
TaskProvider<SyntheticModuleInfoFoldersGeneration> generatorTask = getProject().getTasks().register(
440-
sourceSetForClasspath.getTaskName("generate", "syntheticModuleInfoFolders"),
446+
generatorTaskName,
441447
SyntheticModuleInfoFoldersGeneration.class, t -> {
442448
t.getModuleNames().set(requiresRuntime);
443449
t.getSyntheticModuleInfoFolder().set(moduleInfoFoldersBase);

0 commit comments

Comments
 (0)