[KGP] Introduce Incremental Compilation Feature Toggles
Makes it easier to introduce a Gradle property for configuring IncrementalCompilerRunner. ^KT-64513 Fixed ^KT-63837 In Progress Merge-request: KT-MR-13671 Merged-by: Evgenii Mazhukin <evgenii.mazhukin@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
97f8f7a734
commit
ee3119e9d2
+2
-3
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.daemon.client.BasicCompilerServicesWithResultsFacade
|
||||
import org.jetbrains.kotlin.daemon.common.CompilerId
|
||||
import org.jetbrains.kotlin.daemon.common.configureDaemonJVMOptions
|
||||
import org.jetbrains.kotlin.daemon.common.filterExtractProps
|
||||
import org.jetbrains.kotlin.incremental.IncrementalCompilationFeatures
|
||||
import org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner
|
||||
import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathEntrySnapshotter
|
||||
import org.jetbrains.kotlin.incremental.extractKotlinSourcesFromFreeCompilerArguments
|
||||
@@ -153,9 +154,7 @@ internal object CompilationServiceImpl : CompilationService {
|
||||
outputDirs = options.outputDirs,
|
||||
kotlinSourceFilesExtensions = kotlinFilenameExtensions,
|
||||
classpathChanges = classpathChanges,
|
||||
withAbiSnapshot = false,
|
||||
preciseCompilationResultsBackup = options.preciseCompilationResultsBackupEnabled,
|
||||
keepIncrementalCompilationCachesInMemory = options.incrementalCompilationCachesKeptInMemory
|
||||
icFeatures = options.extractIncrementalCompilationFeatures(),
|
||||
)
|
||||
val rootProjectDir = options.rootProjectDir
|
||||
val buildDir = options.buildDir
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.buildtools.internal
|
||||
|
||||
import org.jetbrains.kotlin.buildtools.api.jvm.IncrementalJvmCompilationConfiguration
|
||||
import org.jetbrains.kotlin.incremental.IncrementalCompilationFeatures
|
||||
|
||||
private typealias ICConfiguration = IncrementalJvmCompilationConfiguration<*>
|
||||
|
||||
/**
|
||||
* IncrementalJvmCompilationConfiguration provides single-property API for forward-compatibility.
|
||||
*
|
||||
* configurationAdapters are there to regroup the properties and work with higher-level interfaces.
|
||||
*/
|
||||
|
||||
internal fun ICConfiguration.extractIncrementalCompilationFeatures(): IncrementalCompilationFeatures {
|
||||
return IncrementalCompilationFeatures(
|
||||
withAbiSnapshot = false,
|
||||
preciseCompilationResultsBackup = preciseCompilationResultsBackupEnabled,
|
||||
keepIncrementalCompilationCachesInMemory = incrementalCompilationCachesKeptInMemory,
|
||||
)
|
||||
}
|
||||
+1
-3
@@ -53,9 +53,7 @@ internal val JvmCompilationConfigurationImpl.asDaemonCompilationOptions: Compila
|
||||
rootProjectDir = options.rootProjectDir,
|
||||
buildDir = options.buildDir,
|
||||
kotlinScriptExtensions = ktsExtensionsAsArray,
|
||||
withAbiSnapshot = false,
|
||||
preciseCompilationResultsBackup = options.preciseCompilationResultsBackupEnabled,
|
||||
keepIncrementalCompilationCachesInMemory = options.incrementalCompilationCachesKeptInMemory,
|
||||
icFeatures = options.extractIncrementalCompilationFeatures(),
|
||||
)
|
||||
}
|
||||
else -> CompilationOptions(
|
||||
|
||||
Reference in New Issue
Block a user