Skip to content

Commit 55958e6

Browse files
committed
Run tests agains latest Gradle with project isolation turned on
1 parent 8947141 commit 55958e6

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class CustomizationTest extends Specification {
5656
appBuildFile << '''
5757
javaModuleTesting.blackbox(testing.suites["test"])
5858
javaModuleTesting.blackbox(testing.suites["test"])
59+
dependencies { testImplementation(project(path)) }
5960
'''
6061
appModuleInfoFile << '''
6162
module org.example.app {

src/test/groovy/org/gradlex/javamodule/testing/test/JavaModuleDependenciesBridgeTest.groovy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ class JavaModuleDependenciesBridgeTest extends Specification {
99
@Delegate
1010
GradleBuild build = new GradleBuild()
1111

12+
def setup() {
13+
useJavaModuleDependenciesPlugin()
14+
}
15+
1216
def "respects moduleNameToGA mappings"() {
1317
given:
1418
appBuildFile << '''

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class GradleBuild {
1818
final File libModuleInfoFile
1919

2020
final String gradleVersionUnderTest = System.getProperty("gradleVersionUnderTest")
21+
boolean canUseProjectIsolation = gradleVersionUnderTest == null
2122

2223
GradleBuild(File projectDir = Files.createTempDirectory("gradle-build").toFile()) {
2324
this.projectDir = projectDir
@@ -40,7 +41,6 @@ class GradleBuild {
4041
'''
4142
appBuildFile << '''
4243
plugins {
43-
id("org.gradlex.java-module-dependencies")
4444
id("org.gradlex.java-module-testing")
4545
id("application")
4646
}
@@ -78,14 +78,19 @@ class GradleBuild {
7878

7979
libBuildFile << '''
8080
plugins {
81-
id("org.gradlex.java-module-dependencies")
8281
id("org.gradlex.java-module-testing")
8382
id("java-library")
8483
}
8584
group = "org.example"
8685
'''
8786
}
8887

88+
void useJavaModuleDependenciesPlugin() {
89+
canUseProjectIsolation = false // 'java-module-dependencies' not yet fully compatible
90+
appBuildFile.text = appBuildFile.text.replace('plugins {', 'plugins { id("org.gradlex.java-module-dependencies")')
91+
libBuildFile.text = libBuildFile.text.replace('plugins {', 'plugins { id("org.gradlex.java-module-dependencies")')
92+
}
93+
8994
File file(String path) {
9095
new File(projectDir, path).tap {
9196
it.getParentFile().mkdirs()
@@ -109,11 +114,15 @@ class GradleBuild {
109114
}
110115

111116
GradleRunner runner(String... args) {
117+
List<String> latestFeaturesArgs = canUseProjectIsolation ? [
118+
'--configuration-cache',
119+
'-Dorg.gradle.unsafe.isolated-projects=true'
120+
] : []
112121
GradleRunner.create()
113122
.forwardOutput()
114123
.withPluginClasspath()
115124
.withProjectDir(projectDir)
116-
.withArguments(Arrays.asList(args) + '-s' + '--configuration-cache')
125+
.withArguments(Arrays.asList(args) + latestFeaturesArgs + '-s' + '--configuration-cache')
117126
.withDebug(ManagementFactory.getRuntimeMXBean().getInputArguments().toString().contains("-agentlib:jdwp")).with {
118127
gradleVersionUnderTest ? it.withGradleVersion(gradleVersionUnderTest) : it
119128
}

0 commit comments

Comments
 (0)