Skip to content

Commit 6033a8b

Browse files
committed
Options without boolean parameter
This is more consistent with the rest of this part of the DSL, where you specify things once and cannot change/remove them again.
1 parent d0b5c28 commit 6033a8b

File tree

4 files changed

+28
-30
lines changed

4 files changed

+28
-30
lines changed

src/main/java/org/gradlex/javamodule/moduleinfo/ExtraJavaModuleInfoTransform.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ private void addModuleDescriptor(File originalJar, File moduleJar, ModuleInfo mo
222222
mergeJars(moduleInfo, outputStream, providers, packages);
223223
outputStream.putNextEntry(new JarEntry("module-info.class"));
224224
outputStream.write(addModuleInfo(moduleInfo, providers, versionFromFilePath(originalJar.toPath()),
225-
moduleInfo.getExportAllPackages() ? packages : Collections.emptySet()));
225+
moduleInfo.exportAllPackages ? packages : Collections.emptySet()));
226226
outputStream.closeEntry();
227227
}
228228
} catch (IOException e) {
@@ -297,7 +297,7 @@ private byte[] addModuleInfo(ModuleInfo moduleInfo, Map<String, List<String>> pr
297297

298298
moduleVisitor.visitRequire("java.base", 0, null);
299299

300-
if (moduleInfo.getRequiresDirectivesFromMetadata()) {
300+
if (moduleInfo.requireAllDefinedDependencies) {
301301
Set<String> compileDependencies = getParameters().getCompileClasspathDependencies().get().get(moduleInfo.getIdentifier());
302302
Set<String> runtimeDependencies = getParameters().getRuntimeClasspathDependencies().get().get(moduleInfo.getIdentifier());
303303

src/main/java/org/gradlex/javamodule/moduleinfo/ModuleInfo.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public class ModuleInfo extends ModuleSpec {
3333
final Set<String> requiresStatic = new LinkedHashSet<>();
3434
final Set<String> ignoreServiceProviders = new LinkedHashSet<>();
3535

36-
private boolean exportAllPackages;
37-
private boolean requiresDirectivesFromMetadata;
36+
boolean exportAllPackages;
37+
boolean requireAllDefinedDependencies;
3838

3939
ModuleInfo(String identifier, String moduleName, String moduleVersion) {
4040
super(identifier, moduleName);
@@ -89,19 +89,17 @@ private static void addOrThrow(Set<String> target, String element) {
8989
}
9090
}
9191

92-
public void exportAllPackages(boolean exportAllPackages) {
93-
this.exportAllPackages = exportAllPackages;
94-
}
95-
96-
public boolean getExportAllPackages() {
97-
return exportAllPackages;
98-
}
99-
100-
public void requiresDirectivesFromMetadata(boolean requiresDirectivesFromMetadata) {
101-
this.requiresDirectivesFromMetadata = requiresDirectivesFromMetadata;
92+
/**
93+
* Automatically export all packages of the Jar. Can be used instead of individual 'exports()' statements.
94+
*/
95+
public void exportAllPackages() {
96+
this.exportAllPackages = true;
10297
}
10398

104-
public boolean getRequiresDirectivesFromMetadata() {
105-
return requiresDirectivesFromMetadata;
99+
/**
100+
* Automatically add 'requires' statements for all dependencies defined in the metadata of the component.
101+
*/
102+
public void requireAllDefinedDependencies() {
103+
this.requireAllDefinedDependencies = true;
106104
}
107105
}

src/test/groovy/org/gradlex/javamodule/moduleinfo/test/AbstractFunctionalTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ abstract class AbstractFunctionalTest extends Specification {
567567
568568
extraJavaModuleInfo {
569569
module("${libs.commonsCollections}", "org.apache.commons.collections") {
570-
exportAllPackages(true)
570+
exportAllPackages()
571571
}
572572
}
573573
"""

src/test/groovy/org/gradlex/javamodule/moduleinfo/test/RequiresFromMetadataFunctionalTest.groovy renamed to src/test/groovy/org/gradlex/javamodule/moduleinfo/test/RequireAllDefinedDependenciesFunctionalTest.groovy

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import org.gradlex.javamodule.moduleinfo.test.fixture.GradleBuild
55
import org.gradlex.javamodule.moduleinfo.test.fixture.LegacyLibraries
66
import spock.lang.Specification
77

8-
class RequiresFromMetadataFunctionalTest extends Specification {
8+
class RequireAllDefinedDependenciesFunctionalTest extends Specification {
99

1010
@Delegate
1111
GradleBuild build = new GradleBuild()
@@ -63,12 +63,12 @@ class RequiresFromMetadataFunctionalTest extends Specification {
6363
6464
extraJavaModuleInfo {
6565
module("${libs.commonsHttpClient}", "org.apache.httpcomponents.httpclient") {
66-
exportAllPackages(true)
67-
requiresDirectivesFromMetadata(true)
66+
exportAllPackages()
67+
requireAllDefinedDependencies()
6868
}
6969
module("${libs.commonsLogging}", "org.apache.commons.logging") {
70-
exportAllPackages(true)
71-
requiresDirectivesFromMetadata(true)
70+
exportAllPackages()
71+
requireAllDefinedDependencies()
7272
}
7373
knownModule("commons-codec:commons-codec", "org.apache.commons.codec")
7474
knownModule("org.apache.httpcomponents:httpcore", "org.apache.httpcomponents.httpcore")
@@ -101,12 +101,12 @@ class RequiresFromMetadataFunctionalTest extends Specification {
101101
102102
extraJavaModuleInfo {
103103
module("${new LegacyLibraries(true).commonsHttpClient}", "org.apache.httpcomponents.httpclient") {
104-
exportAllPackages(true)
105-
requiresDirectivesFromMetadata(true)
104+
exportAllPackages()
105+
requireAllDefinedDependencies()
106106
}
107107
module("${libs.commonsLogging}", "org.apache.commons.logging") {
108-
exportAllPackages(true)
109-
requiresDirectivesFromMetadata(true)
108+
exportAllPackages()
109+
requireAllDefinedDependencies()
110110
}
111111
knownModule("commons-codec:commons-codec", "org.apache.commons.codec")
112112
knownModule("org.apache.httpcomponents:httpcore", "org.apache.httpcomponents.httpcore")
@@ -141,12 +141,12 @@ class RequiresFromMetadataFunctionalTest extends Specification {
141141
142142
extraJavaModuleInfo {
143143
module("${libs.commonsHttpClient}", "org.apache.httpcomponents.httpclient") {
144-
exportAllPackages(true)
145-
requiresDirectivesFromMetadata(true)
144+
exportAllPackages()
145+
requireAllDefinedDependencies()
146146
}
147147
module("${libs.commonsLogging}", "org.apache.commons.logging") {
148-
exportAllPackages(true)
149-
requiresDirectivesFromMetadata(true)
148+
exportAllPackages()
149+
requireAllDefinedDependencies()
150150
}
151151
knownModule("commons-codec:commons-codec", "org.apache.commons.codec")
152152
}

0 commit comments

Comments
 (0)