Clean only kotlin caches when incremental compilation is off
Original commit: ba33020140
This commit is contained in:
@@ -137,18 +137,12 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
|
|
||||||
val dataManager = projectDescriptor.dataManager
|
val dataManager = projectDescriptor.dataManager
|
||||||
|
|
||||||
if (!IncrementalCompilation.isEnabled()) {
|
if (chunk.targets.any { dataManager.dataPaths.getKotlinCacheVersion(it).isIncompatible() }) {
|
||||||
dataManager.clean()
|
LOG.info("Clearing caches for " + chunk.targets.map { it.presentableName }.join())
|
||||||
dataManager.flush(true)
|
val incrementalCaches = getIncrementalCaches(chunk, context)
|
||||||
}
|
incrementalCaches.values().forEach(StorageOwner::clean)
|
||||||
else {
|
FSOperations.markDirtyRecursively(context, CompilationRound.NEXT, chunk)
|
||||||
if (chunk.targets.any { dataManager.dataPaths.getKotlinCacheVersion(it).isIncompatible() }) {
|
return ADDITIONAL_PASS_REQUIRED
|
||||||
LOG.info("Clearing caches for " + chunk.targets.map { it.presentableName }.join())
|
|
||||||
val incrementalCaches = getIncrementalCaches(chunk, context)
|
|
||||||
incrementalCaches.values().forEach(StorageOwner::clean)
|
|
||||||
FSOperations.markDirtyRecursively(context, CompilationRound.NEXT, chunk)
|
|
||||||
return ADDITIONAL_PASS_REQUIRED
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dirtyFilesHolder.hasDirtyFiles() && !dirtyFilesHolder.hasRemovedFiles()
|
if (!dirtyFilesHolder.hasDirtyFiles() && !dirtyFilesHolder.hasRemovedFiles()
|
||||||
|
|||||||
@@ -38,9 +38,10 @@ class CacheFormatVersion(targetDataRoot: File) {
|
|||||||
private val file = File(targetDataRoot, FORMAT_VERSION_FILE_PATH)
|
private val file = File(targetDataRoot, FORMAT_VERSION_FILE_PATH)
|
||||||
|
|
||||||
fun isIncompatible(): Boolean {
|
fun isIncompatible(): Boolean {
|
||||||
assert(IncrementalCompilation.isEnabled()) { "Incremental compilation is not enabled" }
|
|
||||||
if (!file.exists()) return false
|
if (!file.exists()) return false
|
||||||
|
|
||||||
|
if (!IncrementalCompilation.isEnabled()) return true
|
||||||
|
|
||||||
val versionNumber = file.readText().toInt()
|
val versionNumber = file.readText().toInt()
|
||||||
|
|
||||||
if (versionNumber != CACHE_FORMAT_VERSION) {
|
if (versionNumber != CACHE_FORMAT_VERSION) {
|
||||||
|
|||||||
+16
@@ -1,10 +1,26 @@
|
|||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module1/module1/A.class
|
out/production/module1/module1/A.class
|
||||||
End of files
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module1/META-INF/module1.kotlin_module
|
||||||
|
out/production/module1/module1/Module1Package.class
|
||||||
|
out/production/module1/module1/Module1_otherKt.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module1/src/module1_a.kt
|
module1/src/module1_a.kt
|
||||||
module1/src/module1_other.kt
|
module1/src/module1_other.kt
|
||||||
End of files
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module3/META-INF/module3.kotlin_module
|
||||||
|
out/production/module3/module3/Module3Package.class
|
||||||
|
out/production/module3/module3/Module3_cKt.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
module3/src/module3_c.kt
|
||||||
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module2/B.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module2/src/module2_B.java
|
module2/src/module2_B.java
|
||||||
End of files
|
End of files
|
||||||
+2
-1
@@ -1,2 +1,3 @@
|
|||||||
module1->
|
module1->
|
||||||
module2->module1
|
module2->module1
|
||||||
|
module3->
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
package module3
|
||||||
|
|
||||||
|
fun c() {}
|
||||||
+31
-2
@@ -1,24 +1,53 @@
|
|||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module1/module1/A.class
|
out/production/module1/module1/A.class
|
||||||
End of files
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module1/META-INF/module1.kotlin_module
|
||||||
|
out/production/module1/module1/Module1Package.class
|
||||||
|
out/production/module1/module1/Module1_otherKt.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module1/src/module1_a.kt
|
module1/src/module1_a.kt
|
||||||
module1/src/module1_other.kt
|
module1/src/module1_other.kt
|
||||||
End of files
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module3/META-INF/module3.kotlin_module
|
||||||
|
out/production/module3/module3/Module3Package.class
|
||||||
|
out/production/module3/module3/Module3_cKt.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module3/src/module3_c.kt
|
module3/src/module3_c.kt
|
||||||
End of files
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module2/B.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module2/src/module2_B.java
|
module2/src/module2_B.java
|
||||||
End of files
|
End of files
|
||||||
|
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module1/META-INF/module1.kotlin_module
|
||||||
|
out/production/module1/module1/A.class
|
||||||
|
out/production/module1/module1/Module1Package.class
|
||||||
|
out/production/module1/module1/Module1_aKt.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
module1/src/module1_a.kt
|
||||||
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module1/META-INF/module1.kotlin_module
|
||||||
|
out/production/module1/module1/A.class
|
||||||
|
out/production/module1/module1/Module1Package.class
|
||||||
|
out/production/module1/module1/Module1_aKt.class
|
||||||
|
out/production/module1/module1/Module1_otherKt.class
|
||||||
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module1/src/module1_a.kt
|
module1/src/module1_a.kt
|
||||||
module1/src/module1_other.kt
|
module1/src/module1_other.kt
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Cleaning output files:
|
||||||
module3/src/module3_c.kt
|
out/production/module2/B.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
module2/src/module2_B.java
|
module2/src/module2_B.java
|
||||||
|
|||||||
Reference in New Issue
Block a user