KT-52038 Kapt. Disable FIR for kapt run automatically

This commit is contained in:
Simon Ogorodnik
2022-04-26 15:34:43 +03:00
committed by Space
parent ca602d76df
commit 1c90d8a960
@@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.analyzer.AnalysisResult
import org.jetbrains.kotlin.base.kapt3.*
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot
@@ -67,6 +68,13 @@ class Kapt3CommandLineProcessor : CommandLineProcessor {
if (option !is KaptCliOption) {
throw CliOptionProcessingException("Unknown option: ${option.optionName}")
}
if (configuration.getBoolean(CommonConfigurationKeys.USE_FIR)) {
configuration[CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY]?.report(
CompilerMessageSeverity.STRONG_WARNING,
"ATTENTION!\n kapt currently doesn't support experimental K2 compiler, disabling K2 for kapt run"
)
configuration.put(CommonConfigurationKeys.USE_FIR, false)
}
val kaptOptions = configuration[KAPT_OPTIONS]
?: KaptOptions.Builder().also { configuration.put(KAPT_OPTIONS, it) }