From b0fb19830e47439d75d0301ec66f8cd5fb0a9de8 Mon Sep 17 00:00:00 2001 From: inotia00 <108592928+inotia00@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:37:18 +0900 Subject: [PATCH] fix: `JsonGenerator` does not generate patch names in lexicographic order --- .../kotlin/app/revanced/meta/JsonGenerator.kt | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/app/revanced/meta/JsonGenerator.kt b/src/main/kotlin/app/revanced/meta/JsonGenerator.kt index 339b2c388..3f93ac3bd 100644 --- a/src/main/kotlin/app/revanced/meta/JsonGenerator.kt +++ b/src/main/kotlin/app/revanced/meta/JsonGenerator.kt @@ -6,20 +6,22 @@ import com.google.gson.GsonBuilder import java.io.File internal class JsonGenerator : PatchesFileGenerator { - override fun generate(patches: PatchSet) = patches.map { - JsonPatch( - it.name!!, - it.description, - it.compatiblePackages, - it.use, - it.requiresIntegrations, - it.options.values.map { option -> - JsonPatch.Option(option.key, option.value, option.title, option.description, option.required) - } - ) - }.let { - File("patches.json").writeText(GsonBuilder().serializeNulls().create().toJson(it)) - } + override fun generate(patches: PatchSet) = patches + .sortedBy { it.name } + .map { + JsonPatch( + it.name!!, + it.description, + it.compatiblePackages, + it.use, + it.requiresIntegrations, + it.options.values.map { option -> + JsonPatch.Option(option.key, option.value, option.title, option.description, option.required) + } + ) + }.let { + File("patches.json").writeText(GsonBuilder().serializeNulls().create().toJson(it)) + } @Suppress("unused") private class JsonPatch(