Update publishing and usage of kotlin-annotation-processing plugin

- removed 'kotlin-annotation-processing-gradle' publication as it
duplicated 'kotlin-annotation-processing-embeddable'
- removed 'kotlin-annotation-processing-maven' as it is embedded into
  'kotlin-maven-plugin'. Instead 'kotlin-maven-plugin' now depends on
  'kotlin-annotation-processing' directly.

^KT-52811 In Progress
This commit is contained in:
Yahor Berdnikau
2023-03-21 17:40:10 +01:00
committed by Space Team
parent a58d6fd13a
commit 1eb27f2aac
17 changed files with 31 additions and 200 deletions
@@ -1,145 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<properties>
<annotation-processing.src>${basedir}/../../../plugins/kapt3/kapt3-compiler/src</annotation-processing.src>
<annotation-processing.cli.src>${basedir}/../../../plugins/kapt3/kapt3-cli/src</annotation-processing.cli.src>
<annotation-processing.resources>${basedir}/../../../plugins/kapt3/kapt3-compiler/resources</annotation-processing.resources>
<annotation-processing.base.src>${basedir}/../../../plugins/kapt3/kapt3-base/src</annotation-processing.base.src>
<annotation-processing.runtime.src>${basedir}/../../../plugins/kapt3/kapt3-runtime/src</annotation-processing.runtime.src>
</properties>
<parent>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-project</artifactId>
<version>1.9.255-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>kotlin-annotation-processing-maven</artifactId>
<packaging>jar</packaging>
<description>Annotation Processor wrapper for Kotlin Maven plugin</description>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-compiler</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.android.tools.build</groupId>
<artifactId>gradle</artifactId>
<version>1.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource><directory>${annotation-processing.resources}</directory></resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals><goal>add-source</goal></goals>
<configuration>
<sources>
<source>${annotation-processing.src}</source>
<source>${annotation-processing.cli.src}</source>
<source>${annotation-processing.base.src}</source>
<source>${annotation-processing.runtime.src}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${project.version}</version>
<configuration>
<jdkHome>${jdk_1_8}</jdkHome>
<annotationPaths>
<annotationPath>${basedir}/kotlinAnnotation</annotationPath>
</annotationPaths>
<args>
<arg>-opt-in=org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi</arg>
</args>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals><goal>compile</goal></goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals><goal>test-compile</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>tools_jar_profile</id>
<activation>
<activeByDefault>false</activeByDefault>
<file>
<exists>kotlin-annotation-processing-maven-build.txt</exists>
</file>
</activation>
<properties>
<toolsjar>${jdk_1_8}/lib/tools.jar</toolsjar>
</properties>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.8.0</version>
<scope>system</scope>
<systemPath>${toolsjar}</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -1,35 +0,0 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.jvm.tasks.Jar
description = "Kapt - Annotation processing for Kotlin"
plugins {
kotlin("jvm")
}
val packedJars by configurations.creating
dependencies {
api(kotlinStdlib())
packedJars(project(":kotlin-annotation-processing")) { isTransitive = false }
runtimeOnly(project(":kotlin-compiler-embeddable"))
}
projectTest(parallel = true) {
workingDir = projectDir
}
publish()
tasks.named<Jar>("jar").configure {
archiveClassifier.set("base")
}
runtimeJar(rewriteDepsToShadedCompiler(
tasks.register<ShadowJar>("shadowJar") {
from(packedJars)
}
))
sourcesJar()
javadocJar()
@@ -87,7 +87,7 @@ class KotlinJvmApiTest : KGPBaseTest() {
apiPlugin.addCompilerPluginDependency(
project.provider {
"org.jetbrains.kotlin:kotlin-annotation-processing-gradle:${"$"}kotlin_version"
"org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:${"$"}kotlin_version"
}
)
@@ -41,7 +41,6 @@ dependencies {
commonCompileOnly(project(":kotlin-build-common"))
commonCompileOnly(project(":kotlin-compiler-runner"))
commonCompileOnly(project(":kotlin-annotation-processing"))
commonCompileOnly(project(":kotlin-annotation-processing-gradle"))
commonCompileOnly(project(":kotlin-scripting-compiler"))
commonCompileOnly(project(":kotlin-gradle-statistics"))
commonCompileOnly(project(":kotlin-gradle-build-metrics"))
@@ -68,7 +67,7 @@ dependencies {
commonImplementation(project(":kotlin-project-model"))
commonRuntimeOnly(project(":kotlin-compiler-embeddable"))
commonRuntimeOnly(project(":kotlin-annotation-processing-gradle"))
commonRuntimeOnly(project(":kotlin-annotation-processing-embeddable"))
commonRuntimeOnly(project(":kotlin-android-extensions"))
commonRuntimeOnly(project(":kotlin-compiler-runner")) {
// Excluding dependency with not-relocated 'com.intellij' types
@@ -91,7 +90,6 @@ dependencies {
testCompileOnly(project(":compiler"))
testCompileOnly(project(":kotlin-annotation-processing"))
testCompileOnly(project(":kotlin-annotation-processing-gradle"))
testImplementation(commonDependency("org.jetbrains.teamcity:serviceMessages"))
testImplementation(projectTests(":kotlin-build-common"))
@@ -71,7 +71,7 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To
val MAIN_KAPT_CONFIGURATION_NAME = "kapt"
const val KAPT_ARTIFACT_NAME = "kotlin-annotation-processing-gradle"
const val KAPT_ARTIFACT_NAME = "kotlin-annotation-processing-embeddable"
val KAPT_SUBPLUGIN_ID = "org.jetbrains.kotlin.kapt3"
fun getKaptConfigurationName(sourceSetName: String): String {
@@ -186,7 +186,7 @@ internal class KaptWithoutKotlincConfig : KaptConfig<KaptWithoutKotlincTask> {
project.configurations.findByName(Kapt3GradleSubplugin.KAPT_WORKER_DEPENDENCIES_CONFIGURATION_NAME)
?: project.configurations.create(Kapt3GradleSubplugin.KAPT_WORKER_DEPENDENCIES_CONFIGURATION_NAME).apply {
dependencies.addAllLater(project.listProperty {
val kaptDependency = "org.jetbrains.kotlin:kotlin-annotation-processing-gradle:${project.getKotlinPluginVersion()}"
val kaptDependency = "org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:${project.getKotlinPluginVersion()}"
listOf(
project.dependencies.create(kaptDependency),
project.dependencies.kotlinDependency(
@@ -117,12 +117,12 @@
<!--<settingsFile>src/it/settings.xml</settingsFile>-->
<localRepositoryPath>local-repo</localRepositoryPath>
<extraArtifacts>
<artifact>org.jetbrains.kotlin:kotlin-annotation-processing:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-plugin:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-allopen:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-noarg:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-lombok:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-maven-sam-with-receiver:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-annotation-processing-maven:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-script-runtime:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib:${project.version}</artifact>
<artifact>org.jetbrains.kotlin:kotlin-stdlib-common:${project.version}</artifact>
@@ -154,5 +154,27 @@
</property>
</activation>
</profile>
<profile>
<id>tools_jar_profile</id>
<activation>
<activeByDefault>false</activeByDefault>
<file>
<exists>kotlin-annotation-processing-maven-build.txt</exists>
</file>
</activation>
<properties>
<toolsjar>${jdk_1_8}/lib/tools.jar</toolsjar>
</properties>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.8.0</version>
<scope>system</scope>
<systemPath>${toolsjar}</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -63,7 +63,7 @@ public class AnnotationProcessingManager {
static {
KAPT_DEPENDENCY.setGroupId("org.jetbrains.kotlin");
KAPT_DEPENDENCY.setArtifactId("kotlin-annotation-processing-maven");
KAPT_DEPENDENCY.setArtifactId("kotlin-annotation-processing");
try {
KAPT_DEPENDENCY.setVersion(getMavenPluginVersion());
}