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