jellyfin-androidtv/gradle/libs.versions.toml
2023-01-18 09:47:26 +01:00

160 lines
7.4 KiB
TOML

[versions]
aboutlibraries = "10.5.2"
acra = "5.9.7"
android-desugar = "2.0.0"
android-gradle = "7.4.0"
androidx-activity = "1.6.1"
androidx-appcompat = "1.6.0"
androidx-cardview = "1.0.0"
androidx-compose-compiler = "1.3.2"
androidx-compose-foundation = "1.3.1"
androidx-compose-material = "1.3.1"
androidx-compose-ui = "1.3.3"
androidx-constraintlayout = "2.1.4"
androidx-core = "1.9.0"
androidx-fragment = "1.5.5"
androidx-leanback = "1.1.0-rc01"
androidx-lifecycle = "2.5.1"
androidx-media2 = "1.2.1"
androidx-preference = "1.2.0"
androidx-recyclerview = "1.2.1"
androidx-startup = "1.1.1"
androidx-tvprovider = "1.1.0-alpha01"
androidx-window = "1.0.0"
androidx-work = "2.7.1"
blurhash = "0.1.0"
detekt = "1.22.0"
exoplayer = "2.18.2"
glide = "4.14.2"
gson = "2.8.9"
jellyfin-apiclient = "v0.7.10"
jellyfin-exoplayer-ffmpegextension = "2.18.2+1"
jellyfin-sdk = "1.4.0"
junit = "4.13.2"
kenburnsview = "1.0.7"
koin = "3.3.2"
koin-compose = "3.4.1"
kotest = "5.5.4"
kotlin = "1.8.0"
kotlin-ksp = "1.8.0-1.0.8"
kotlinx-coroutines = "1.6.4"
kotlinx-serialization = "1.4.1"
leakcanary = "2.10"
libvlc = "3.5.1"
markwon = "4.6.2"
mockk = "1.13.3"
slf4j-timber = "0.0.4"
timber = "5.0.1"
[plugins]
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "kotlin-ksp" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
[libraries]
# Jellyfin
jellyfin-apiclient = { module = "com.github.jellyfin.jellyfin-sdk-kotlin:android", version.ref = "jellyfin-apiclient" }
jellyfin-sdk = { module = "org.jellyfin.sdk:jellyfin-core", version.ref = "jellyfin-sdk" }
# Kotlin
kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-guava = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-guava", version.ref = "kotlinx-coroutines" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
# Android(x)
android-gradle = { module = "com.android.tools.build:gradle", version.ref = "android-gradle" }
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-cardview = { module = "androidx.cardview:cardview", version.ref = "androidx-cardview" }
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose-foundation" }
androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "androidx-compose-material" }
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidx-compose-ui" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
androidx-leanback-core = { module = "androidx.leanback:leanback", version.ref = "androidx-leanback" }
androidx-leanback-preference = { module = "androidx.leanback:leanback-preference", version.ref = "androidx-leanback" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
androidx-media2-session = { module = "androidx.media2:media2-session", version.ref = "androidx-media2" }
androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
androidx-startup = { module = "androidx.startup:startup-runtime", version.ref = "androidx-startup" }
androidx-tvprovider = { module = "androidx.tvprovider:tvprovider", version.ref = "androidx-tvprovider" }
androidx-window = { module = "androidx.window:window", version.ref = "androidx-window" }
androidx-work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
# Dependency Injection
koin-android-compat = { module = "io.insert-koin:koin-android-compat", version.ref = "koin" }
koin-android-core = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin-compose" }
koin-androidx-workmanager = { module = "io.insert-koin:koin-androidx-workmanager", version.ref = "koin" }
# Media players
exoplayer = { module = "com.google.android.exoplayer:exoplayer", version.ref = "exoplayer" }
jellyfin-exoplayer-ffmpegextension = { group = "org.jellyfin.exoplayer", name = "exoplayer-ffmpeg-extension", version.ref = "jellyfin-exoplayer-ffmpegextension" }
libvlc = { module = "org.videolan.android:libvlc-all", version.ref = "libvlc" }
# Markwon
markwon-core = { module = "io.noties.markwon:core", version.ref = "markwon" }
markwon-html = { module = "io.noties.markwon:html", version.ref = "markwon" }
# Image utility
blurhash = { module = "com.vanniktech:blurhash", version.ref = "blurhash" }
glide-core = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
glide-ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
kenburnsview = { module = "com.flaviofaria:kenburnsview", version.ref = "kenburnsview" }
# Crash Reporting
acra-core = { module = "ch.acra:acra-core", version.ref = "acra" }
acra-toast = { module = "ch.acra:acra-toast", version.ref = "acra" }
# Libraries
aboutlibraries = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
# Logging
slf4j-timber = { module = "io.github.unveloper:slf4j-timber", version.ref = "slf4j-timber" }
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
# Debugging
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary" }
# Compatibility (desugaring)
android-desugar = { module = "com.android.tools:desugar_jdk_libs", version.ref = "android-desugar" }
# Test utilities
kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" }
kotest-assertions = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
[bundles]
acra = [
"acra-core",
"acra-toast",
]
androidx-compose = [
"androidx-compose-foundation",
"androidx-compose-material",
"androidx-compose-ui-tooling"
]
androidx-lifecycle = [
"androidx-lifecycle-process",
"androidx-lifecycle-runtime",
"androidx-lifecycle-service",
"androidx-lifecycle-viewmodel",
]
koin = [
"koin-android-compat",
"koin-android-core",
"koin-androidx-workmanager",
"koin-androidx-compose",
]
markwon = [
"markwon-core",
"markwon-html",
]