Kapt3: Replace kapt2 in Ant and Maven artifacts with kapt3

This commit is contained in:
Yan Zhulanow
2016-10-29 03:25:03 +03:00
committed by Yan Zhulanow
parent 64046f1e40
commit bd9d33fe44
6 changed files with 37 additions and 23 deletions
+8 -4
View File
@@ -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>
+15
View File
@@ -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>
@@ -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 @@
implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt2GradleSubplugin
implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
@@ -1,2 +1,2 @@
org.jetbrains.kotlin.gradle.internal.AndroidSubplugin
org.jetbrains.kotlin.gradle.internal.Kapt2KotlinGradleSubplugin
org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin