Optimize generateLocales task

This commit is contained in:
Syer10
2022-07-01 15:06:14 -04:00
parent e0304da584
commit c0a82680d0

View File

@@ -13,13 +13,27 @@ fun TaskContainerScope.registerLocalizationTask(project: Project) {
?.map { it.replace("-r", "-") } ?.map { it.replace("-r", "-") }
?.sorted() ?.sorted()
.orEmpty() .orEmpty()
val langFile = file("src/commonMain/resources/MR/files/languages.json")
if (langFile.exists()) {
val currentLangs = langFile.reader().use {
Gson().fromJson(it, JsonObject::class.java)
.getAsJsonArray("langs")
.mapNotNull { it.asString }
.toSet()
}
if (currentLangs == langs.toSet()) return@doFirst
}
val json = JsonObject().apply { val json = JsonObject().apply {
val array = JsonArray().apply { val array = JsonArray().apply {
langs.forEach(::add) langs.forEach(::add)
} }
add("langs", array) add("langs", array)
} }
file("src/commonMain/resources/MR/files/languages.json").writer().use {
langFile.writer().use {
Gson().toJson(json, it) Gson().toJson(json, it)
} }
} }