diff options
author | mvicsokolova <maria.sokolova@jetbrains.com> | 2022-06-29 19:06:47 +0200 |
---|---|---|
committer | mvicsokolova <maria.sokolova@jetbrains.com> | 2022-06-30 00:30:04 +0200 |
commit | e15ab1e9e553c303c8fe5dcfd7e5d8dead2f62de (patch) | |
tree | 231f29c891776debccf602e9054fa77b5bfb2648 | |
parent | f24c7480a3897c0a7c33ef0aeee57632b4ef7c7f (diff) | |
download | kotlinx.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.kt | 17 |
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") + } } } } |