Skip to content

Commit c3c8b51

Browse files
authored
Merge pull request #112 from gradlex-org/project-isolation
Improve compatibility with Project Isolation
2 parents 075ffd7 + fbb7826 commit c3c8b51

File tree

8 files changed

+21
-11
lines changed

8 files changed

+21
-11
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Version 1.6.5
44
* [#104](https://github.com/gradlex-org/java-module-dependencies/issues/104) Fix: ModuleDependencyReport task does not correctly track inputs
5+
* [#105](https://github.com/gradlex-org/java-module-dependencies/issues/105) Improve compatibility with Project Isolation
56

67
## Version 1.6.4
78
* Enhance output of 'moduleDependencies' task

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public abstract class JavaModuleDependenciesExtension {
135135
public JavaModuleDependenciesExtension(VersionCatalogsExtension versionCatalogs) {
136136
this.versionCatalogs = versionCatalogs;
137137
this.moduleInfoCache = getObjects().newInstance(ModuleInfoCache.class);
138-
getModulesProperties().set(getProject().getRootProject().getLayout().getProjectDirectory().file("gradle/modules.properties"));
138+
getModulesProperties().set(new File(getProject().getRootDir(), "gradle/modules.properties"));
139139
getVersionCatalogName().convention("libs");
140140
getModuleNameCheck().convention(true);
141141
getAnalyseOnly().convention(false);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private void registerCatalogTask(Project project) {
125125

126126
t.getEntries().addAll(collectCatalogEntriesFromVersions(javaModuleDependencies, moduleVersions));
127127
project.getRootProject().getSubprojects().forEach(sub -> {
128-
File[] srcDirs = sub.getLayout().getProjectDirectory().dir("src").getAsFile().listFiles();
128+
File[] srcDirs = sub.getProjectDir().listFiles();
129129
(srcDirs == null ? Stream.<File>empty() : Arrays.stream(srcDirs)).forEach(srcDirSet -> {
130130
File moduleInfoFile = new File(srcDirSet, "java/module-info.java");
131131
if (!moduleInfoFile.exists()) {
@@ -144,7 +144,7 @@ private void registerCatalogTask(Project project) {
144144

145145
t.getEntries().addAll();
146146

147-
t.getCatalogFile().set(project.getRootProject().getLayout().getProjectDirectory().file("gradle/libs.versions.toml"));
147+
t.getCatalogFile().set(new File(project.getRootDir(), "gradle/libs.versions.toml"));
148148
});
149149
}
150150

src/test/groovy/org/gradlex/javamodule/dependencies/test/CustomizationTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class CustomizationTest extends Specification {
6363
6464
appBuildFile << '''
6565
javaModuleDependencies {
66-
modulesProperties.set(rootProject.layout.projectDirectory.file(".hidden/modules.properties"))
66+
modulesProperties.set(File(rootDir,".hidden/modules.properties"))
6767
}
6868
'''
6969

src/test/groovy/org/gradlex/javamodule/dependencies/test/GroupMappingTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class GroupMappingTest extends Specification {
3434
'''
3535

3636
when:
37-
def result = runner('assemble').build()
37+
def result = runner(false, 'assemble').build()
3838

3939
then:
4040
result.task(":app:compileJava").outcome == TaskOutcome.SUCCESS

src/test/groovy/org/gradlex/javamodule/dependencies/test/LocalModuleMappingsTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@ class LocalModuleMappingsTest extends Specification {
5151
'''
5252

5353
then:
54-
build()
54+
runner(false, 'build').build()
5555
}
5656
}

src/test/groovy/org/gradlex/javamodule/dependencies/test/RequiresRuntimeTest.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,13 @@ class RequiresRuntimeTest extends Specification {
157157
tasks.compileTestJava {
158158
classpath += sourceSets.main.get().output
159159
160+
val srcDir = sourceSets.test.get().java.sourceDirectories.first()
160161
options.compilerArgumentProviders.add {
161162
listOf(
162163
"--module-path",
163164
classpath.files.joinToString(":"),
164165
"--patch-module",
165-
"org.gradlex.test.app=" + sourceSets.test.get().java.sourceDirectories.first()
166+
"org.gradlex.test.app=" + srcDir
166167
)
167168
}
168169
}

src/test/groovy/org/gradlex/javamodule/dependencies/test/fixture/GradleBuild.groovy

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,12 @@ class GradleBuild {
4545
mainClass.set("org.gradlex.test.app.Main")
4646
}
4747
tasks.register("printRuntimeJars") {
48-
doLast { println(configurations.runtimeClasspath.get().files.map { it.name }) }
48+
inputs.files(configurations.runtimeClasspath)
49+
doLast { println(inputs.files.map { it.name }) }
4950
}
5051
tasks.register("printCompileJars") {
51-
doLast { println(configurations.compileClasspath.get().files.map { it.name }) }
52+
inputs.files(configurations.compileClasspath)
53+
doLast { println(inputs.files.map { it.name }) }
5254
}
5355
'''
5456
libBuildFile << '''
@@ -85,12 +87,18 @@ class GradleBuild {
8587
runner('build').buildAndFail()
8688
}
8789

88-
GradleRunner runner(String... args) {
90+
GradleRunner runner(boolean projectIsolation = true, String... args) {
91+
List<String> latestFeaturesArgs = gradleVersionUnderTest || !projectIsolation? [] : [
92+
'--configuration-cache',
93+
'-Dorg.gradle.unsafe.isolated-projects=true',
94+
// 'getGroup' in 'JavaModuleDependenciesExtension.create'
95+
'--configuration-cache-problems=warn', '-Dorg.gradle.configuration-cache.max-problems=3'
96+
]
8997
GradleRunner.create()
9098
.forwardOutput()
9199
.withPluginClasspath()
92100
.withProjectDir(projectDir)
93-
.withArguments(Arrays.asList(args) + '-s' + '--warning-mode' + 'all')
101+
.withArguments(Arrays.asList(args) + latestFeaturesArgs + '-s' + '--warning-mode=all')
94102
.withDebug(ManagementFactory.getRuntimeMXBean().getInputArguments().toString().contains("-agentlib:jdwp")).with {
95103
gradleVersionUnderTest ? it.withGradleVersion(gradleVersionUnderTest) : it
96104
}

0 commit comments

Comments
 (0)