@@ -23,11 +23,8 @@ import org.gradle.testkit.runner.GradleRunner
2323import org.gradle.testkit.runner.internal.DefaultGradleRunner
2424import org.gradle.util.GradleVersion
2525import org.intellij.lang.annotations.Language
26- import org.junit.jupiter.api.Assertions
2726import org.junit.jupiter.api.io.CleanupMode
2827import org.junit.jupiter.api.io.TempDir
29- import org.junit.jupiter.params.provider.Arguments
30- import org.junit.jupiter.params.provider.Arguments.arguments
3128import java.io.File
3229import java.nio.file.Path
3330import kotlin.io.path.appendText
@@ -36,6 +33,7 @@ open class BaseGradleTest {
3633 enum class ConfigurationCache {
3734 ON , OFF
3835 }
36+
3937 enum class ProjectIsolation {
4038 ON , OFF
4139 }
@@ -44,12 +42,17 @@ open class BaseGradleTest {
4442 protected val gradleRunner = GradleRunner
4543 .create()
4644 .withPluginClasspath()
47- .withEnvironment(mapOf (" JAVA_HOME" to TEST_JAVA_HOME ))
45+ .apply {
46+ val env = environment!! .toMutableMap()
47+ env[" JAVA_HOME" ] = TEST_JAVA_HOME
48+ withEnvironment(env)
49+ }
4850
4951 companion object {
5052 val isCI = System .getenv().containsKey(" CI" ) || System .getProperties().containsKey(" CI" )
5153
52- val EXTRA_LOCAL_REPOS = System .getProperty(" sigstore.test.local.maven.repo" ).split(File .pathSeparatorChar)
54+ val EXTRA_LOCAL_REPOS =
55+ System .getProperty(" sigstore.test.local.maven.repo" ).split(File .pathSeparatorChar)
5356
5457 val TEST_JAVA_HOME = System .getProperty(" sigstore-java.test.JAVA_HOME" )
5558
@@ -74,25 +77,52 @@ open class BaseGradleTest {
7477 ).map { GradleVersion .version(it) }
7578 .filter {
7679 // 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" )
80+ JavaVersion .current() < JavaVersion .VERSION_21 ||
81+ JavaVersion .current() >= JavaVersion .VERSION_21 && it >= GradleVersion .version(
82+ " 8.4"
83+ ) ||
84+ JavaVersion .current() >= JavaVersion .VERSION_25 && it >= GradleVersion .version(
85+ " 9.1.0"
86+ )
7987 }
8088
8189 @JvmStatic
8290 fun gradleVersionAndSettings (): Iterable <TestedGradle > {
8391 if (! isCI) {
8492 // Execute a single combination only when running locally
8593 return listOf (
86- TestedGradle (gradleVersions().first(), ConfigurationCache .ON , ProjectIsolation .ON )
94+ TestedGradle (
95+ gradleVersions().first(),
96+ ConfigurationCache .ON ,
97+ ProjectIsolation .ON
98+ )
8799 )
88100 }
89101 return buildList {
90102 addAll(
91- gradleVersions().map { TestedGradle (it, ConfigurationCache .ON , ProjectIsolation .ON ) }
103+ gradleVersions().map {
104+ TestedGradle (
105+ it,
106+ ConfigurationCache .ON ,
107+ ProjectIsolation .ON
108+ )
109+ }
92110 )
93111 // Test the first and the last version without configuration cache
94- add(TestedGradle (gradleVersions().first(), ConfigurationCache .OFF , ProjectIsolation .OFF ))
95- add(TestedGradle (gradleVersions().last(), ConfigurationCache .OFF , ProjectIsolation .OFF ))
112+ add(
113+ TestedGradle (
114+ gradleVersions().first(),
115+ ConfigurationCache .OFF ,
116+ ProjectIsolation .OFF
117+ )
118+ )
119+ add(
120+ TestedGradle (
121+ gradleVersions().last(),
122+ ConfigurationCache .OFF ,
123+ ProjectIsolation .OFF
124+ )
125+ )
96126 }
97127 }
98128
@@ -125,8 +155,11 @@ open class BaseGradleTest {
125155 fun Path.write (text : String ) = this .toFile().writeText(text)
126156 fun Path.read (): String = this .toFile().readText()
127157
128- fun writeBuildGradle (@Language(" Groovy" ) text : String ) = projectDir.resolve(" build.gradle" ).write(text)
129- fun writeSettingsGradle (@Language(" Groovy" ) text : String ) = projectDir.resolve(" settings.gradle" ).write(text)
158+ fun writeBuildGradle (@Language(" Groovy" ) text : String ) =
159+ projectDir.resolve(" build.gradle" ).write(text)
160+
161+ fun writeSettingsGradle (@Language(" Groovy" ) text : String ) =
162+ projectDir.resolve(" settings.gradle" ).write(text)
130163
131164 protected fun String.normalizeEol () = replace(Regex (" [\r\n ]+" ), " \n " )
132165
@@ -143,8 +176,9 @@ open class BaseGradleTest {
143176
144177 maven {
145178 url = uri("${
146- File (it).toURI().toASCIIString().replace(Regex (""" [\\"$]""" )) { " \\ " + it.value }
147- } ")
179+ File (it).toURI().toASCIIString()
180+ .replace(Regex (""" [\\"$]""" )) { " \\ " + it.value }
181+ } ")
148182 }
149183 """ .trimIndent().prependIndent(" " )
150184 }
@@ -158,15 +192,16 @@ open class BaseGradleTest {
158192 """
159193 dependencies {
160194 ${
161- when (sigstoreJava) {
162- TestedSigstoreJava .Default -> " "
163- is TestedSigstoreJava .Version ->
164- " sigstoreClient(\" dev.sigstore:sigstore-java:${sigstoreJava.version} \" )"
165- is TestedSigstoreJava . LocallyBuiltVersion ->
166- " sigstoreClient( \" dev.sigstore:sigstore-java: ${sigstoreJava.version} \" ) "
167- }
195+ when (sigstoreJava) {
196+ TestedSigstoreJava .Default -> " "
197+ is TestedSigstoreJava .Version ->
198+ " sigstoreClient(\" dev.sigstore:sigstore-java:${sigstoreJava.version} \" )"
199+
200+ is TestedSigstoreJava . LocallyBuiltVersion ->
201+ " sigstoreClient( \" dev.sigstore:sigstore-java: ${sigstoreJava.version} \" ) "
168202 }
169203 }
204+ }
170205 """ .trimIndent()
171206
172207 protected fun declareRepositoryAndDependency (sigstoreJava : TestedSigstoreJava ) =
@@ -206,6 +241,7 @@ open class BaseGradleTest {
206241 .withArguments(* arguments)
207242 .forwardOutput()
208243
244+
209245 protected fun enableConfigurationCache (
210246 gradle : TestedGradle ,
211247 ) {
0 commit comments