diff --git a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/IncrementalCompilationServicesFacade.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/IncrementalCompilationServicesFacade.kt index 5f451c43fa1..06bd30fa347 100644 --- a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/IncrementalCompilationServicesFacade.kt +++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/IncrementalCompilationServicesFacade.kt @@ -34,6 +34,12 @@ interface IncrementalCompilationServicesFacade : Remote { @Throws(RemoteException::class) fun workingDir(): File + @Throws(RemoteException::class) + fun customCacheVersionFileName(): String + + @Throws(RemoteException::class) + fun customCacheVersion(): Int + // ICReporter @Throws(RemoteException::class) diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index b1c6c19241f..eca80876bcd 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -362,7 +362,8 @@ class CompileServiceImpl( val changesRegistry = RemoteChangesRegostry(servicesFacade) val workingDir = servicesFacade.workingDir() - val versions = commonCacheVersions(workingDir) + standaloneCacheVersion(workingDir, forceEnable = true) + val versions = commonCacheVersions(workingDir) + + customCacheVersion(servicesFacade.customCacheVersion(), servicesFacade.customCacheVersionFileName(), workingDir, forceEnable = true) try { printStream.print(renderer.renderPreamble()) diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/cacheVersions.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/cacheVersions.kt index ab65f155ad9..07c03d3f515 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/cacheVersions.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/cacheVersions.kt @@ -22,9 +22,12 @@ import java.io.File internal const val STANDALONE_CACHE_VERSION = 0 internal const val STANDALONE_VERSION_FILE_NAME = "standalone-ic-format-version.txt" -fun standaloneCacheVersion(dataRoot: File, forceEnable: Boolean = false): CacheVersion = - CacheVersion(ownVersion = STANDALONE_CACHE_VERSION, - versionFile = File(dataRoot, STANDALONE_VERSION_FILE_NAME), +fun standaloneCacheVersion(dataRoot: File): CacheVersion = + customCacheVersion(STANDALONE_CACHE_VERSION, STANDALONE_VERSION_FILE_NAME, dataRoot) + +fun customCacheVersion(version: Int, fileName: String, dataRoot: File, forceEnable: Boolean = false): CacheVersion = + CacheVersion(ownVersion = version, + versionFile = File(dataRoot, fileName), whenVersionChanged = CacheVersion.Action.REBUILD_ALL_KOTLIN, whenTurnedOn = CacheVersion.Action.REBUILD_ALL_KOTLIN, whenTurnedOff = CacheVersion.Action.REBUILD_ALL_KOTLIN, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationFacadeImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationFacadeImpl.kt index 9358f7b0ddb..37b50a1b315 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationFacadeImpl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/IncrementalCompilationFacadeImpl.kt @@ -25,6 +25,8 @@ import org.jetbrains.kotlin.daemon.incremental.toDirtyData import org.jetbrains.kotlin.daemon.incremental.toSimpleDirtyData import org.jetbrains.kotlin.incremental.ChangedFiles import org.jetbrains.kotlin.incremental.DirtyData +import org.jetbrains.kotlin.incremental.GRADLE_CACHE_VERSION +import org.jetbrains.kotlin.incremental.GRADLE_CACHE_VERSION_FILE_NAME import org.jetbrains.kotlin.incremental.multiproject.ArtifactDifference import org.jetbrains.kotlin.resolve.jvm.JvmClassName import java.io.File @@ -64,6 +66,12 @@ internal class IncrementalCompilationFacadeImpl( return environment.workingDir } + override fun customCacheVersion(): Int = + GRADLE_CACHE_VERSION + + override fun customCacheVersionFileName(): String = + GRADLE_CACHE_VERSION_FILE_NAME + override fun hasAnnotationsFileUpdater(): Boolean { return environment.kaptAnnotationsFileUpdater != null } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 9f86d41db81..c23aaa69567 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -26,6 +26,7 @@ import org.gradle.api.tasks.SourceTask import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.compile.AbstractCompile import org.gradle.api.tasks.incremental.IncrementalTaskInputs +import org.gradle.util.GradleVersion import org.jetbrains.kotlin.annotation.AnnotationFileUpdater import org.jetbrains.kotlin.annotation.AnnotationFileUpdaterImpl import org.jetbrains.kotlin.cli.common.CLICompiler diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/gradleCacheVersion.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/gradleCacheVersion.kt index 7eac0969a14..9a382cb08b0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/gradleCacheVersion.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/incremental/gradleCacheVersion.kt @@ -16,16 +16,10 @@ package org.jetbrains.kotlin.incremental -import org.jetbrains.kotlin.config.IncrementalCompilation import java.io.File internal const val GRADLE_CACHE_VERSION = 3 internal const val GRADLE_CACHE_VERSION_FILE_NAME = "gradle-format-version.txt" internal fun gradleCacheVersion(dataRoot: File): CacheVersion = - CacheVersion(ownVersion = GRADLE_CACHE_VERSION, - versionFile = File(dataRoot, GRADLE_CACHE_VERSION_FILE_NAME), - whenVersionChanged = CacheVersion.Action.REBUILD_ALL_KOTLIN, - whenTurnedOn = CacheVersion.Action.REBUILD_ALL_KOTLIN, - whenTurnedOff = CacheVersion.Action.REBUILD_ALL_KOTLIN, - isEnabled = { IncrementalCompilation.isExperimental() }) + customCacheVersion(GRADLE_CACHE_VERSION, GRADLE_CACHE_VERSION_FILE_NAME, dataRoot)