diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a6a9ae3..8768efe 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -77,10 +77,11 @@ koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose" } koin-compose = { module = "io.insert-koin:koin-compose" } koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel" } koin-compose-viewmodel-navigation = { module = "io.insert-koin:koin-compose-viewmodel-navigation" } +koin-ktor = { module = "io.insert-koin:koin-ktor" } +koin-logger-slf4j = { module = "io.insert-koin:koin-logger-slf4j" } +koin-test = { module = "io.insert-koin:koin-test" } # z.Zt. alpha #koin-compose-viewmodel-navigation3 = { module = "io.insert-koin:koin-compose-viewmodel-navigation3" } -koin-ktor = { module = "io.insert-koin:koin-ktor" } -koin-test = { module = "io.insert-koin:koin-test" } # ---- # Settings vorerst ohne externe Hilfe diff --git a/server/build.gradle.kts b/server/build.gradle.kts index f92c67f..6f7bb2c 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.ktor) application alias(libs.plugins.kotlinSerialization) + alias(libs.plugins.koin.compiler) alias(masterLibs.plugins.versionPlugin) } @@ -27,11 +28,16 @@ dependencies { implementation(libs.ktor.serverCore) implementation(libs.ktor.serverNetty) implementation(libs.ktor.serverAuth) - implementation(libs.ktor.serverAuthApiKey) implementation(libs.ktor.serverAuthJwt) implementation(libs.ktor.serverContentNegotiation) implementation(libs.ktor.serializationJson) + implementation(project.dependencies.platform(libs.koin.bom)) + implementation(libs.koin.logger.slf4j) + implementation(libs.koin.annotations) + implementation(libs.koin.ktor) +// implementation("io.insert-koin:koin-logger-slf4j:4.1.2-Beta1") + testImplementation(libs.ktor.serverTestHost) testImplementation(libs.kotlin.testJunit) } diff --git a/server/buildnumber.properties b/server/buildnumber.properties index 50ccf1d..3d9ac76 100644 --- a/server/buildnumber.properties +++ b/server/buildnumber.properties @@ -1,3 +1,3 @@ #auto generated -#Sat Feb 07 17:52:53 CET 2026 -build.number=25 +#Sat Feb 07 20:02:00 CET 2026 +build.number=27 diff --git a/server/src/main/kotlin/net/keinekekse/app/Application.kt b/server/src/main/kotlin/net/keinekekse/app/Application.kt index 164ac48..7dac0ab 100644 --- a/server/src/main/kotlin/net/keinekekse/app/Application.kt +++ b/server/src/main/kotlin/net/keinekekse/app/Application.kt @@ -3,6 +3,7 @@ package net.keinekekse.app import io.github.oshai.kotlinlogging.KotlinLogging import io.ktor.server.application.* import net.keinekekse.app.server.VERSION +import net.keinekekse.app.server.config.configureKoin import net.keinekekse.app.server.config.configureRouting import net.keinekekse.app.server.config.configureSecurity @@ -22,6 +23,7 @@ fun main(args: Array): Unit = io.ktor.server.netty.EngineMain.main(args) fun Application.module() { logger.info { "\n**\n** Starting ${VERSION.displayName} - ${VERSION.description} ${VERSION.fullVersion}\n**" } + configureKoin() configureSecurity() configureRouting() } diff --git a/server/src/main/kotlin/net/keinekekse/app/server/Version.kt b/server/src/main/kotlin/net/keinekekse/app/server/Version.kt index 1072529..7f083cc 100644 --- a/server/src/main/kotlin/net/keinekekse/app/server/Version.kt +++ b/server/src/main/kotlin/net/keinekekse/app/server/Version.kt @@ -3,14 +3,14 @@ package net.keinekekse.app.server import net.keinekekse.version.Version object VERSION: Version { - override val version = "0.1.0-beta.1+build.25" - override val fullVersion = "0.1.0-beta.1+build.25" + override val version = "0.1.0-beta.1+build.27" + override val fullVersion = "0.1.0-beta.1+build.27" override val major = 0 override val minor = 1 override val patch = 0 override val preRelease = "beta.1" - override val buildMetadata = "build.25" - override val buildDate = "2026-02-07T16:52:53.281643Z" + override val buildMetadata = "build.27" + override val buildDate = "2026-02-07T19:02:00.909145Z" override val displayName = "kAS" override val copyright = "Copyright (c) 2026 Hartmut Bauer" override val name = "server" diff --git a/server/src/main/kotlin/net/keinekekse/app/server/config/koin.kt b/server/src/main/kotlin/net/keinekekse/app/server/config/koin.kt new file mode 100644 index 0000000..f763a6f --- /dev/null +++ b/server/src/main/kotlin/net/keinekekse/app/server/config/koin.kt @@ -0,0 +1,14 @@ +package net.keinekekse.app.server.config + +import io.ktor.server.application.* +import net.keinekekse.app.server.di.KoinApp +import org.koin.dsl.koinConfiguration +import org.koin.logger.slf4jLogger +import org.koin.plugin.module.dsl.withConfiguration + +fun Application.configureKoin() { + koinConfiguration { + slf4jLogger() + withConfiguration() + } +} diff --git a/server/src/main/kotlin/net/keinekekse/app/server/di/KoinApp.kt b/server/src/main/kotlin/net/keinekekse/app/server/di/KoinApp.kt new file mode 100644 index 0000000..3b3590b --- /dev/null +++ b/server/src/main/kotlin/net/keinekekse/app/server/di/KoinApp.kt @@ -0,0 +1,6 @@ +package net.keinekekse.app.server.di + +import org.koin.core.annotation.KoinApplication + +@KoinApplication +class KoinApp diff --git a/server/src/main/kotlin/net/keinekekse/app/server/di/KoinModule.kt b/server/src/main/kotlin/net/keinekekse/app/server/di/KoinModule.kt new file mode 100644 index 0000000..5fcbca7 --- /dev/null +++ b/server/src/main/kotlin/net/keinekekse/app/server/di/KoinModule.kt @@ -0,0 +1,10 @@ +package net.keinekekse.app.server.di + +import org.koin.core.annotation.ComponentScan +import org.koin.core.annotation.Configuration +import org.koin.core.annotation.Module + +@Module +@ComponentScan("net.keinekekse.app") +@Configuration +class KoinModule