From cbffface92c500f0acb8eb92eae177d84cffda63 Mon Sep 17 00:00:00 2001 From: Evgenii Mazhukin Date: Wed, 12 Feb 2025 14:34:12 +0100 Subject: [PATCH] [KGP] Move usePreciseJavaTracking into icFeatures ^KT-75155 --- .../IncrementalCompilationFeatures.kt | 11 +++++++++-- .../internal/CompilationServiceImpl.kt | 7 ++++--- .../internal/configurationAdapters.kt | 1 + .../buildtools/internal/daemonAdapters.kt | 3 +-- .../kotlin/daemon/common/CompilationOptions.kt | 2 -- .../kotlin/daemon/CompileServiceImpl.kt | 11 +++++++---- .../kotlin/incremental/CompilerRunnerUtils.kt | 18 +++++++++++------- .../IncrementalFirJvmCompilerRunner.kt | 1 - .../IncrementalJvmCompilerRunner.kt | 9 +++++++-- ...AbstractIncrementalJvmCompilerRunnerTest.kt | 6 ++++-- .../IncrementalJvmCompilerTestRunner.kt | 10 +++------- .../compilerRunner/GradleKotlinCompilerWork.kt | 3 +-- .../IncrementalCompilationEnvironment.kt | 5 ++--- .../btapi/BuildToolsApiCompilationWork.kt | 4 ++-- .../gradle/tasks/AbstractKotlinCompile.kt | 1 + .../kotlin/gradle/tasks/KotlinCompile.kt | 2 +- 16 files changed, 54 insertions(+), 40 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCompilationFeatures.kt b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCompilationFeatures.kt index 6e10a136e7330..1c9379f03851a 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCompilationFeatures.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalCompilationFeatures.kt @@ -33,8 +33,15 @@ import java.io.Serializable */ data class IncrementalCompilationFeatures( /** - * Snapshot-based cross-module IC if true, BuildHistory-based if false. + * Analyses changes in java files more carefully, but can run additional rounds of compilation. + * + * Only available in K1. See KT-57147 + */ + val usePreciseJavaTracking: Boolean = false, + /** * Snapshot-based IC is only available in JVM. + * BuildHistory-based IC is only available in JS. + * This field would be soon removed. */ val withAbiSnapshot: Boolean = false, /** @@ -71,6 +78,6 @@ data class IncrementalCompilationFeatures( companion object { val DEFAULT_CONFIGURATION = IncrementalCompilationFeatures() - const val serialVersionUID: Long = 2 + const val serialVersionUID: Long = 3L } } diff --git a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt index 9e59a2fcda434..298884bd46cfd 100644 --- a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt +++ b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/CompilationServiceImpl.kt @@ -163,11 +163,12 @@ internal object CompilationServiceImpl : CompilationService { buildReporter, buildHistoryFile = null, modulesApiHistory = EmptyModulesApiHistory, - usePreciseJavaTracking = verifiedPreciseJavaTracking, outputDirs = options.outputDirs, kotlinSourceFilesExtensions = kotlinFilenameExtensions, classpathChanges = classpathChanges, - icFeatures = options.extractIncrementalCompilationFeatures(), + icFeatures = options.extractIncrementalCompilationFeatures().copy( + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), ) val rootProjectDir = options.rootProjectDir val buildDir = options.buildDir @@ -248,4 +249,4 @@ internal object CompilationServiceImpl : CompilationService { override fun getCompilerVersion(): String = KotlinCompilerVersion.VERSION } -internal class CompilationServiceProxy : CompilationService by CompilationServiceImpl \ No newline at end of file +internal class CompilationServiceProxy : CompilationService by CompilationServiceImpl diff --git a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/configurationAdapters.kt b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/configurationAdapters.kt index 910aa9f36eb34..dd0543b90b325 100644 --- a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/configurationAdapters.kt +++ b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/configurationAdapters.kt @@ -18,6 +18,7 @@ private typealias ICConfiguration = IncrementalJvmCompilationConfiguration<*> internal fun ICConfiguration.extractIncrementalCompilationFeatures(): IncrementalCompilationFeatures { return IncrementalCompilationFeatures( + usePreciseJavaTracking = preciseJavaTrackingEnabled, withAbiSnapshot = false, preciseCompilationResultsBackup = preciseCompilationResultsBackupEnabled, keepIncrementalCompilationCachesInMemory = incrementalCompilationCachesKeptInMemory, diff --git a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/daemonAdapters.kt b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/daemonAdapters.kt index 182f83fc62c62..edd03dd274aee 100644 --- a/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/daemonAdapters.kt +++ b/compiler/build-tools/kotlin-build-tools-impl/src/main/kotlin/org/jetbrains/kotlin/buildtools/internal/daemonAdapters.kt @@ -44,7 +44,6 @@ internal val JvmCompilationConfigurationImpl.asDaemonCompilationOptions: Compila reportCategories = reportCategories, reportSeverity = reportSeverity, requestedCompilationResults = requestedCompilationResults, - usePreciseJavaTracking = options.preciseJavaTrackingEnabled, outputFiles = options.outputDirs, multiModuleICSettings = null, // required only for the build history approach modulesInfo = null, // required only for the build history approach @@ -108,4 +107,4 @@ internal fun KotlinLogger.debug(compileIterationResult: CompileIterationResult?, } } -internal fun createSessionIsAliveFlagFile() = makeAutodeletingFlagFile(keyword = "compilation-session") \ No newline at end of file +internal fun createSessionIsAliveFlagFile() = makeAutodeletingFlagFile(keyword = "compilation-session") diff --git a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt index b69b93b32ab32..ca5235c6153e4 100644 --- a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt +++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt @@ -63,7 +63,6 @@ class IncrementalCompilationOptions( reportSeverity: Int, /** @See [CompilationResultCategory]] */ requestedCompilationResults: Array, - val usePreciseJavaTracking: Boolean, /** Use new JvmBaseFirRunner */ val useJvmFirRunner: Boolean, /** @@ -98,7 +97,6 @@ class IncrementalCompilationOptions( "classpathChanges=${classpathChanges::class.simpleName}, " + "workingDir=$workingDir, " + "multiModuleICSettings=$multiModuleICSettings, " + - "usePreciseJavaTracking=$usePreciseJavaTracking, " + "icFeatures=$icFeatures, " + "outputFiles=$outputFiles" + ")" diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index ce1b18564a5f7..ccc6a86247f47 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -663,7 +663,7 @@ abstract class CompileServiceImplBase( } val verifiedPreciseJavaTracking = k2jvmArgs.disablePreciseJavaTrackingIfK2( - usePreciseJavaTrackingByDefault = incrementalCompilationOptions.usePreciseJavaTracking + usePreciseJavaTrackingByDefault = incrementalCompilationOptions.icFeatures.usePreciseJavaTracking ) val compiler = if (incrementalCompilationOptions.useJvmFirRunner) { @@ -675,7 +675,9 @@ abstract class CompileServiceImplBase( kotlinSourceFilesExtensions = allKotlinExtensions, outputDirs = incrementalCompilationOptions.outputFiles, classpathChanges = incrementalCompilationOptions.classpathChanges, - icFeatures = incrementalCompilationOptions.icFeatures, + icFeatures = incrementalCompilationOptions.icFeatures.copy( + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), ) } else { IncrementalJvmCompilerRunner( @@ -683,11 +685,12 @@ abstract class CompileServiceImplBase( reporter, buildHistoryFile = incrementalCompilationOptions.multiModuleICSettings?.buildHistoryFile, outputDirs = incrementalCompilationOptions.outputFiles, - usePreciseJavaTracking = verifiedPreciseJavaTracking, modulesApiHistory = modulesApiHistory, kotlinSourceFilesExtensions = allKotlinExtensions, classpathChanges = incrementalCompilationOptions.classpathChanges, - icFeatures = incrementalCompilationOptions.icFeatures, + icFeatures = incrementalCompilationOptions.icFeatures.copy( + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), ) } return try { diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt index 10fb53ba5f3fe..78b199a0c1678 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt @@ -33,7 +33,7 @@ var K2JVMCompilerArguments.classpathAsList: List } val K2JVMCompilerArguments.isK1ForcedByKapt: Boolean - // coordinated with org.jetbrains.kotlin.cli.common.ArgumentsKt.switchToFallbackModeIfNecessary + // coordinated with org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.shouldRunK2 get() { val isK2 = languageVersion?.startsWith('2') != false val isKaptUsed = pluginOptions?.any { it.startsWith("plugin:org.jetbrains.kotlin.kapt3") } == true @@ -71,6 +71,7 @@ fun makeJvmIncrementally( withIncrementalCompilation(args) { val languageVersion = LanguageVersion.fromVersionString(args.languageVersion) ?: LanguageVersion.LATEST_STABLE val useK2 = languageVersion.usesK2 + val verifiedPreciseJavaTracking = args.disablePreciseJavaTrackingIfK2(usePreciseJavaTrackingByDefault = true) val compiler = if (useK2 && args.useFirIC && args.useFirLT /* TODO by @Ilya.Chernikov: move LT check into runner */) { @@ -81,20 +82,23 @@ fun makeJvmIncrementally( outputDirs = null, EmptyModulesApiHistory, kotlinExtensions, - ClasspathChanges.ClasspathSnapshotDisabled + ClasspathChanges.ClasspathSnapshotDisabled, + icFeatures = IncrementalCompilationFeatures( + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), ) } else { - val verifiedPreciseJavaTracking = args.disablePreciseJavaTrackingIfK2(usePreciseJavaTrackingByDefault = true) IncrementalJvmCompilerRunner( cachesDir, buildReporter, - // Use precise setting in case of non-Gradle build - usePreciseJavaTracking = verifiedPreciseJavaTracking, buildHistoryFile = buildHistoryFile, outputDirs = null, modulesApiHistory = EmptyModulesApiHistory, kotlinSourceFilesExtensions = kotlinExtensions, - classpathChanges = ClasspathChanges.ClasspathSnapshotDisabled + classpathChanges = ClasspathChanges.ClasspathSnapshotDisabled, + icFeatures = IncrementalCompilationFeatures( + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), ) } //TODO by @Ilya.Chernikov set properly @@ -115,4 +119,4 @@ inline fun withIncrementalCompilation(args: CommonCompilerArguments, enabled } finally { IncrementalCompilation.setIsEnabledForJvm(isEnabledBackup) } -} \ No newline at end of file +} diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt index 77a15395bcfff..8605bdf2e7ba2 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt @@ -66,7 +66,6 @@ open class IncrementalFirJvmCompilerRunner( ) : IncrementalJvmCompilerRunner( workingDir, reporter, - false, buildHistoryFile, outputDirs, modulesApiHistory, diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 6c895bd42e505..d1accf4a3ce5d 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -16,6 +16,12 @@ package org.jetbrains.kotlin.incremental +import com.intellij.lang.java.JavaLanguage +import com.intellij.openapi.util.Disposer +import com.intellij.psi.PsiClass +import com.intellij.psi.PsiFile +import com.intellij.psi.PsiFileFactory +import com.intellij.psi.PsiJavaFile import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS import org.jetbrains.kotlin.build.GeneratedFile import org.jetbrains.kotlin.build.GeneratedJvmClass @@ -61,7 +67,6 @@ import java.io.File open class IncrementalJvmCompilerRunner( workingDir: File, reporter: BuildReporter, - usePreciseJavaTracking: Boolean, buildHistoryFile: File?, outputDirs: Collection?, private val modulesApiHistory: ModulesApiHistory, @@ -90,7 +95,7 @@ open class IncrementalJvmCompilerRunner( private val messageCollector = MessageCollectorImpl() private val javaInteropCoordinator = JavaInteropCoordinator( - usePreciseJavaTracking, + icFeatures.usePreciseJavaTracking, messageCollector, reporter ) diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt index e6865aa2acb46..b84b21fdab638 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt @@ -93,13 +93,15 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom IncrementalJvmCompilerTestRunner( cachesDir, buildReporter, - // Use precise setting in case of non-Gradle build - usePreciseJavaTracking = verifiedPreciseJavaTracking, buildHistoryFile = buildHistoryFile, outputDirs = null, modulesApiHistory = EmptyModulesApiHistory, kotlinSourceFilesExtensions = kotlinExtensions, classpathChanges = ClasspathChanges.ClasspathSnapshotDisabled, + icFeatures = IncrementalCompilationFeatures( + withAbiSnapshot = false, + usePreciseJavaTracking = verifiedPreciseJavaTracking + ), testLookupTracker = testLookupTracker ) } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerTestRunner.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerTestRunner.kt index 1fe2949eef405..8276a37905692 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerTestRunner.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerTestRunner.kt @@ -15,26 +15,22 @@ import java.io.File class IncrementalJvmCompilerTestRunner( workingDir: File, val testReporter: TestBuildReporter, - usePreciseJavaTracking: Boolean, buildHistoryFile: File, outputDirs: Collection?, modulesApiHistory: ModulesApiHistory, override val kotlinSourceFilesExtensions: Set = DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS, classpathChanges: ClasspathChanges, - withAbiSnapshot: Boolean = false, + icFeatures: IncrementalCompilationFeatures, val testLookupTracker: TestLookupTracker ) : IncrementalJvmCompilerRunner( workingDir, testReporter, - usePreciseJavaTracking, buildHistoryFile, outputDirs, modulesApiHistory, kotlinSourceFilesExtensions, classpathChanges, - icFeatures = IncrementalCompilationFeatures( - withAbiSnapshot = withAbiSnapshot - ), + icFeatures, ) { override fun createCacheManager(icContext: IncrementalCompilationContext, args: K2JVMCompilerArguments): IncrementalJvmCachesManager = object : IncrementalJvmCachesManager( @@ -56,4 +52,4 @@ class IncrementalJvmCompilerTestRunner( override fun getLookupTrackerDelegate() = testLookupTracker -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerWork.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerWork.kt index 7ba02ddae356f..3621116ef9fa9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerWork.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerWork.kt @@ -310,7 +310,6 @@ internal class GradleKotlinCompilerWork @Inject constructor( requestedCompilationResults = requestedCompilationResults.map { it.code }.toTypedArray(), compilerMode = CompilerMode.INCREMENTAL_COMPILER, targetPlatform = targetPlatform, - usePreciseJavaTracking = icEnv.usePreciseJavaTracking, outputFiles = config.outputFiles, multiModuleICSettings = icEnv.multiModuleICSettings, modulesInfo = config.incrementalModuleInfo, @@ -433,4 +432,4 @@ internal class GradleKotlinCompilerWork @Inject constructor( } else { ReportSeverity.DEBUG.code } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationEnvironment.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationEnvironment.kt index 65db942d1ad2e..eca17cbaa863e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationEnvironment.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationEnvironment.kt @@ -18,13 +18,12 @@ internal class IncrementalCompilationEnvironment( val workingDir: File, val rootProjectDir: File, val buildDir: File, - val usePreciseJavaTracking: Boolean = false, val disableMultiModuleIC: Boolean = false, val multiModuleICSettings: MultiModuleICSettings, val icFeatures: IncrementalCompilationFeatures = IncrementalCompilationFeatures.DEFAULT_CONFIGURATION, val useJvmFirRunner: Boolean = false, ) : Serializable { companion object { - const val serialVersionUID: Long = 5 + const val serialVersionUID: Long = 6L } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/btapi/BuildToolsApiCompilationWork.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/btapi/BuildToolsApiCompilationWork.kt index 03b5ef8cebe17..136f869d08ce0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/btapi/BuildToolsApiCompilationWork.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/compilerRunner/btapi/BuildToolsApiCompilationWork.kt @@ -86,7 +86,7 @@ internal abstract class BuildToolsApiCompilationWork @Inject constructor( val classpathSnapshotsConfig = jvmCompilationConfig.makeClasspathSnapshotBasedIncrementalCompilationConfiguration() .setRootProjectDir(icEnv.rootProjectDir) .setBuildDir(icEnv.buildDir) - .usePreciseJavaTracking(icEnv.usePreciseJavaTracking) + .usePreciseJavaTracking(icEnv.icFeatures.usePreciseJavaTracking) .usePreciseCompilationResultsBackup(icEnv.icFeatures.preciseCompilationResultsBackup) .keepIncrementalCompilationCachesInMemory(icEnv.icFeatures.keepIncrementalCompilationCachesInMemory) .useOutputDirs(workArguments.outputFiles) @@ -170,4 +170,4 @@ internal object SharedApiClassesClassLoaderProvider : ParentClassLoaderProvider override fun hashCode() = SharedApiClassesClassLoaderProvider::class.hashCode() override fun equals(other: Any?) = other is SharedApiClassesClassLoaderProvider -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt index d5fdef4b683ff..dd28228e441a5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt @@ -286,6 +286,7 @@ abstract class AbstractKotlinCompile @Inject constr */ protected open fun makeIncrementalCompilationFeatures(): IncrementalCompilationFeatures { return IncrementalCompilationFeatures( + usePreciseJavaTracking = false, // not generally applicable preciseCompilationResultsBackup = preciseCompilationResultsBackup.get(), keepIncrementalCompilationCachesInMemory = keepIncrementalCompilationCachesInMemory.get(), enableUnsafeIncrementalCompilationForMultiplatform = enableUnsafeIncrementalCompilationForMultiplatform.get(), diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt index 61671e9bdf181..85ea80ecba6be 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinCompile.kt @@ -348,7 +348,6 @@ abstract class KotlinCompile @Inject constructor( workingDir = taskBuildCacheableOutputDirectory.get().asFile, rootProjectDir = projectRootDir, buildDir = projectLayout.buildDirectory.getFile(), - usePreciseJavaTracking = usePreciseJavaTracking, disableMultiModuleIC = disableMultiModuleIC, multiModuleICSettings = multiModuleICSettings, icFeatures = makeIncrementalCompilationFeatures(), @@ -498,6 +497,7 @@ abstract class KotlinCompile @Inject constructor( // jvm-specific incremental compilation features override fun makeIncrementalCompilationFeatures(): IncrementalCompilationFeatures { return super.makeIncrementalCompilationFeatures().copy( + usePreciseJavaTracking = usePreciseJavaTracking, /* Disabled on JVM in favor of classpath snapshot machinery */ withAbiSnapshot = false, )