[versions] kotlin = "1.9.10" kotlin-serialization = "1.6.0" agp = "8.1.2" appcompat = "1.6.1" image-loader = "1.6.4" horologist = "0.5.7" paging = "3.3.0-alpha02-0.4.0" tv = "1.0.0-alpha10" ktor = "2.3.5" media3 = "1.1.1" uuid = "0.8.0" moko-resources = "0.23.0" compose-multiplatform = "1.5.3" compose = "1.6.0-alpha07" compose-compiler = "1.5.3" compose-material3 = "1.2.0-alpha09" compose-stable-marker = "1.0.1" compose-shimmer = "1.0.5" compose-wear = "1.3.0-alpha07" koin-compose = "1.1.0" koin-androidx-compose = "3.5.0" jvm = "17" [libraries] # Androidx androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } androidx-core = "androidx.core:core-ktx:1.12.0" androidx-splashscreen = "androidx.core:core-splashscreen:1.0.1" androidx-activity = "androidx.activity:activity-compose:1.8.0" # Ktor ktor-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-contentnegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-serialization-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } ktor-encoding = { module = "io.ktor:ktor-client-encoding", version.ref = "ktor" } # Koin koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin-compose" } koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin-androidx-compose" } # Compose compose-runtime-tracing = { module = "androidx.compose.runtime:runtime-tracing", version = "1.0.0-alpha04" } compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" } compose-stable-marker = { module = "com.github.skydoves:compose-stable-marker", version.ref = "compose-stable-marker" } compose-shimmer = { module = "com.valentinilk.shimmer:compose-shimmer", version.ref = "compose-shimmer" } tv-foundation = { module = "androidx.tv:tv-foundation", version.ref = "tv" } tv-material = { module = "androidx.tv:tv-material", version.ref = "tv" } wear-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "compose-wear" } wear-material3 = "androidx.wear.compose:compose-material3:1.0.0-alpha13" wear-ui-tooling = { module = "androidx.wear.compose:compose-ui-tooling", version.ref = "compose-wear" } horologist-compose-layout = { module = "dev.olshevski.horologist:horologist-compose-layout", version.ref = "horologist" } # Media3 media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" } media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3" } media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" } media3-cast = { module = "androidx.media3:media3-cast", version.ref = "media3" } # Paging paging-common = { module = "app.cash.paging:paging-common", version.ref = "paging" } paging-compose-common = { module = "app.cash.paging:paging-compose-common", version.ref = "paging" } image-loader = { module = "io.github.qdsfdhvh:image-loader", version.ref = "image-loader" } file-picker = "com.darkrockstudios:mpfilepicker:2.1.0" navigation = "dev.olshevski.navigation:reimagined:1.5.0" material-kolor = "com.materialkolor:material-kolor:1.2.6" color-picker = "com.godaddy.android.colorpicker:compose-color-picker:0.7.0" window-size-multiplatform = "dev.chrisbanes.material3:material3-window-size-class-multiplatform:0.3.1" # Kotlinx kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlin-serialization" } kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "kotlin-serialization" } kotlinx-collections-immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5" brotli = "org.brotli:dec:0.1.2" uuid = { module = "com.benasher44:uuid", version.ref = "uuid" } # Moko moko-resources-compose = { module = "dev.icerock.moko:resources-compose", version.ref = "moko-resources" } # Settings settings-noarg = "com.russhwolf:multiplatform-settings-no-arg:1.1.0" settings-coroutines = "com.russhwolf:multiplatform-settings-coroutines:1.1.0" compose-rules = { module = "io.nlopez.compose.rules:ktlint", version = "0.2.3" } napier = { module = "io.github.aakira:napier", version = "2.6.1" } [bundles] androidx = ["androidx-appcompat", "androidx-core", "androidx-splashscreen", "androidx-activity"] ktor = ["ktor-core", "ktor-contentnegotiation", "ktor-serialization-json", "ktor-encoding"] media3 = ["media3-exoplayer", "media3-exoplayer-dash", "media3-session"] [plugins] kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } compose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" } moko-resources = { id = "dev.icerock.mobile.multiplatform-resources", version.ref = "moko-resources" } build-konfig = { id = "com.codingfeline.buildkonfig", version = "0.14.0" }