Publish lombok compiler plugin separately

- also add 'kotlin-lombok-compiler-plugin-embeddable' to be used with
  'kotlin-compiler-emebeddable'
- 'kotlin-maven-lombok' does not try to embed plugin into itself and
  just depends on compiler plugin as normal dependency

^KT-52811 In Progress
This commit is contained in:
Yahor Berdnikau
2023-03-20 17:55:28 +01:00
committed by Space Team
parent 5e41cbda75
commit 1a4d203d1c
6 changed files with 28 additions and 24 deletions
@@ -8,8 +8,6 @@ plugins {
dependencies {
commonApi(platform(project(":kotlin-gradle-plugins-bom")))
commonApi(project(":kotlin-gradle-plugin-model"))
embedded(project(":kotlin-lombok-compiler-plugin")) { isTransitive = false }
}
projectTest(parallel = true)
@@ -38,5 +38,5 @@ class LombokSubplugin @Inject internal constructor(private val registry: Tooling
override fun getCompilerPluginId(): String = "org.jetbrains.kotlin.lombok"
override fun getPluginArtifact(): SubpluginArtifact = JetBrainsSubpluginArtifact(artifactId = "kotlin-lombok")
override fun getPluginArtifact(): SubpluginArtifact = JetBrainsSubpluginArtifact(artifactId = "kotlin-lombok-compiler-plugin-embeddable")
}
+5 -21
View File
@@ -5,11 +5,6 @@
<modelVersion>4.0.0</modelVersion>
<properties>
<lombok.common.src>${basedir}/../../../plugins/lombok/lombok.common/src</lombok.common.src>
<lombok.k1.src>${basedir}/../../../plugins/lombok/lombok.k1/src</lombok.k1.src>
<lombok.k2.src>${basedir}/../../../plugins/lombok/lombok.k2/src</lombok.k2.src>
<lombok.cli.src>${basedir}/../../../plugins/lombok/lombok.cli/src</lombok.cli.src>
<lombok.resources>${basedir}/../../../plugins/lombok/lombok.cli/resources</lombok.resources>
<lombok.maven.plugin.src>${basedir}/src/main/kotlin</lombok.maven.plugin.src>
</properties>
@@ -37,6 +32,11 @@
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-lombok-compiler-plugin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
@@ -46,12 +46,6 @@
</dependencies>
<build>
<resources>
<resource>
<directory>${lombok.resources}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -64,10 +58,6 @@
</goals>
<configuration>
<sources>
<source>${lombok.common.src}</source>
<source>${lombok.k1.src}</source>
<source>${lombok.k2.src}</source>
<source>${lombok.cli.src}</source>
<source>${lombok.maven.plugin.src}</source>
</sources>
</configuration>
@@ -88,12 +78,6 @@
</goals>
</execution>
</executions>
<configuration>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
<arg>-Xcontext-receivers</arg>
</args>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.plexus</groupId>
+2
View File
@@ -67,6 +67,8 @@ projectTest(jUnitMode = JUnitMode.JUnit5) {
}
}
publish()
runtimeJar()
sourcesJar()
javadocJar()
@@ -0,0 +1,18 @@
plugins {
id("org.jetbrains.kotlin.jvm")
}
dependencies {
embedded(project(":kotlin-lombok-compiler-plugin")) { isTransitive = false }
}
publish {
artifactId = artifactId.replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
sourcesJarWithSourcesFromEmbedded(
project(":kotlin-lombok-compiler-plugin").tasks.named<Jar>("sourcesJar")
)
javadocJarWithJavadocFromEmbedded(
project(":kotlin-lombok-compiler-plugin").tasks.named<Jar>("javadocJar")
)
+2
View File
@@ -313,6 +313,7 @@ include ":plugins:parcelize:parcelize-compiler",
":kotlin-parcelize-compiler"
include ":kotlin-lombok-compiler-plugin",
":kotlin-lombok-compiler-plugin.embeddable",
":kotlin-lombok-compiler-plugin.common",
":kotlin-lombok-compiler-plugin.k1",
":kotlin-lombok-compiler-plugin.k2",
@@ -673,6 +674,7 @@ project(':kotlin-allopen-compiler-plugin.k2').projectDir = "$rootDir/plugins/all
project(':kotlin-allopen-compiler-plugin.cli').projectDir = "$rootDir/plugins/allopen/allopen.cli" as File
project(':kotlin-lombok-compiler-plugin').projectDir = "$rootDir/plugins/lombok" as File
project(':kotlin-lombok-compiler-plugin.embeddable').projectDir = "$rootDir/plugins/lombok/lombok.embeddable" as File
project(':kotlin-lombok-compiler-plugin.cli').projectDir = "$rootDir/plugins/lombok/lombok.cli" as File
project(':kotlin-lombok-compiler-plugin.k1').projectDir = "$rootDir/plugins/lombok/lombok.k1" as File
project(':kotlin-lombok-compiler-plugin.k2').projectDir = "$rootDir/plugins/lombok/lombok.k2" as File