From 64f8b87b663fc2754a459fc41aac274cdcb423bd Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Mon, 20 Mar 2023 17:31:21 +0100 Subject: [PATCH] Publish atomicfu compiler plugin separately - rename plugin into 'kotlin-atomicfu-compiler-plugin' - add 'kotlin-atomicfu-compiler-plugin-embeddable' to be used with 'kotlin-comiler-embeddable' ^KT-52811 In Progress --- build.gradle.kts | 2 +- generators/build.gradle.kts | 2 +- libraries/tools/atomicfu/build.gradle.kts | 2 -- .../gradle/AtomicfuKotlinGradleSubplugin.kt | 3 +-- .../build.gradle.kts | 17 +++++++++++++++++ .../atomicfu/atomicfu-compiler/build.gradle.kts | 6 +++--- settings.gradle | 6 ++++-- 7 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 plugins/atomicfu/atomicfu-compiler-embeddable/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 4f0deae863b..1637b1ea181 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -754,7 +754,7 @@ tasks { register("compilerPluginTest") { dependsOn(":kotlin-allopen-compiler-plugin:test") dependsOn(":kotlin-assignment-compiler-plugin:test") - dependsOn(":kotlinx-atomicfu-compiler-plugin:test") + dependsOn(":kotlin-atomicfu-compiler-plugin:test") dependsOn(":plugins:fir-plugin-prototype:test") dependsOn(":plugins:fir-plugin-prototype:fir-plugin-ic-test:test") dependsOn(":kotlin-imports-dumper-compiler-plugin:test") diff --git a/generators/build.gradle.kts b/generators/build.gradle.kts index 74620e83245..588ca81fa87 100644 --- a/generators/build.gradle.kts +++ b/generators/build.gradle.kts @@ -68,7 +68,7 @@ dependencies { testApi(projectTests(":kotlin-sam-with-receiver-compiler-plugin")) testApi(projectTests(":kotlin-assignment-compiler-plugin")) testApi(projectTests(":kotlinx-serialization-compiler-plugin")) - testApi(projectTests(":kotlinx-atomicfu-compiler-plugin")) + testApi(projectTests(":kotlin-atomicfu-compiler-plugin")) testApi(projectTests(":plugins:fir-plugin-prototype")) testApi(projectTests(":plugins:fir-plugin-prototype:fir-plugin-ic-test")) testApi(projectTests(":generators:test-generator")) diff --git a/libraries/tools/atomicfu/build.gradle.kts b/libraries/tools/atomicfu/build.gradle.kts index 9ca84c05ef0..9870b87b3e1 100644 --- a/libraries/tools/atomicfu/build.gradle.kts +++ b/libraries/tools/atomicfu/build.gradle.kts @@ -14,8 +14,6 @@ dependencies { compileOnly(project(":kotlin-gradle-plugin")) compileOnly(project(":kotlin-compiler-embeddable")) - - embedded(project(":kotlinx-atomicfu-compiler-plugin")) { isTransitive = false } } gradlePlugin { diff --git a/libraries/tools/atomicfu/src/common/kotlin/org/jetbrains/kotlinx/atomicfu/gradle/AtomicfuKotlinGradleSubplugin.kt b/libraries/tools/atomicfu/src/common/kotlin/org/jetbrains/kotlinx/atomicfu/gradle/AtomicfuKotlinGradleSubplugin.kt index d1571419d18..afcdc9a4678 100644 --- a/libraries/tools/atomicfu/src/common/kotlin/org/jetbrains/kotlinx/atomicfu/gradle/AtomicfuKotlinGradleSubplugin.kt +++ b/libraries/tools/atomicfu/src/common/kotlin/org/jetbrains/kotlinx/atomicfu/gradle/AtomicfuKotlinGradleSubplugin.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlinx.atomicfu.gradle -import org.gradle.api.GradleException import org.gradle.api.Project import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.plugin.* @@ -26,7 +25,7 @@ private const val EXTENSION_NAME = "atomicfuCompilerPlugin" class AtomicfuKotlinGradleSubplugin : KotlinCompilerPluginSupportPlugin { companion object { - const val ATOMICFU_ARTIFACT_NAME = "atomicfu" + const val ATOMICFU_ARTIFACT_NAME = "kotlin-atomicfu-compiler-plugin-embeddable" } override fun apply(target: Project) { diff --git a/plugins/atomicfu/atomicfu-compiler-embeddable/build.gradle.kts b/plugins/atomicfu/atomicfu-compiler-embeddable/build.gradle.kts new file mode 100644 index 00000000000..ab95c6b47cb --- /dev/null +++ b/plugins/atomicfu/atomicfu-compiler-embeddable/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id("org.jetbrains.kotlin.jvm") +} + +dependencies { + embedded(project(":kotlin-atomicfu-compiler-plugin")) { isTransitive = false } +} + +publish() + +runtimeJar(rewriteDefaultJarDepsToShadedCompiler()) +sourcesJarWithSourcesFromEmbedded( + project(":kotlin-atomicfu-compiler-plugin").tasks.named("sourcesJar") +) +javadocJarWithJavadocFromEmbedded( + project(":kotlin-atomicfu-compiler-plugin").tasks.named("javadocJar") +) diff --git a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts index 480fc876c2c..90c6cbe3e31 100644 --- a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts +++ b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts @@ -100,9 +100,6 @@ sourceSets { optInToExperimentalCompilerApi() -runtimeJar() -sourcesJar() -javadocJar() testsJar() useD8Plugin() @@ -125,3 +122,6 @@ projectTest(jUnitMode = JUnitMode.JUnit5) { systemProperty("atomicfuJvm.classpath", localAtomicfuJvmClasspath.asPath) } } + +publish() +standardPublicJars() diff --git a/settings.gradle b/settings.gradle index a15cd98150d..027dd96e827 100644 --- a/settings.gradle +++ b/settings.gradle @@ -261,7 +261,8 @@ include ":kotlin-imports-dumper-compiler-plugin", ":wasm:wasm.config", ":repo:codebase-tests" -include ":kotlinx-atomicfu-compiler-plugin", +include ":kotlin-atomicfu-compiler-plugin", + ":kotlin-atomicfu-compiler-plugin-embeddable", ":kotlinx-atomicfu-runtime", ":atomicfu" @@ -782,7 +783,8 @@ project(':kotlinx-serialization-compiler-plugin.common').projectDir = "$rootDir/ project(':kotlin-serialization').projectDir = file("$rootDir/libraries/tools/kotlin-serialization") project(':kotlin-serialization-unshaded').projectDir = file("$rootDir/libraries/tools/kotlin-serialization-unshaded") -project(':kotlinx-atomicfu-compiler-plugin').projectDir = file("$rootDir/plugins/atomicfu/atomicfu-compiler") +project(':kotlin-atomicfu-compiler-plugin').projectDir = file("$rootDir/plugins/atomicfu/atomicfu-compiler") +project(':kotlin-atomicfu-compiler-plugin-embeddable').projectDir = file("$rootDir/plugins/atomicfu/atomicfu-compiler-embeddable") project(':kotlinx-atomicfu-runtime').projectDir = file("$rootDir/plugins/atomicfu/atomicfu-runtime") project(':atomicfu').projectDir = file("$rootDir/libraries/tools/atomicfu")