Skip to content

Commit 81d934b

Browse files
committed
Add an error saying that SKIE 2.1.20 requires Gradle 8.8.
1 parent 990ef2a commit 81d934b

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

SKIE/skie-gradle/plugin-impl/src/main/kotlin/co/touchlab/skie/plugin/SkieGradlePluginApplier.kt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ object SkieGradlePluginApplier {
4747
return
4848
}
4949

50+
checkKGPVersionCompatibility()
51+
5052
kgpShim.initializeShim()
5153

5254
warnOnEmptyFrameworks()
@@ -60,6 +62,24 @@ object SkieGradlePluginApplier {
6062
}
6163
}
6264

65+
// TODO Remove once the issue with Kotlin 2.1.20 is resolved
66+
private fun Project.checkKGPVersionCompatibility() {
67+
val doesNotWorkWithOlderGradleVersions = project.kgpShim.getKotlinPluginVersion().startsWith("2.1.2")
68+
69+
if (doesNotWorkWithOlderGradleVersions) {
70+
val gradleVersionParts = project.gradle.gradleVersion.split(".").mapNotNull { it.toIntOrNull() }
71+
72+
val majorVersion = gradleVersionParts.getOrNull(0) ?: 0
73+
val minorVersion = gradleVersionParts.getOrNull(1) ?: 0
74+
75+
val gradleIsNotSupported = (majorVersion < 8) || (majorVersion == 8 && minorVersion < 8)
76+
77+
if (gradleIsNotSupported) {
78+
error("SKIE for Kotlin 2.1.20 and newer does not currently support Gradle versions older than 8.8. Please upgrade your Gradle version to at least 8.8.")
79+
}
80+
}
81+
}
82+
6383
private fun SkieTarget.configureSkie() {
6484
SkieDirectoriesManager.configureCreateSkieBuildDirectoryTask(this)
6585

test-runner/src/test/kotlin/co/touchlab/skie/test/base/BaseGradleTests.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ abstract class BaseGradleTests: TestUtilsTrait, GradleBuildFileBuilderTrait {
6666
}
6767

6868
fun runGradle(
69-
gradleVersion: String = "8.4",
69+
// TODO Revert back to 8.4 once the issue with Kotlin 2.1.20 is resolved
70+
gradleVersion: String = "8.8",
7071
vararg arguments: String = arrayOf("build"),
7172
assertResult: ((BuildResult) -> Unit)? = {
7273
assertEquals(TaskOutcome.SUCCESS, it.task(":build")?.outcome)

0 commit comments

Comments
 (0)