[IC] Allow to not specify the build history file

This commit is contained in:
Alexander.Likhachev
2023-03-27 15:03:21 +02:00
committed by Space Team
parent 38a54549ff
commit e33611a88a
6 changed files with 34 additions and 24 deletions
@@ -68,7 +68,7 @@ class IncrementalCompilationOptions(
* Directories that should be cleared when IC decides to rebuild
*/
val outputFiles: List<File>,
val multiModuleICSettings: MultiModuleICSettings,
val multiModuleICSettings: MultiModuleICSettings? = null,
val modulesInfo: IncrementalModuleInfo,
kotlinScriptExtensions: Array<String>? = null,
val withAbiSnapshot: Boolean = false,
@@ -55,6 +55,7 @@ import org.jetbrains.kotlin.incremental.components.InlineConstTracker
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer
import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistoryAndroid
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistoryJs
import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistoryJvm
@@ -560,7 +561,7 @@ abstract class CompileServiceImplBase(
val compiler = IncrementalJsCompilerRunner(
workingDir = workingDir,
reporter = reporter,
buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings.buildHistoryFile,
buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings?.buildHistoryFile,
scopeExpansion = if (args.isIrBackendEnabled()) CompileScopeExpansionMode.ALWAYS else CompileScopeExpansionMode.NEVER,
modulesApiHistory = modulesApiHistory,
withAbiSnapshot = incrementalCompilationOptions.withAbiSnapshot,
@@ -605,15 +606,15 @@ abstract class CompileServiceImplBase(
val workingDir = incrementalCompilationOptions.workingDir
val modulesApiHistory = incrementalCompilationOptions.run {
reporter.info { "Use module detection: ${multiModuleICSettings.useModuleDetection}" }
val modulesApiHistory = incrementalCompilationOptions.multiModuleICSettings?.run {
reporter.info { "Use module detection: ${useModuleDetection}" }
if (!multiModuleICSettings.useModuleDetection) {
ModulesApiHistoryJvm(modulesInfo)
if (!useModuleDetection) {
ModulesApiHistoryJvm(incrementalCompilationOptions.modulesInfo)
} else {
ModulesApiHistoryAndroid(modulesInfo)
ModulesApiHistoryAndroid(incrementalCompilationOptions.modulesInfo)
}
}
} ?: EmptyModulesApiHistory
val projectRoot = incrementalCompilationOptions.modulesInfo.projectRoot
val useK2 = k2jvmArgs.useK2 || LanguageVersion.fromVersionString(k2jvmArgs.languageVersion)?.usesK2 == true
@@ -624,7 +625,7 @@ abstract class CompileServiceImplBase(
val compiler = IncrementalJvmCompilerRunner(
workingDir,
reporter,
buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings.buildHistoryFile,
buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings?.buildHistoryFile,
outputDirs = incrementalCompilationOptions.outputFiles,
usePreciseJavaTracking = usePreciseJavaTracking,
modulesApiHistory = modulesApiHistory,