Use properties to set rootDir so that ConfigManager can use it

This commit is contained in:
Syer10
2021-04-03 18:12:01 -04:00
parent b2d5354798
commit e043cb5690
4 changed files with 12 additions and 43 deletions
@@ -41,7 +41,7 @@ class TestExtensions {
@BeforeAll
fun setup() {
val dataRoot = File("tmp/TestDesk").absolutePath
applicationSetup(dataRoot, loadConfigs(dataRoot))
applicationSetup(dataRoot)
setLoggingEnabled(false)
runBlocking {
extensions = getExtensionList()
@@ -1,40 +1,8 @@
package ir.armor.tachidesk
import ch.qos.logback.classic.Level
import com.typesafe.config.Config
import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigRenderOptions
import mu.KotlinLogging
import org.slf4j.Logger
import java.io.File
/**
* Load configs
*/
fun loadConfigs(dataRoot: String): Config {
val logger = KotlinLogging.logger {}
//Load reference configs
val compatConfig = ConfigFactory.parseResources("compat-reference.conf")
val serverConfig = ConfigFactory.parseResources("server-reference.conf")
//Load user config
val userConfig =
File(dataRoot, "server.conf").let {
ConfigFactory.parseFile(it)
}
val config = ConfigFactory.empty()
.withFallback(userConfig)
.withFallback(compatConfig)
.withFallback(serverConfig)
.resolve()
logger.debug {
"Loaded config:\n" + config.root().render(ConfigRenderOptions.concise().setFormatted(true))
}
return config
}
fun setLoggingEnabled(enabled: Boolean = true) {
val logger = (KotlinLogging.logger(Logger.ROOT_LOGGER_NAME).underlyingLogger as ch.qos.logback.classic.Logger)