From bef326d2d76d9740be5a896b65b07e3d0d807ad3 Mon Sep 17 00:00:00 2001 From: Mitchell Syer Date: Wed, 16 Jul 2025 21:52:34 -0400 Subject: [PATCH] Fix paths in system properties (#1528) * Fix paths in system properties * Remove uneeded parse * Cleanup name --- .../xyz/nulldev/ts/config/ConfigModule.kt | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigModule.kt b/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigModule.kt index aa2b6281..02db5ac1 100644 --- a/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigModule.kt +++ b/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigModule.kt @@ -14,7 +14,6 @@ import io.github.config4k.ClassContainer import io.github.config4k.TypeReference import io.github.config4k.getValue import io.github.config4k.readers.SelectReader -import io.github.config4k.toConfig import kotlin.reflect.KProperty /** @@ -45,22 +44,19 @@ class SystemPropertyOverrideDelegate( property: KProperty<*>, ): T { val config = getConfig() - val configValue: T = config.getValue(thisRef, property) - val combined = - System.getProperty( - "$CONFIG_PREFIX.$moduleName.${property.name}", - configValue!! - .toConfig("internal") - .root() - .render() - .removePrefix("internal="), - ) - val combinedConfig = + val systemProperty = + System.getProperty("$CONFIG_PREFIX.$moduleName.${property.name}") + if (systemProperty == null) { + val configValue: T = config.getValue(thisRef, property) + return configValue + } + + val systemPropertyConfig = try { - ConfigFactory.parseString(combined) + ConfigFactory.parseString("internal=$systemProperty") } catch (_: ConfigException) { - ConfigFactory.parseString("internal=$combined") + ConfigFactory.parseString("internal=\"$systemProperty\"") } val genericType = object : TypeReference() {}.genericType() @@ -68,7 +64,7 @@ class SystemPropertyOverrideDelegate( val reader = SelectReader.getReader(clazz) val path = property.name - val result = reader(combinedConfig, "internal") + val result = reader(systemPropertyConfig, "internal") return try { result as T } catch (e: Exception) {