From e2ac24cc90fb617bba6be5610a52d064a40b605c Mon Sep 17 00:00:00 2001 From: Aurimas Date: Fri, 10 Jun 2022 15:43:00 -0700 Subject: [PATCH] Make sure to sort klib manifest data Not sorting results in non reproducible output causing up-to-date check failures --- .../kotlin/commonizer/konan/NativeSensitiveManifestData.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/konan/NativeSensitiveManifestData.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/konan/NativeSensitiveManifestData.kt index 3c07b821d1d..d4a7ff2f455 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/konan/NativeSensitiveManifestData.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/konan/NativeSensitiveManifestData.kt @@ -50,12 +50,15 @@ fun BaseWriterImpl.addManifest(manifest: NativeSensitiveManifestData) { manifestProperties[KLIB_PROPERTY_UNIQUE_NAME] = manifest.uniqueName // note: versions can't be added here + // Make sure all the lists are sorted for reproducible output - addOptionalProperty(KLIB_PROPERTY_DEPENDS, manifest.dependencies.isNotEmpty()) { manifest.dependencies.joinToString(separator = " ") } + addOptionalProperty(KLIB_PROPERTY_DEPENDS, manifest.dependencies.isNotEmpty()) { + manifest.dependencies.sorted().joinToString(separator = " ") + } addOptionalProperty(KLIB_PROPERTY_INTEROP, manifest.isInterop) { "true" } addOptionalProperty(KLIB_PROPERTY_PACKAGE, manifest.packageFqName != null) { manifest.packageFqName!! } addOptionalProperty(KLIB_PROPERTY_EXPORT_FORWARD_DECLARATIONS, manifest.exportForwardDeclarations.isNotEmpty() || manifest.isInterop) { - manifest.exportForwardDeclarations.joinToString(" ") + manifest.exportForwardDeclarations.sorted().joinToString(" ") } addOptionalProperty(KLIB_PROPERTY_NATIVE_TARGETS, manifest.nativeTargets.isNotEmpty()) {