From 9a80992aec5edfc5293f1fed79d5e34cad14cb74 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 4 Jul 2023 02:37:49 +0200 Subject: [PATCH] Correctly read resource in build jar and dev mode (#594) The server reference config file was only able to be read while in dev mode. Using the build jar, the content of the file was empty, since in the build jar resources aren't actual files anymore, instead they are streams. This caused the user config content to be replaced with an empty string. --- .../src/main/java/xyz/nulldev/ts/config/ConfigManager.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigManager.kt b/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigManager.kt index 15270fdd..61a0bf4e 100644 --- a/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigManager.kt +++ b/AndroidCompat/Config/src/main/java/xyz/nulldev/ts/config/ConfigManager.kt @@ -117,8 +117,8 @@ open class ConfigManager { * - removes outdated settings */ fun updateUserConfig() { - val serverConfigFile = File(javaClass.classLoader.getResource("server-reference.conf")?.file ?: return) - val serverConfig = ConfigFactory.parseFile(serverConfigFile) + val serverConfigFileContent = this::class.java.getResource("/server-reference.conf")?.readText() + val serverConfig = ConfigFactory.parseResources("server-reference.conf") val userConfig = getUserConfig() val hasMissingSettings = serverConfig.entrySet().any { !userConfig.hasPath(it.key) } @@ -130,7 +130,7 @@ open class ConfigManager { logger.debug { "user config is out of date, updating... (missingSettings= $hasMissingSettings, outdatedSettings= $hasOutdatedSettings" } - val serverConfigDoc = ConfigDocumentFactory.parseFile(serverConfigFile) + val serverConfigDoc = ConfigDocumentFactory.parseString(serverConfigFileContent) userConfigFile.writeText(serverConfigDoc.render()) var newUserConfigDoc: ConfigDocument = serverConfigDoc