diff options
author | mvicsokolova <82594708+mvicsokolova@users.noreply.github.com> | 2024-01-22 18:38:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 18:38:09 +0100 |
commit | 0f576ff57bd49a53b1b289fefbed18b682371ea3 (patch) | |
tree | 2bf82302b0364534476e14950d0457dc0d997767 | |
parent | e3cb1483dfd62754ef06d80918e823be30012fef (diff) | |
download | kotlinx.atomicfu-0f576ff57bd49a53b1b289fefbed18b682371ea3.tar.gz |
Add atomicfu to the apiElements config for native targets (#395)
* Add atomicfu to the apiElements for native sourceSets to resolve the warning about compileOnly dependencies in Native.
See #376, KT-64109
-rw-r--r-- | atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt | 21 |
1 files changed, 18 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 dcc74be..f2dcbc0 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 @@ -128,8 +128,10 @@ private fun Project.configureMultiplatformPluginDependencies(version: String) { implementation(atomicfuDependency) } // Include atomicfu as a dependency for publication when transformation for the target is disabled - multiplatformExtension.targets.all { target -> - if (isTransitiveAtomicfuDependencyRequired(target)) { + multiplatformExtension.targets + .matching { target -> isTransitiveAtomicfuDependencyRequired(target) } + .all { target -> + // Add an implementation dependency for native/wasm targets or if transformation is disable target.compilations.all { compilation -> compilation .defaultSourceSet @@ -138,7 +140,20 @@ private fun Project.configureMultiplatformPluginDependencies(version: String) { } } } - } + + // atomicfu should also appear in apiElements config for native targets, + // otherwise the warning is triggered, see: KT-64109 + multiplatformExtension.targets + .matching { target -> target.platformType == KotlinPlatformType.native } + .all { target -> + target.compilations.all { compilation -> + compilation + .defaultSourceSet + .dependencies { + api(atomicfuDependency) + } + } + } } private data class KotlinVersion(val major: Int, val minor: Int, val patch: Int) |