[versions] androidx-lifecycle = "2.11.0" composeMultiplatform = "1.12.1" material3 = "1.12.0-alpha03" junit = "4.13.2" kotlin = "2.4.20" kotlin-wrappers = "2026.9.3" ktor = "3.6.0" logback = "1.6.4" kotlinx-rpc = "0.10.4" koin = "4.2.2" koin-compiler = "1.2.1" coil = "3.6.3" exposed = "1.5.0" hikaricp = "7.1.0" flyway = "13.8.0" sqlite-jdbc = "3.53.4.0" postgresql = "42.7.13" kotlinx-datetime = "0.8.0" multiplatform-nav3-ui = "1.1.2" lucide-cmp = "2.2.1" androidx-datastore = "1.3.0-alpha11" okio = "3.18.2" okhttp = "5.5.0" trakt-api = "1.18.0" agp = "9.1.1" activityCompose = "1.13.0" media3 = "1.11.1" media3Avi = "2.3.0" tvMaterial = "1.1.0" filekit = "0.16.0" kotlinx-coroutines = "1.11.0" jna = "5.19.1" mpvLib = "0.1.12" kermit = "2.2.0" avalon-core-contract = "1.2.1" java-jwt = "4.6.1" [libraries] avalon-core-contract = { module = "org.ensodai.avalonmediacard:avalon-media-card-core-contract", version.ref = "avalon-core-contract" } kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } androidx-datastore-preferences-core = { module = "androidx.datastore:datastore-preferences-core", version.ref = "androidx-datastore" } androidx-datastore-core-okio = { module = "androidx.datastore:datastore-core-okio", version.ref = "androidx-datastore" } ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" } ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } okio = { module = "com.squareup.okio:okio", version.ref = "okio" } okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } java-jwt = { module = "com.auth0:java-jwt", version.ref = "java-jwt" } trakt-api = { module = "app.moviebase:trakt-api", version.ref = "trakt-api" } lucide-cmp = { module = "com.composables:icons-lucide-cmp", version.ref = "lucide-cmp" } jetbrains-navigation3-ui = { module = "org.jetbrains.androidx.navigation3:navigation3-ui", version.ref = "multiplatform-nav3-ui" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } kotlin-testJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } junit = { module = "junit:junit", version.ref = "junit" } androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" } compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" } compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3" } compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" } compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" } compose-uiToolingPreview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "composeMultiplatform" } compose-uiTooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "composeMultiplatform" } logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" } 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-serverCompression = { module = "io.ktor:ktor-server-compression-jvm", version.ref = "ktor" } ktor-serverForwardedHeader = { module = "io.ktor:ktor-server-forwarded-header-jvm", version.ref = "ktor" } ktor-serverTestHost = { module = "io.ktor:ktor-server-test-host-jvm", version.ref = "ktor" } wrappers-browser = { module = "org.jetbrains.kotlin-wrappers:kotlin-browser", version.ref = "kotlin-wrappers" } kotlinx-rpc-krpc-client = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-client", version.ref = "kotlinx-rpc" } kotlinx-rpc-krpc-server = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-server", version.ref = "kotlinx-rpc" } kotlinx-rpc-krpc-ktor-server = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server", version.ref = "kotlinx-rpc" } kotlinx-rpc-krpc-ktor-client = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client", version.ref = "kotlinx-rpc" } kotlinx-rpc-krpc-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json", version.ref = "kotlinx-rpc" } koin-ktor = { module = "io.insert-koin:koin-ktor", version.ref = "koin" } koin-logger-slf4j = { module = "io.insert-koin:koin-logger-slf4j", version.ref = "koin" } koin-annotations = { module = "io.insert-koin:koin-annotations", version.ref = "koin" } koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } koinAndroid = { module = "io.insert-koin:koin-android", version.ref = "koin" } postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" } koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin" } koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koin" } coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" } exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" } exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" } exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" } exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" } exposed-migration-jdbc = { module = "org.jetbrains.exposed:exposed-migration-jdbc", version.ref = "exposed" } kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } hikaricp = { module = "com.zaxxer:HikariCP", version.ref = "hikaricp" } sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite-jdbc" } flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" } androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" } media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3" } media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3" } media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" } media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" } media3-extractor = { module = "androidx.media3:media3-extractor", version.ref = "media3" } media3-decoder-ffmpeg = { module = "androidx.media3:media3-decoder-ffmpeg", version.ref = "media3" } media3-common = { module = "androidx.media3:media3-common", version.ref = "media3" } media3-avi = { module = "com.github.dburckh:Media3Avi", version.ref = "media3Avi" } mpv-lib = { module = "io.github.abdallahmehiz:mpv-android-lib", version.ref = "mpvLib" } tv-material3 = { module = "androidx.tv:tv-material", version.ref = "tvMaterial" } filekit-core = { module = "io.github.vinceglb:filekit-core", version.ref = "filekit" } filekit-dialogs-compose = { module = "io.github.vinceglb:filekit-dialogs-compose", version.ref = "filekit" } kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } # libmpv bindings (Windows DLL binaries: https://github.com/zhongfly/mpv-winbuild/releases) jna = { module = "net.java.dev.jna:jna", version.ref = "jna" } jna-platform = { module = "net.java.dev.jna:jna-platform", version.ref = "jna" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } android-kotlin-multiplatform-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" } composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" } composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } ktor = { id = "io.ktor.plugin", version.ref = "ktor" } kotlinx-rpc = { id = "org.jetbrains.kotlinx.rpc.plugin", version.ref = "kotlinx-rpc" } koin-compiler = { id = "io.insert-koin.compiler.plugin", version.ref = "koin-compiler" }