Kapt3: Replace kapt2 in Ant and Maven artifacts with kapt3
This commit is contained in:
committed by
Yan Zhulanow
parent
64046f1e40
commit
bd9d33fe44
@@ -844,17 +844,21 @@
|
||||
|
||||
<target name="annotation-processing">
|
||||
<cleandir dir="${output}/classes/annotation-processing"/>
|
||||
<javac2 destdir="${output}/classes/annotation-processing" debug="true" debuglevel="lines,vars,source"
|
||||
|
||||
<property environment="env"/>
|
||||
|
||||
<javac2 destdir="${output}/classes/annotation-processing" debug="true" debuglevel="lines,vars,source"
|
||||
includeAntRuntime="false" source="${java.target}" target="${java.target}">
|
||||
<withKotlin modulename="annotation-processing">
|
||||
<compilerarg value="-version"/>
|
||||
</withKotlin>
|
||||
<skip pattern="kotlin/Metadata"/>
|
||||
<src>
|
||||
<pathelement path="plugins/annotation-processing/src"/>
|
||||
<pathelement path="plugins/java-model-wrappers/src"/>
|
||||
<pathelement path="plugins/kapt3/src"/>
|
||||
</src>
|
||||
<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="${kotlin-home}/lib/kotlin-compiler.jar"/>
|
||||
<pathelement path="${bootstrap.runtime}"/>
|
||||
@@ -866,7 +870,7 @@
|
||||
<jar destfile="${kotlin-home}/lib/kotlin-annotation-processing.jar">
|
||||
<fileset dir="${output}/classes/annotation-processing"/>
|
||||
<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>
|
||||
</target>
|
||||
|
||||
|
||||
@@ -167,6 +167,21 @@ messages/**)
|
||||
*** 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 {
|
||||
*** SKIP_CODE;
|
||||
*** SKIP_DEBUG;
|
||||
|
||||
@@ -7,8 +7,7 @@
|
||||
<properties>
|
||||
<maven.version>3.0.4</maven.version>
|
||||
<old-kapt.src>${basedir}/src/main/kotlin</old-kapt.src>
|
||||
<annotation-processing.src>${basedir}/../../../plugins/annotation-processing/src</annotation-processing.src>
|
||||
<java-model-wrappers.src>${basedir}/../../../plugins/java-model-wrappers/src</java-model-wrappers.src>
|
||||
<annotation-processing.src>${basedir}/../../../plugins/kapt3/src</annotation-processing.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-resource>${basedir}/target/resource</annotation-processing.target-resource>
|
||||
@@ -83,7 +82,6 @@
|
||||
<outputDirectory>${annotation-processing.target-src}</outputDirectory>
|
||||
<resources>
|
||||
<resource><directory>${annotation-processing.src}</directory></resource>
|
||||
<resource><directory>${java-model-wrappers.src}</directory></resource>
|
||||
<resource><directory>${old-kapt.src}</directory></resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
|
||||
+11
-14
@@ -33,17 +33,17 @@ import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import java.io.File
|
||||
|
||||
// apply plugin: 'kotlin-kapt2'
|
||||
class Kapt2GradleSubplugin : Plugin<Project> {
|
||||
// apply plugin: 'kotlin-kapt'
|
||||
class Kapt3GradleSubplugin : Plugin<Project> {
|
||||
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) {}
|
||||
}
|
||||
|
||||
// Subplugin for the Kotlin Gradle plugin
|
||||
class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
companion object {
|
||||
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 {
|
||||
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? {
|
||||
@@ -75,10 +75,10 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
val kaptClasspath = arrayListOf<File>()
|
||||
|
||||
fun handleSourceSet(sourceSetName: String) {
|
||||
val kapt2Configuration = project.findKaptConfiguration(sourceSetName)
|
||||
if (kapt2Configuration != null && kapt2Configuration.dependencies.size > 1) {
|
||||
javaCompile.dependsOn(kapt2Configuration.buildDependencies)
|
||||
kaptClasspath.addAll(kapt2Configuration.resolve())
|
||||
val kaptConfiguration = project.findKaptConfiguration(sourceSetName)
|
||||
if (kaptConfiguration != null && kaptConfiguration.dependencies.size > 1) {
|
||||
javaCompile.dependsOn(kaptConfiguration.buildDependencies)
|
||||
kaptClasspath.addAll(kaptConfiguration.resolve())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,16 +136,13 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
|
||||
val annotationsFile = File(kotlinCompile.taskBuildDirectory, "source-annotations.txt")
|
||||
kotlinCompile.sourceAnnotationsRegistry = SourceAnnotationsRegistry(annotationsFile)
|
||||
|
||||
val incrementalCompilationDataFile = File(project.buildDir, "tmp/kapt2/$sourceSetName/incrementalData.txt")
|
||||
pluginOptions += SubpluginOption("incrementalData", incrementalCompilationDataFile.absolutePath)
|
||||
|
||||
return pluginOptions
|
||||
}
|
||||
|
||||
private val BaseVariantData<*>.sourceProviders: List<SourceProvider>
|
||||
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 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.Kapt2KotlinGradleSubplugin
|
||||
org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin
|
||||
Reference in New Issue
Block a user