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
-2
View File
@@ -278,8 +278,6 @@
/libraries/kotlin-dom-api-compat/ "Kotlin JS"
/libraries/tools/gradle/ "Kotlin Build Tools"
/libraries/tools/kotlin-allopen/ "Kotlin Build Tools"
/libraries/tools/kotlin-annotation-processing/ "Kotlin Build Tools"
/libraries/tools/kotlin-annotation-processing-maven/ "Kotlin Build Tools"
/libraries/tools/kotlin-annotations-jvm/ "Kotlin Libraries"
/libraries/tools/kotlin-assignment/ "Kotlin Build Tools"
/libraries/tools/kotlin-bom/ "Kotlin Build Infrastructure"
-1
View File
@@ -390,7 +390,6 @@ val gradlePluginProjects = listOf(
":kotlin-gradle-plugin-kpm-android",
":kotlin-gradle-plugin-tcs-android",
":kotlin-allopen",
":kotlin-annotation-processing-gradle",
":kotlin-noarg",
":kotlin-sam-with-receiver",
":kotlin-parcelize-compiler",
+1 -1
View File
@@ -54,7 +54,7 @@ val kotlinGradlePluginAndItsRequired = arrayOf(
":kotlin-tooling-metadata",
":kotlin-tooling-core",
":kotlin-reflect",
":kotlin-annotation-processing-gradle",
":kotlin-annotation-processing-embeddable",
":kotlin-test",
":kotlin-gradle-subplugin-example",
":kotlin-stdlib-common",
-1
View File
@@ -24,7 +24,6 @@ fun updateCompilerXml() {
"libraries/tools/gradle",
"libraries/tools/kotlin-allopen",
"libraries/tools/kotlin-annotation-processing",
"libraries/tools/kotlin-annotation-processing-maven",
"libraries/tools/kotlin-assignment",
"libraries/tools/kotlin-bom",
"libraries/tools/kotlin-gradle-build-metrics",
-1
View File
@@ -80,7 +80,6 @@
<module>tools/maven-archetypes</module>
<module>tools/kotlin-annotation-processing-maven</module>
<module>tools/kotlin-maven-allopen</module>
<module>tools/kotlin-maven-noarg</module>
<module>tools/kotlin-maven-sam-with-receiver</module>
@@ -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());
}
@@ -1,7 +1,7 @@
description = "Annotation Processor for Kotlin (for using with embeddable compiler)"
plugins {
java
`java-library`
}
dependencies {
@@ -11,7 +11,5 @@ dependencies {
publish()
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
sourcesJar()
javadocJar()
+1 -3
View File
@@ -222,7 +222,6 @@ include ":kotlin-imports-dumper-compiler-plugin",
":kotlin-annotation-processing-cli",
":kotlin-annotation-processing-base",
":kotlin-annotation-processing-runtime",
":kotlin-annotation-processing-gradle",
":kotlin-annotation-processing-embeddable",
":kotlin-daemon-embeddable",
":examples:kotlin-jsr223-local-example",
@@ -740,8 +739,7 @@ project(':kotlin-lombok').projectDir = "$rootDir/libraries/tools/kotlin-lombok"
project(':kotlin-gradle-subplugin-example').projectDir = "$rootDir/libraries/examples/kotlin-gradle-subplugin-example" as File
project(':examples:annotation-processor-example').projectDir = "$rootDir/libraries/examples/annotation-processor-example" as File
project(':kotlin-script-util').projectDir = "$rootDir/libraries/tools/kotlin-script-util" as File
project(':kotlin-annotation-processing-gradle').projectDir = "$rootDir/libraries/tools/kotlin-annotation-processing" as File
project(':kotlin-annotation-processing-embeddable').projectDir = "$rootDir/prepare/kotlin-annotation-processing-embeddable" as File
project(':kotlin-annotation-processing-embeddable').projectDir = "$rootDir/plugins/kapt3/kotlin-annotation-processing-embeddable" as File
project(':kotlin-daemon-embeddable').projectDir = "$rootDir/prepare/kotlin-daemon-embeddable" as File
project(':kotlin-annotation-processing').projectDir = "$rootDir/plugins/kapt3/kapt3-compiler" as File
project(':kotlin-annotation-processing-cli').projectDir = "$rootDir/plugins/kapt3/kapt3-cli" as File