From 914a820a5f6f326d6d6daa6e1af102231378d2f3 Mon Sep 17 00:00:00 2001 From: Jendrik Johannes Date: Wed, 16 Apr 2025 14:23:21 +0200 Subject: [PATCH] Add 'exportsTo' and 'opensTo' statements to Module Info DSL These can then be picked up by the 'java-module-testing' plugin. --- .../javamodule/dependencies/dsl/AllDirectives.java | 8 ++++++++ .../dependencies/dsl/GradleOnlyDirectives.java | 2 ++ .../internal/dsl/AllDirectivesInternal.java | 12 ++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/main/java/org/gradlex/javamodule/dependencies/dsl/AllDirectives.java b/src/main/java/org/gradlex/javamodule/dependencies/dsl/AllDirectives.java index d6354e1b..4178f8dc 100644 --- a/src/main/java/org/gradlex/javamodule/dependencies/dsl/AllDirectives.java +++ b/src/main/java/org/gradlex/javamodule/dependencies/dsl/AllDirectives.java @@ -35,4 +35,12 @@ public void requiresStatic(String moduleName) { compileClasspathModules.add(moduleName); add(sourceSet.getCompileOnlyConfigurationName(), moduleName); } + + public void exportsTo(String moduleName) { + exportsToModules.add(moduleName); + } + + public void opensTo(String moduleName) { + opensToModules.add(moduleName); + } } diff --git a/src/main/java/org/gradlex/javamodule/dependencies/dsl/GradleOnlyDirectives.java b/src/main/java/org/gradlex/javamodule/dependencies/dsl/GradleOnlyDirectives.java index 30190627..b5b69a93 100644 --- a/src/main/java/org/gradlex/javamodule/dependencies/dsl/GradleOnlyDirectives.java +++ b/src/main/java/org/gradlex/javamodule/dependencies/dsl/GradleOnlyDirectives.java @@ -32,6 +32,8 @@ public abstract class GradleOnlyDirectives { protected final List compileClasspathModules = new ArrayList<>(); protected final List runtimeClasspathModules = new ArrayList<>(); + protected final List exportsToModules = new ArrayList<>(); + protected final List opensToModules = new ArrayList<>(); @Inject protected abstract DependencyHandler getDependencies(); diff --git a/src/main/java/org/gradlex/javamodule/dependencies/internal/dsl/AllDirectivesInternal.java b/src/main/java/org/gradlex/javamodule/dependencies/internal/dsl/AllDirectivesInternal.java index 806c4bbb..264193f3 100644 --- a/src/main/java/org/gradlex/javamodule/dependencies/internal/dsl/AllDirectivesInternal.java +++ b/src/main/java/org/gradlex/javamodule/dependencies/internal/dsl/AllDirectivesInternal.java @@ -22,6 +22,10 @@ import java.util.List; +/** + * Note: These methods are used by the 'java-module-testing' plugin to access information + * defined in the Module Info DSL. + */ abstract public class AllDirectivesInternal extends AllDirectives { public AllDirectivesInternal(SourceSet sourceSet, SourceSet mainSourceSet, JavaModuleDependenciesExtension javaModuleDependencies) { @@ -35,4 +39,12 @@ public List getCompileClasspathModules() { public List getRuntimeClasspathModules() { return runtimeClasspathModules; } + + public List getExportsToModules() { + return exportsToModules; + } + + public List getOpensToModules() { + return opensToModules; + } }