Generate locales_config.xml in build dir

This commit is contained in:
AntsyLich
2024-08-19 16:38:08 +06:00
parent 777ae2461e
commit ac41bffdc9
4 changed files with 16 additions and 11 deletions
@@ -3,10 +3,11 @@ package mihon.buildlogic.tasks
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.tasks.TaskProvider
import java.io.File
private val emptyResourcesElement = "<resources>\\s*</resources>|<resources/>".toRegex()
private val emptyResourcesElement = "<resources>\\s*</resources>|<resources\\s*/>".toRegex()
fun Project.getLocalesConfigTask(): TaskProvider<Task> {
fun Project.getLocalesConfigTask(outputResourceDir: File): TaskProvider<Task> {
return tasks.register("generateLocalesConfig") {
val locales = fileTree("$projectDir/src/commonMain/moko-resources/")
.matching { include("**/strings.xml") }
@@ -16,7 +17,6 @@ fun Project.getLocalesConfigTask(): TaskProvider<Task> {
.replace("base", "en")
.replace("-r", "-")
.replace("+", "-")
.takeIf(String::isNotBlank) ?: "en"
}
.sorted()
.joinToString("\n") { "| <locale android:name=\"$it\"/>" }
@@ -28,10 +28,9 @@ fun Project.getLocalesConfigTask(): TaskProvider<Task> {
|</locale-config>
""".trimMargin()
file("$projectDir/src/androidMain/res/xml/locales_config.xml").apply {
outputResourceDir.resolve("xml/locales_config.xml").apply {
parentFile.mkdirs()
writeText(content)
}
}
}