From 90c993334f20aa65c183d0ebc1c4662eebf9747e Mon Sep 17 00:00:00 2001 From: Victor Turansky Date: Wed, 18 Mar 2020 04:21:52 +0300 Subject: [PATCH] KT-37240 Deterministic order for webpack config patches Additional fix - only files with `js` extension processed (directories excluded) `listFiles()` already contains 'is directory' check. Duplicated check removed --- .../org/jetbrains/kotlin/gradle/targets/js/utils.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/utils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/utils.kt index bc2324cc00c..a1c7ebca756 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/utils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/utils.kt @@ -8,12 +8,13 @@ package org.jetbrains.kotlin.gradle.targets.js import java.io.File fun Appendable.appendConfigsFromDir(confDir: File) { - if (!confDir.isDirectory) return + val files = confDir.listFiles() ?: return - confDir.listFiles() - ?.toList() - ?.filter { it.name.endsWith(".js") } - ?.forEach { + files.asSequence() + .filter { it.isFile } + .filter { it.name.endsWith(".js") } + .sortedBy { it.name } + .forEach { appendln("// ${it.name}") append(it.readText()) appendln()