From 5bf563288602cf81b2227a80a4b8f1f2b9e388c1 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Sat, 23 Jun 2018 01:27:35 +0300 Subject: [PATCH] Do not load annotation processors when generating stubs #KT-25131 fixed --- .../jetbrains/kotlin/kapt3/Kapt3Extension.kt | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt index 0fd9fa1ddb8..743887dabae 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt @@ -145,10 +145,20 @@ abstract class AbstractKapt3Extension( logger.info { "Initial analysis took ${System.currentTimeMillis() - pluginInitializedTime} ms" } + val bindingContext = bindingTrace.bindingContext + if (aptMode.generateStubs) { + logger.info { "Kotlin files to compile: " + files.map { it.virtualFile?.name ?: "" } } + + val kaptContext = compileStubs(project, module, bindingContext, files.toList()) + generateKotlinSourceStubs(kaptContext) + } + + if (!aptMode.runAnnotationProcessing) return doNotGenerateCode() + val processors = loadProcessors() if (processors.isEmpty()) return if (aptMode != WITH_COMPILATION) doNotGenerateCode() else null - val kaptContext = generateStubs(project, module, bindingTrace.bindingContext, files) + val kaptContext = KaptContext(paths, false, logger, mapDiagnosticLocations, options, javacOptions) fun handleKaptError(error: KaptError): AnalysisResult { val cause = error.cause @@ -189,23 +199,6 @@ abstract class AbstractKapt3Extension( } } - private fun generateStubs( - project: Project, - module: ModuleDescriptor, - context: BindingContext, - files: Collection - ): KaptContext { - if (!aptMode.generateStubs) { - return KaptContext(paths, false, logger, mapDiagnosticLocations, options, javacOptions) - } - - logger.info { "Kotlin files to compile: " + files.map { it.virtualFile?.name ?: "" } } - - return compileStubs(project, module, context, files.toList()).apply { - generateKotlinSourceStubs(this) - } - } - private fun runAnnotationProcessing(kaptContext: KaptContext, processors: List) { if (!aptMode.runAnnotationProcessing) return