diff --git a/buildSrc/src/main/kotlin/module-convention.gradle.kts b/buildSrc/src/main/kotlin/module-convention.gradle.kts index 73c228b..8f8a499 100644 --- a/buildSrc/src/main/kotlin/module-convention.gradle.kts +++ b/buildSrc/src/main/kotlin/module-convention.gradle.kts @@ -1,3 +1,5 @@ +@file:Suppress("UnstableApiUsage") + plugins { `java-library` kotlin("jvm") @@ -7,3 +9,11 @@ plugins { repositories { mavenCentral() } + +testing { + suites { + val test by getting(JvmTestSuite::class) { + useKotlinTest(embeddedKotlinVersion) + } + } +} diff --git a/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/loaders/AccountLoader.kt b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/loaders/AccountLoader.kt new file mode 100644 index 0000000..a5d7d5f --- /dev/null +++ b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/loaders/AccountLoader.kt @@ -0,0 +1,11 @@ +package de.itkl.modConfiguration.loaders + +import com.sksamuel.hoplite.ConfigLoaderBuilder +import de.itkl.modConfiguration.types.Account +import java.nio.file.Path + +fun loadAccounts(path: Path): Map { + return ConfigLoaderBuilder.default() + .build() + .loadConfigOrThrow() +} diff --git a/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/modConfiguration.kt b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/modConfiguration.kt new file mode 100644 index 0000000..3511622 --- /dev/null +++ b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/modConfiguration.kt @@ -0,0 +1,5 @@ +package de.itkl.modConfiguration + +import org.koin.dsl.module + +val modConfiguration = module {} diff --git a/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Account.kt b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Account.kt index 5034269..a4ce0ae 100644 --- a/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Account.kt +++ b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Account.kt @@ -1,3 +1,8 @@ package de.itkl.modConfiguration.types -class Account +interface Account { + val name: String + val password: String +} + +data class AccountDef(override val name: String, override val password: String) : Account diff --git a/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Accounts.kt b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Accounts.kt new file mode 100644 index 0000000..af2b4f3 --- /dev/null +++ b/modules/ModConfiguration/src/main/kotlin/de/itkl/modConfiguration/types/Accounts.kt @@ -0,0 +1,3 @@ +package de.itkl.modConfiguration.types + + diff --git a/modules/ModConfiguration/src/test/kotlin/de/itkl/modConfiguration/loaders/AccountLoaderTests.kt b/modules/ModConfiguration/src/test/kotlin/de/itkl/modConfiguration/loaders/AccountLoaderTests.kt new file mode 100644 index 0000000..249c682 --- /dev/null +++ b/modules/ModConfiguration/src/test/kotlin/de/itkl/modConfiguration/loaders/AccountLoaderTests.kt @@ -0,0 +1,6 @@ +package de.itkl.modConfiguration.loaders + +class AccountLoaderTests { + @Test + fun testAccountLoad() {} +}