From 20d6f019190aeac8a25b9afa9b2e2341f2cf60fe Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 23 Sep 2015 20:00:29 +0300 Subject: [PATCH] Write cache version only if incremental compilation is enabled Original commit: b6bbc4015beb351c5c38032b5e728c94a3bcaf1e --- .../jetbrains/kotlin/jps/incremental/CacheFormatVersion.kt | 2 ++ .../kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt | 7 +++++++ .../lazyKotlinCaches/class/expected-kotlin-caches.txt | 2 ++ .../lazyKotlinCaches/function/expected-kotlin-caches.txt | 2 ++ .../inlineFunctionDeclared/expected-kotlin-caches.txt | 2 ++ .../inlineFunctionInlined/expected-kotlin-caches.txt | 2 ++ 6 files changed, 17 insertions(+) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/CacheFormatVersion.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/CacheFormatVersion.kt index 473dad5d1af..7e3fab51be1 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/CacheFormatVersion.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/CacheFormatVersion.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.jps.incremental import org.jetbrains.annotations.TestOnly +import org.jetbrains.kotlin.config.IncrementalCompilation import org.jetbrains.kotlin.jps.build.KotlinBuilder import org.jetbrains.kotlin.load.java.JvmAbi import java.io.File @@ -37,6 +38,7 @@ class CacheFormatVersion(targetDataRoot: File) { private val file = File(targetDataRoot, FORMAT_VERSION_FILE_PATH) fun isIncompatible(): Boolean { + assert(IncrementalCompilation.ENABLED) { "Incremental compilation is not enabled" } if (!file.exists()) return false val versionNumber = file.readText().toInt() diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt index 91e17db91ce..7cbe409cc37 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt @@ -17,8 +17,10 @@ package org.jetbrains.kotlin.jps.build import com.intellij.testFramework.UsefulTestCase +import org.jetbrains.kotlin.config.IncrementalCompilation import org.jetbrains.kotlin.jps.incremental.IncrementalCacheImpl import org.jetbrains.kotlin.jps.incremental.getCacheDirectoryName +import org.jetbrains.kotlin.jps.incremental.getKotlinCacheVersion import org.jetbrains.kotlin.utils.Printer import java.io.File @@ -41,6 +43,11 @@ public abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJps p.println(target) p.pushIndent() + val cacheVersion = paths.getKotlinCacheVersion(target) + if (cacheVersion.formatVersionFile.exists()) { + p.println(cacheVersion.formatVersionFile.name) + } + val dataRoot = paths.getTargetDataRoot(target) val cacheNames = kotlinCacheNames(dataRoot) cacheNames.sorted().forEach { p.println(it) } diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/class/expected-kotlin-caches.txt b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/class/expected-kotlin-caches.txt index dbf1d85159b..6fd1abe9f15 100644 --- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/class/expected-kotlin-caches.txt +++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/class/expected-kotlin-caches.txt @@ -1,4 +1,6 @@ Module 'module' production + format-version.txt proto.tab source-to-classes.tab Module 'module' tests + format-version.txt \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/function/expected-kotlin-caches.txt b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/function/expected-kotlin-caches.txt index fbf6d51c660..bad440e5bfa 100644 --- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/function/expected-kotlin-caches.txt +++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/function/expected-kotlin-caches.txt @@ -1,5 +1,7 @@ Module 'module' production + format-version.txt package-parts.tab proto.tab source-to-classes.tab Module 'module' tests + format-version.txt \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionDeclared/expected-kotlin-caches.txt b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionDeclared/expected-kotlin-caches.txt index 33a2850ca0a..7d660ea18f4 100644 --- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionDeclared/expected-kotlin-caches.txt +++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionDeclared/expected-kotlin-caches.txt @@ -1,6 +1,8 @@ Module 'module' production + format-version.txt inline-functions.tab package-parts.tab proto.tab source-to-classes.tab Module 'module' tests + format-version.txt \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionInlined/expected-kotlin-caches.txt b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionInlined/expected-kotlin-caches.txt index fd3128f4651..b21bfa7b4ec 100644 --- a/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionInlined/expected-kotlin-caches.txt +++ b/jps/jps-plugin/testData/incremental/lazyKotlinCaches/inlineFunctionInlined/expected-kotlin-caches.txt @@ -1,7 +1,9 @@ Module 'module' production + format-version.txt inline-functions.tab inlined-to.tab package-parts.tab proto.tab source-to-classes.tab Module 'module' tests + format-version.txt \ No newline at end of file