diff --git a/build.xml b/build.xml
index feadab0b9b8..74e4a20b81f 100644
--- a/build.xml
+++ b/build.xml
@@ -844,17 +844,21 @@
-
+
+
-
-
+
+
+
@@ -866,7 +870,7 @@
-
+
diff --git a/compiler/compiler.pro b/compiler/compiler.pro
index cb4265b14ec..86fa9d6706a 100644
--- a/compiler/compiler.pro
+++ b/compiler/compiler.pro
@@ -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;
diff --git a/libraries/tools/kotlin-annotation-processing/pom.xml b/libraries/tools/kotlin-annotation-processing/pom.xml
index 2a00a8c2a09..b4a06244e22 100755
--- a/libraries/tools/kotlin-annotation-processing/pom.xml
+++ b/libraries/tools/kotlin-annotation-processing/pom.xml
@@ -7,8 +7,7 @@
3.0.4
${basedir}/src/main/kotlin
- ${basedir}/../../../plugins/annotation-processing/src
- ${basedir}/../../../plugins/java-model-wrappers/src
+ ${basedir}/../../../plugins/kapt3/src
${basedir}/target/src/main/kotlin
${basedir}/target/src/test/kotlin
${basedir}/target/resource
@@ -83,7 +82,6 @@
${annotation-processing.target-src}
${annotation-processing.src}
- ${java-model-wrappers.src}
${old-kapt.src}
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt2KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt
similarity index 86%
rename from libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt2KotlinGradleSubplugin.kt
rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt
index e536bd6feb8..b6f2b39feb9 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt2KotlinGradleSubplugin.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/Kapt3KotlinGradleSubplugin.kt
@@ -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 {
+// apply plugin: 'kotlin-kapt'
+class Kapt3GradleSubplugin : Plugin {
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 {
+class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin {
companion object {
private val VERBOSE_OPTION_NAME = "kapt.verbose"
@@ -52,10 +52,10 @@ class Kapt2KotlinGradleSubplugin : KotlinGradleSubplugin {
}
}
- 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 {
val kaptClasspath = arrayListOf()
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 {
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
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"
}
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-kapt.properties b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-kapt.properties
index 750daf39fac..3249724c1c1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-kapt.properties
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/gradle-plugins/kotlin-kapt.properties
@@ -1 +1 @@
-implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt2GradleSubplugin
\ No newline at end of file
+implementation-class=org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
index 70f073c8d95..9291a3aa382 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
@@ -1,2 +1,2 @@
org.jetbrains.kotlin.gradle.internal.AndroidSubplugin
-org.jetbrains.kotlin.gradle.internal.Kapt2KotlinGradleSubplugin
\ No newline at end of file
+org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin
\ No newline at end of file