From fe0f9005b0846c571ec1f0dbe7ae2d3aed7883ff Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 19 Oct 2018 23:04:12 +0300 Subject: [PATCH] Kapt: Allow to use class output directory as a generated class output --- .../src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt index fcf69db048e..d4a5ba0ecca 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/Kapt3Plugin.kt @@ -277,10 +277,18 @@ class Kapt3ComponentRegistrar : ComponentRegistrar { } val sourcesOutputDir = configuration.get(Kapt3ConfigurationKeys.SOURCE_OUTPUT_DIR)?.let(::File) - val classFilesOutputDir = configuration.get(Kapt3ConfigurationKeys.CLASS_OUTPUT_DIR)?.let(::File) val stubsOutputDir = configuration.get(Kapt3ConfigurationKeys.STUBS_OUTPUT_DIR)?.let(::File) val incrementalDataOutputDir = configuration.get(Kapt3ConfigurationKeys.INCREMENTAL_DATA_OUTPUT_DIR)?.let(::File) + val classFilesOutputDir = configuration.get(Kapt3ConfigurationKeys.CLASS_OUTPUT_DIR)?.let(::File) + ?: configuration.get(JVMConfigurationKeys.OUTPUT_DIRECTORY) + + if (classFilesOutputDir == null && configuration.get(JVMConfigurationKeys.OUTPUT_JAR) != null) { + logger.error("Kapt does not support specifying JAR file outputs. Please specify the classes output directory explicitly.") + abortAnalysis() + return + } + val annotationProcessors = configuration.get(Kapt3ConfigurationKeys.ANNOTATION_PROCESSORS) ?: emptyList() val apClasspath = configuration.get(ANNOTATION_PROCESSOR_CLASSPATH)?.map(::File) ?: emptyList()