@@ -18,6 +18,7 @@ package dev.sigstore.testkit
1818
1919import org.assertj.core.api.AbstractCharSequenceAssert
2020import org.assertj.core.api.SoftAssertions
21+ import org.gradle.api.JavaVersion
2122import org.gradle.testkit.runner.GradleRunner
2223import org.gradle.testkit.runner.internal.DefaultGradleRunner
2324import org.gradle.util.GradleVersion
@@ -40,27 +41,42 @@ open class BaseGradleTest {
4041 }
4142
4243 // to debug these tests, add .withDebug(true) before running a test in debug mode
43- protected val gradleRunner = GradleRunner .create().withPluginClasspath()
44+ protected val gradleRunner = GradleRunner
45+ .create()
46+ .withPluginClasspath()
47+ .withEnvironment(mapOf (" JAVA_HOME" to TEST_JAVA_HOME ))
4448
4549 companion object {
4650 val isCI = System .getenv().containsKey(" CI" ) || System .getProperties().containsKey(" CI" )
4751
4852 val EXTRA_LOCAL_REPOS = System .getProperty(" sigstore.test.local.maven.repo" ).split(File .pathSeparatorChar)
4953
54+ val TEST_JAVA_HOME = System .getProperty(" sigstore-java.test.JAVA_HOME" )
55+
5056 val SIGSTORE_JAVA_CURRENT_VERSION =
5157 TestedSigstoreJava .LocallyBuiltVersion (
5258 System .getProperty(" sigstore.test.current.version" )
5359 )
5460
5561 @JvmStatic
56- fun gradleVersions () = listOf (
62+ fun gradleVersions (): Iterable < GradleVersion > = listOf (
5763 // Gradle 7.2 fails with "No service of type ObjectFactory available in default services"
5864 // So we require Gradle 7.3+
5965 " 7.3" ,
6066 " 7.5.1" ,
6167 " 8.1" ,
6268 " 8.5" ,
69+ " 8.7" ,
70+ " 8.10.2" ,
71+ " 8.14.3" ,
72+ " 9.1.0" ,
73+ " 9.2.0" ,
6374 ).map { GradleVersion .version(it) }
75+ .filter {
76+ // See https://docs.gradle.org/current/userguide/compatibility.html
77+ JavaVersion .current() <= JavaVersion .VERSION_21 && it <= GradleVersion .version(" 8.4" ) ||
78+ JavaVersion .current() <= JavaVersion .VERSION_25 && it <= GradleVersion .version(" 9.1.0" )
79+ }
6480
6581 @JvmStatic
6682 fun gradleVersionAndSettings (): Iterable <TestedGradle > {
0 commit comments