From bfc608de299a05cfb8d68cc3851c2f92bd4c43f4 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 28 Jun 2018 22:53:34 +0300 Subject: [PATCH] Close kapt context --- .../src/org/jetbrains/kotlin/kapt3/base/KaptContext.kt | 3 ++- .../src/org/jetbrains/kotlin/kapt3/Kapt3Extension.kt | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptContext.kt b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptContext.kt index c939ced80dd..55e08d29d11 100644 --- a/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptContext.kt +++ b/plugins/kapt3/kapt3-base/src/org/jetbrains/kotlin/kapt3/base/KaptContext.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.kapt3.base.javac.KaptJavaLog import org.jetbrains.kotlin.kapt3.base.util.KaptLogger import org.jetbrains.kotlin.kapt3.base.util.isJava9OrLater import org.jetbrains.kotlin.kapt3.base.util.putJavacOption +import java.io.Closeable import java.io.File import javax.tools.JavaFileManager @@ -27,7 +28,7 @@ open class KaptContext( private val mapDiagnosticLocations: Boolean, processorOptions: Map, javacOptions: Map = emptyMap() -) : AutoCloseable { +) : Closeable { val context = Context() val compiler: KaptJavaCompiler val fileManager: KaptJavaFileManager 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 743887dabae..809b8a81b22 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 @@ -149,8 +149,9 @@ abstract class AbstractKapt3Extension( if (aptMode.generateStubs) { logger.info { "Kotlin files to compile: " + files.map { it.virtualFile?.name ?: "" } } - val kaptContext = compileStubs(project, module, bindingContext, files.toList()) - generateKotlinSourceStubs(kaptContext) + contextForStubGeneration(project, module, bindingContext, files.toList()).use { context -> + generateKotlinSourceStubs(context) + } } if (!aptMode.runAnnotationProcessing) return doNotGenerateCode() @@ -212,7 +213,7 @@ abstract class AbstractKapt3Extension( logger.info { "Annotation processing took $annotationProcessingTime ms" } } - private fun compileStubs( + private fun contextForStubGeneration( project: Project, module: ModuleDescriptor, bindingContext: BindingContext,