diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e1b1633..30b611a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,12 +11,18 @@ androidx-lifecycle = "2.10.0" androidx-testExt = "1.3.0" composeHotReload = "1.0.0" composeMultiplatform = "1.10.3" +flyway = "12.4.0" junit = "4.13.2" +kermit = "2.1.0" +koin = "4.2.1" kotlin = "2.3.20" kotlinx-coroutines = "1.10.2" +kotlinx-serialization = "1.7.3" ktor = "3.4.1" logback = "1.5.32" material3 = "1.10.0-alpha05" +postgresql = "42.7.10" +spotless = "8.4.0" [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -42,6 +48,23 @@ ktor-serverCore = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor ktor-serverNetty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor" } ktor-serverTestHost = { module = "io.ktor:ktor-server-test-host-jvm", version.ref = "ktor" } +# Koin (client DI — D-14) +koin-bom = { module = "io.insert-koin:koin-bom", version.ref = "koin" } +koin-core = { module = "io.insert-koin:koin-core" } +koin-compose = { module = "io.insert-koin:koin-compose" } +koin-composeViewmodel = { module = "io.insert-koin:koin-compose-viewmodel" } +koin-android = { module = "io.insert-koin:koin-android" } + +# Kermit (client logger — D-15) +kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } + +# Server: Ktor content-negotiation + JSON serializer + Flyway + Postgres (D-16) +ktor-serverContentNegotiation = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" } +ktor-serializationKotlinxJson = { module = "io.ktor:ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" } +flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" } +flyway-database-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" } +postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" } + [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } @@ -50,4 +73,6 @@ composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMul composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } ktor = { id = "io.ktor.plugin", version.ref = "ktor" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } \ No newline at end of file +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } +flywayPlugin = { id = "org.flywaydb.flyway", version.ref = "flyway" }