Skip to content

Commit 6e04859

Browse files
committed
Pass org.gradle.jvmargs arguments to test instances of Gradle as well
This avoids OutOfMemoryError: Metaspace errors Signed-off-by: Vladimir Sitnikov <[email protected]>
1 parent 96707e0 commit 6e04859

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

build-logic/jvm/src/main/kotlin/build-logic.testing.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ tasks.withType<Test>().configureEach {
33
println("skipOidc: ${project.findProperty("skipOidc")}")
44
systemProperty("sigstore-java.test.skipOidc", project.findProperty("skipOidc")!!)
55
}
6+
if (project.hasProperty("org.gradle.jvmargs")) {
7+
systemProperty("sigstore-java.test.org.gradle.jvmargs", project.findProperty("org.gradle.jvmargs")!!)
8+
}
69
}

sigstore-testkit/src/main/kotlin/dev/sigstore/testkit/BaseGradleTest.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package dev.sigstore.testkit
1818

1919
import org.assertj.core.api.AbstractCharSequenceAssert
20-
import org.gradle.api.JavaVersion
2120
import org.gradle.testkit.runner.GradleRunner
21+
import org.gradle.testkit.runner.internal.DefaultGradleRunner
2222
import org.gradle.util.GradleVersion
2323
import org.intellij.lang.annotations.Language
2424
import org.junit.jupiter.api.Assertions
@@ -78,6 +78,19 @@ open class BaseGradleTest {
7878
gradleRunner
7979
.withGradleVersion(gradleVersion)
8080
.withProjectDir(projectDir.toFile())
81+
.apply {
82+
this as DefaultGradleRunner
83+
// See https://github.com/gradle/gradle/issues/10527
84+
// Gradle does not provide API to configure heap size for testkit-based Gradle executions,
85+
// so we resort to org.gradle.testkit.runner.internal.DefaultGradleRunner
86+
System.getProperty("sigstore-java.test.org.gradle.jvmargs")?.let { jvmArgs ->
87+
withJvmArguments(
88+
jvmArgs.split(Regex("\\s+"))
89+
.map { it.trim() }
90+
.filter { it.isNotBlank() }
91+
)
92+
}
93+
}
8194
.withArguments(*arguments)
8295
.forwardOutput()
8396

0 commit comments

Comments
 (0)