aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormvicsokolova <maria.sokolova@jetbrains.com>2022-06-29 19:06:47 +0200
committermvicsokolova <maria.sokolova@jetbrains.com>2022-06-30 00:30:04 +0200
commite15ab1e9e553c303c8fe5dcfd7e5d8dead2f62de (patch)
tree231f29c891776debccf602e9054fa77b5bfb2648
parentf24c7480a3897c0a7c33ef0aeee57632b4ef7c7f (diff)
downloadkotlinx.atomicfu-e15ab1e9e553c303c8fe5dcfd7e5d8dead2f62de.tar.gz
For kotlin >= 1.7.10 add published atomicfu-runtime dependency to the project
-rw-r--r--atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt17
1 files changed, 14 insertions, 3 deletions
diff --git a/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt b/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
index 40c3410..574e514 100644
--- a/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
+++ b/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
@@ -118,9 +118,20 @@ private fun Project.addCompilerPluginDependency() {
if (needsJsIrTransformation(target)) {
target.compilations.forEach { kotlinCompilation ->
kotlinCompilation.dependencies {
- // add atomicfu compiler plugin dependency
- // to provide the `kotlinx-atomicfu-runtime` library used during compiler plugin transformation
- implementation("org.jetbrains.kotlin:atomicfu:${getKotlinPluginVersion()}")
+ val kotlinVersion = getKotlinPluginVersion()
+ val (majorVersion, minorVersion) = kotlinVersion
+ .split('.')
+ .take(2)
+ .map { it.toInt() }
+ val patch = kotlinVersion.substringAfterLast('.').substringBefore('-').toInt()
+ if (majorVersion == 1 && (minorVersion == 7 && patch >= 10 || minorVersion > 7)) {
+ // since Kotlin 1.7.10 we can add `atomicfu-runtime` dependency directly
+ implementation("org.jetbrains.kotlin:atomicfu-runtime:$kotlinVersion")
+ } else {
+ // add atomicfu compiler plugin dependency
+ // to provide the `atomicfu-runtime` library used during compiler plugin transformation
+ implementation("org.jetbrains.kotlin:atomicfu:$kotlinVersion")
+ }
}
}
}