Kapt3: Replace kapt2 in Ant and Maven artifacts with kapt3
This commit is contained in:
committed by
Yan Zhulanow
parent
64046f1e40
commit
bd9d33fe44
@@ -844,6 +844,9 @@
|
|||||||
|
|
||||||
<target name="annotation-processing">
|
<target name="annotation-processing">
|
||||||
<cleandir dir="${output}/classes/annotation-processing"/>
|
<cleandir dir="${output}/classes/annotation-processing"/>
|
||||||
|
|
||||||
|
<property environment="env"/>
|
||||||
|
|
||||||
<javac2 destdir="${output}/classes/annotation-processing" debug="true" debuglevel="lines,vars,source"
|
<javac2 destdir="${output}/classes/annotation-processing" debug="true" debuglevel="lines,vars,source"
|
||||||
includeAntRuntime="false" source="${java.target}" target="${java.target}">
|
includeAntRuntime="false" source="${java.target}" target="${java.target}">
|
||||||
<withKotlin modulename="annotation-processing">
|
<withKotlin modulename="annotation-processing">
|
||||||
@@ -851,10 +854,11 @@
|
|||||||
</withKotlin>
|
</withKotlin>
|
||||||
<skip pattern="kotlin/Metadata"/>
|
<skip pattern="kotlin/Metadata"/>
|
||||||
<src>
|
<src>
|
||||||
<pathelement path="plugins/annotation-processing/src"/>
|
<pathelement path="plugins/kapt3/src"/>
|
||||||
<pathelement path="plugins/java-model-wrappers/src"/>
|
|
||||||
</src>
|
</src>
|
||||||
<classpath>
|
<classpath>
|
||||||
|
<!-- JAVA_HOME is set in annotation-processing-under-jdk8 -->
|
||||||
|
<pathelement path="${env.JAVA_HOME}/lib/tools.jar"/>
|
||||||
<pathelement path="${idea.sdk}/core/intellij-core.jar"/>
|
<pathelement path="${idea.sdk}/core/intellij-core.jar"/>
|
||||||
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
|
<pathelement path="${kotlin-home}/lib/kotlin-compiler.jar"/>
|
||||||
<pathelement path="${bootstrap.runtime}"/>
|
<pathelement path="${bootstrap.runtime}"/>
|
||||||
@@ -866,7 +870,7 @@
|
|||||||
<jar destfile="${kotlin-home}/lib/kotlin-annotation-processing.jar">
|
<jar destfile="${kotlin-home}/lib/kotlin-annotation-processing.jar">
|
||||||
<fileset dir="${output}/classes/annotation-processing"/>
|
<fileset dir="${output}/classes/annotation-processing"/>
|
||||||
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
|
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
|
||||||
<fileset dir="${basedir}/plugins/annotation-processing/src" includes="META-INF/services/**"/>
|
<fileset dir="${basedir}/plugins/kapt3/src" includes="META-INF/services/**"/>
|
||||||
</jar>
|
</jar>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
|||||||
@@ -167,6 +167,21 @@ messages/**)
|
|||||||
*** ASM5;
|
*** ASM5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.AnnotationNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.ClassNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.LocalVariableNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.MethodNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.FieldNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.ParameterNode { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.tree.TypeAnnotationNode { *; }
|
||||||
|
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.signature.SignatureReader { *; }
|
||||||
|
-keep class org.jetbrains.org.objectweb.asm.signature.SignatureVisitor { *; }
|
||||||
|
|
||||||
|
-keepclassmembers class org.jetbrains.org.objectweb.asm.Type {
|
||||||
|
*** ARRAY;
|
||||||
|
}
|
||||||
|
|
||||||
-keepclassmembers class org.jetbrains.org.objectweb.asm.ClassReader {
|
-keepclassmembers class org.jetbrains.org.objectweb.asm.ClassReader {
|
||||||
*** SKIP_CODE;
|
*** SKIP_CODE;
|
||||||
*** SKIP_DEBUG;
|
*** SKIP_DEBUG;
|
||||||
|
|||||||
@@ -7,8 +7,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<maven.version>3.0.4</maven.version>
|
<maven.version>3.0.4</maven.version>
|
||||||
<old-kapt.src>${basedir}/src/main/kotlin</old-kapt.src>
|
<old-kapt.src>${basedir}/src/main/kotlin</old-kapt.src>
|
||||||
<annotation-processing.src>${basedir}/../../../plugins/annotation-processing/src</annotation-processing.src>
|
<annotation-processing.src>${basedir}/../../../plugins/kapt3/src</annotation-processing.src>
|
||||||
<java-model-wrappers.src>${basedir}/../../../plugins/java-model-wrappers/src</java-model-wrappers.src>
|
|
||||||
<annotation-processing.target-src>${basedir}/target/src/main/kotlin</annotation-processing.target-src>
|
<annotation-processing.target-src>${basedir}/target/src/main/kotlin</annotation-processing.target-src>
|
||||||
<annotation-processing.target-src-test>${basedir}/target/src/test/kotlin</annotation-processing.target-src-test>
|
<annotation-processing.target-src-test>${basedir}/target/src/test/kotlin</annotation-processing.target-src-test>
|
||||||
<annotation-processing.target-resource>${basedir}/target/resource</annotation-processing.target-resource>
|
<annotation-processing.target-resource>${basedir}/target/resource</annotation-processing.target-resource>
|
||||||
@@ -83,7 +82,6 @@
|
|||||||
<outputDirectory>${annotation-processing.target-src}</outputDirectory>
|
<outputDirectory>${annotation-processing.target-src}</outputDirectory>
|
||||||
<resources>
|
<resources>
|
||||||
<resource><directory>${annotation-processing.src}</directory></resource>
|
<resource><directory>${annotation-processing.src}</directory></resource>
|
||||||
<resource><directory>${java-model-wrappers.src}</directory></resource>
|
|
||||||
<resource><directory>${old-kapt.src}</directory></resource>
|
<resource><directory>${old-kapt.src}</directory></resource>
|
||||||
</resources>
|
</resources>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
+11
-14
@@ -33,17 +33,17 @@ import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
|
|||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
// apply plugin: 'kotlin-kapt2'
|
// apply plugin: 'kotlin-kapt'
|
||||||
class Kapt2GradleSubplugin : Plugin<Project> {
|
class Kapt3GradleSubplugin : Plugin<Project> {
|
||||||
companion object {
|
companion object {
|
||||||
fun isEnabled(project: Project) = project.plugins.findPlugin(Kapt2GradleSubplugin::class.java) != null
|
fun isEnabled(project: Project) = project.plugins.findPlugin(Kapt3GradleSubplugin::class.java) != null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun apply(project: Project) {}
|
override fun apply(project: Project) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Subplugin for the Kotlin Gradle plugin
|
// Subplugin for the Kotlin Gradle plugin
|
||||||
class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||||
companion object {
|
companion object {
|
||||||
private val VERBOSE_OPTION_NAME = "kapt.verbose"
|
private val VERBOSE_OPTION_NAME = "kapt.verbose"
|
||||||
|
|
||||||
@@ -52,10 +52,10 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun isApplicable(project: Project, task: KotlinCompile) = Kapt2GradleSubplugin.isEnabled(project)
|
override fun isApplicable(project: Project, task: KotlinCompile) = Kapt3GradleSubplugin.isEnabled(project)
|
||||||
|
|
||||||
fun getKaptGeneratedDir(project: Project, sourceSetName: String): File {
|
fun getKaptGeneratedDir(project: Project, sourceSetName: String): File {
|
||||||
return File(project.project.buildDir, "generated/source/kapt2/$sourceSetName")
|
return File(project.project.buildDir, "generated/source/kapt/$sourceSetName")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Project.findKaptConfiguration(sourceSetName: String): Configuration? {
|
private fun Project.findKaptConfiguration(sourceSetName: String): Configuration? {
|
||||||
@@ -75,10 +75,10 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
|||||||
val kaptClasspath = arrayListOf<File>()
|
val kaptClasspath = arrayListOf<File>()
|
||||||
|
|
||||||
fun handleSourceSet(sourceSetName: String) {
|
fun handleSourceSet(sourceSetName: String) {
|
||||||
val kapt2Configuration = project.findKaptConfiguration(sourceSetName)
|
val kaptConfiguration = project.findKaptConfiguration(sourceSetName)
|
||||||
if (kapt2Configuration != null && kapt2Configuration.dependencies.size > 1) {
|
if (kaptConfiguration != null && kaptConfiguration.dependencies.size > 1) {
|
||||||
javaCompile.dependsOn(kapt2Configuration.buildDependencies)
|
javaCompile.dependsOn(kaptConfiguration.buildDependencies)
|
||||||
kaptClasspath.addAll(kapt2Configuration.resolve())
|
kaptClasspath.addAll(kaptConfiguration.resolve())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,16 +136,13 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
|||||||
val annotationsFile = File(kotlinCompile.taskBuildDirectory, "source-annotations.txt")
|
val annotationsFile = File(kotlinCompile.taskBuildDirectory, "source-annotations.txt")
|
||||||
kotlinCompile.sourceAnnotationsRegistry = SourceAnnotationsRegistry(annotationsFile)
|
kotlinCompile.sourceAnnotationsRegistry = SourceAnnotationsRegistry(annotationsFile)
|
||||||
|
|
||||||
val incrementalCompilationDataFile = File(project.buildDir, "tmp/kapt2/$sourceSetName/incrementalData.txt")
|
|
||||||
pluginOptions += SubpluginOption("incrementalData", incrementalCompilationDataFile.absolutePath)
|
|
||||||
|
|
||||||
return pluginOptions
|
return pluginOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
private val BaseVariantData<*>.sourceProviders: List<SourceProvider>
|
private val BaseVariantData<*>.sourceProviders: List<SourceProvider>
|
||||||
get() = variantConfiguration.sortedSourceProviders
|
get() = variantConfiguration.sortedSourceProviders
|
||||||
|
|
||||||
override fun getPluginName() = "org.jetbrains.kotlin.kapt2"
|
override fun getPluginName() = "org.jetbrains.kotlin.kapt3"
|
||||||
override fun getGroupName() = "org.jetbrains.kotlin"
|
override fun getGroupName() = "org.jetbrains.kotlin"
|
||||||
override fun getArtifactName() = "kotlin-annotation-processing"
|
override fun getArtifactName() = "kotlin-annotation-processing"
|
||||||
}
|
}
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt2GradleSubplugin
|
implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
org.jetbrains.kotlin.gradle.internal.AndroidSubplugin
|
org.jetbrains.kotlin.gradle.internal.AndroidSubplugin
|
||||||
org.jetbrains.kotlin.gradle.internal.Kapt2KotlinGradleSubplugin
|
org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin
|
||||||
Reference in New Issue
Block a user