From 4b9a8527453b3d609140ece48867f5c660d046c2 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 24 Jul 2019 14:54:12 +0300 Subject: [PATCH] Sort source to output mapping before writing to caches #KT-32902 Fixed --- .../src/org/jetbrains/kotlin/build/generatedFiles.kt | 6 ++++-- .../src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/build/generatedFiles.kt b/build-common/src/org/jetbrains/kotlin/build/generatedFiles.kt index bc71c5b57b3..4c309bd4d92 100644 --- a/build-common/src/org/jetbrains/kotlin/build/generatedFiles.kt +++ b/build-common/src/org/jetbrains/kotlin/build/generatedFiles.kt @@ -22,9 +22,11 @@ import org.jetbrains.kotlin.utils.sure import java.io.File open class GeneratedFile( - val sourceFiles: Collection, + sourceFiles: Collection, val outputFile: File -) +) { + val sourceFiles = sourceFiles.sortedBy { it.path } +} class GeneratedJvmClass ( sourceFiles: Collection, 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 b32b63ec971..6e5a686b00f 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -635,7 +635,9 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { } ?: representativeTarget - return outputItemCollector.outputs.groupBy(SimpleOutputItem::target, SimpleOutputItem::toGeneratedFile) + return outputItemCollector.outputs + .sortedBy { it.outputFile } + .groupBy(SimpleOutputItem::target, SimpleOutputItem::toGeneratedFile) } private fun updateLookupStorage(