From b2fedd7b1e3cf38f63777db92944d7760ca48c81 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Wed, 30 May 2018 12:35:55 +0300 Subject: [PATCH] jps, mpp: fix marking expect/actual complementary files as dirty This files should be marked as dirty for current round, not next --- .../src/org/jetbrains/kotlin/jps/build/FSOperationsHelper.kt | 4 ++++ .../src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt | 2 +- .../kotlin/jps/build/KotlinRoundDirtySourceFilesHolder.kt | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/FSOperationsHelper.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/FSOperationsHelper.kt index 98e8dea6940..298d0d5947a 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/FSOperationsHelper.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/FSOperationsHelper.kt @@ -60,6 +60,10 @@ class FSOperationsHelper( markFilesImpl(files, beforeRound = true) { it.exists() && moduleBasedFilter.accept(it) } } + fun markComplementaryFiles(files: Iterable) { + markFilesImpl(files, beforeRound = true) { it.exists() } + } + fun markFiles(files: Iterable) { markFilesImpl(files, beforeRound = false) { it.exists() } } diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt index a17557d35da..4e08c2635a8 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -538,7 +538,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { removedAndDirtyFiles.addAll(roundDirtyFilesHolder.getRemovedFilesSet(target)) val complementaryFiles = cache.clearComplementaryFilesMapping(targetDirtyFiles.dirtyOrRemovedFiles) - targetDirtyFiles.markDirty(complementaryFiles) + targetDirtyFiles.addComplementaryFiles(complementaryFiles) cache.markDirty(targetDirtyFiles.dirtyOrRemovedFiles) } diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinRoundDirtySourceFilesHolder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinRoundDirtySourceFilesHolder.kt index 51ca301b5d1..0e4bba6e72b 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinRoundDirtySourceFilesHolder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinRoundDirtySourceFilesHolder.kt @@ -51,8 +51,8 @@ class KotlinRoundDirtySourceFilesHolder( return result } - fun markDirty(files: Collection) { - fsOperations.markFiles(files) + fun addComplementaryFiles(files: Collection) { + fsOperations.markComplementaryFiles(files) files.forEach { dirty.add(DirtyFile(it, null)) }