mirror of
https://github.com/jlengrand/compose-multiplatform.git
synced 2026-03-10 08:11:20 +00:00
Test plugin against multiple versions of Gradle
This commit is contained in:
committed by
Alexey Tsvetkov
parent
f46a39cd6a
commit
fbc51e4019
@@ -57,24 +57,34 @@ val jar = tasks.named<Jar>("jar") {
|
||||
this.duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||
}
|
||||
|
||||
val gradleVersionForTests = "6.7"
|
||||
val minGradleVersionForTests = "6.4"
|
||||
val maxGradleVersionForTests = "6.7"
|
||||
val java14Home: String? = when (JavaVersion.current()) {
|
||||
JavaVersion.VERSION_14 -> System.getProperty("java.home")
|
||||
else -> System.getenv("JDK_14")
|
||||
}
|
||||
val isWindows = getCurrentOperatingSystem().isWindows
|
||||
|
||||
afterEvaluate {
|
||||
tasks.named<Test>("test") {
|
||||
dependsOn("publishToMavenLocal")
|
||||
systemProperty("compose.plugin.version", BuildProperties.deployVersion(project))
|
||||
systemProperty("gradle.version.for.tests", gradleVersionForTests)
|
||||
|
||||
if (java14Home != null) {
|
||||
val executableFileName = if (isWindows) "java.exe" else "java"
|
||||
executable = File(java14Home).resolve("bin/$executableFileName").absolutePath
|
||||
} else {
|
||||
doFirst { error("Use JDK 14 to run tests or set up JDK_14 env. var") }
|
||||
}
|
||||
}
|
||||
tasks.test {
|
||||
configureTest(maxGradleVersionForTests)
|
||||
}
|
||||
|
||||
tasks.register("testMinGradleVersion", Test::class.java) {
|
||||
tasks.test.get().let { defaultTest ->
|
||||
classpath = defaultTest.classpath
|
||||
}
|
||||
configureTest(minGradleVersionForTests)
|
||||
}
|
||||
|
||||
fun Test.configureTest(gradleVersion: String) {
|
||||
dependsOn("publishToMavenLocal")
|
||||
systemProperty("compose.plugin.version", BuildProperties.deployVersion(project))
|
||||
systemProperty("gradle.version.for.tests", gradleVersion)
|
||||
|
||||
if (java14Home != null) {
|
||||
val executableFileName = if (isWindows) "java.exe" else "java"
|
||||
executable = File(java14Home).resolve("bin/$executableFileName").absolutePath
|
||||
} else {
|
||||
doFirst { error("Use JDK 14 to run tests or set up JDK_14 env. var") }
|
||||
}
|
||||
}
|
||||
@@ -5,8 +5,7 @@ import java.io.File
|
||||
|
||||
data class TestProject(
|
||||
private val name: String,
|
||||
private val workingDir: File,
|
||||
private val defaultGradleVersion: String = TestProperties.defaultGradleVersionForTests
|
||||
private val workingDir: File
|
||||
) {
|
||||
private val additionalArgs = listOf("--stacktrace")
|
||||
|
||||
@@ -32,7 +31,7 @@ data class TestProject(
|
||||
|
||||
fun gradle(vararg args: String): GradleRunner =
|
||||
GradleRunner.create().apply {
|
||||
withGradleVersion(defaultGradleVersion)
|
||||
withGradleVersion(TestProperties.gradleVersionForTests)
|
||||
withProjectDir(workingDir)
|
||||
withArguments(args.toList() + additionalArgs)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,6 @@ object TestProperties {
|
||||
val composeVersion: String
|
||||
get() = System.getProperty("compose.plugin.version")!!
|
||||
|
||||
val defaultGradleVersionForTests: String
|
||||
val gradleVersionForTests: String
|
||||
get() = System.getProperty("gradle.version.for.tests")!!
|
||||
}
|
||||
Reference in New Issue
Block a user