[versions]
aboutlibraries = "11.2.3"
chucker = "3.5.2"
flexible-adapter = "c8013533"
fast_adapter = "5.6.0"
moko = "0.24.2"
okhttp = "5.0.0-alpha.14"
shizuku = "13.1.5"
# FIXME: Uncomment once SQLDelight support KMP AndroidX SQLiteDriver
#sqlite = "2.5.0-alpha04"
sqlite = "2.4.0"
sqldelight = "2.0.2"
junit = "5.11.3"
kermit = "2.0.5"
koin = "4.0.0"
voyager = "1.1.0-beta02"

[libraries]
aboutlibraries = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutlibraries" }

chucker-library-no-op = { module = "com.github.ChuckerTeam.Chucker:library-no-op", version.ref = "chucker" }
chucker-library = { module = "com.github.ChuckerTeam.Chucker:library", version.ref = "chucker" }
coil3-bom = { module = "io.coil-kt.coil3:coil-bom", version = "3.0.3" }
coil3 = { module = "io.coil-kt.coil3:coil" }
coil3-svg = { module = "io.coil-kt.coil3:coil-svg" }
coil3-gif = { module = "io.coil-kt.coil3:coil-gif" }
coil3-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp" }
compose-theme-adapter3 = { module = "com.google.accompanist:accompanist-themeadapter-material3", version = "0.33.2-alpha" }
conductor = { module = "com.bluelinelabs:conductor", version = "4.0.0-preview-4" }
conductor-support-preference = { module = "com.github.tachiyomiorg:conductor-support-preference", version = "3.0.0" }
conscrypt = { module = "org.conscrypt:conscrypt-android", version = "2.5.2" }
desugar = { module = "com.android.tools:desugar_jdk_libs", version = "2.1.3" }
directionalviewpager = { module = "com.github.tachiyomiorg:DirectionalViewPager", version = "1.0.0" }
disklrucache = { module = "com.jakewharton:disklrucache", version = "2.0.2" }
fastadapter-extensions-binding = { module = "com.mikepenz:fastadapter-extensions-binding", version.ref = "fast_adapter" }
fastadapter = { module = "com.mikepenz:fastadapter", version.ref = "fast_adapter" }
firebase = { module = "com.google.firebase:firebase-bom", version = "33.6.0" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics-ktx" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx" }
flexbox = { module = "com.google.android.flexbox:flexbox", version = "3.0.0" }
flexible-adapter-ui = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter-ui", version.ref = "flexible-adapter" }
flexible-adapter = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter", version.ref = "flexible-adapter" }
image-decoder = { module = "com.github.tachiyomiorg:image-decoder", version = "41c059e540" }

kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }

koin-bom = { module = "io.insert-koin:koin-bom", version.ref = "koin" }
koin-core = { module = "io.insert-koin:koin-core" }
koin-injekt = { module = "com.github.null2264:injekt-koin", version = "aad18b6148" }

kotest-assertions = { module = "io.kotest:kotest-assertions-core", version = "5.9.1" }

libarchive = { module = "me.zhanghai.android.libarchive:library", version = "1.1.4" }

material = { module = "com.google.android.material:material", version = "1.12.0" }
markwon = { module = "io.noties.markwon:core", version = "4.6.2" }
mpandroidchart = { module = "com.github.PhilJay:MPAndroidChart", version = "v3.1.0" }
java-nat-sort = { module = "com.github.gpanther:java-nat-sort", version = "natural-comparator-1.1" }
jsoup = { module = "org.jsoup:jsoup", version = "1.18.1" }
junit-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" }
junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" }
junit-android = { module = "androidx.test.ext:junit", version = "1.2.1" }
mockk = { module = "io.mockk:mockk", version = "1.13.13" }

moko-resources = { module = "dev.icerock.moko:resources", version.ref = "moko" }
moko-resources-compose = { module = "dev.icerock.moko:resources-compose", version.ref = "moko" }

okio = { module = "com.squareup.okio:okio", version = "3.9.1" }
okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" }
okhttp-dnsoverhttps = { module = "com.squareup.okhttp3:okhttp-dnsoverhttps", version.ref = "okhttp" }
okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
play-services-gcm = { module = "com.google.android.gms:play-services-gcm", version = "17.0.0" }
photoview = { module = "com.github.chrisbanes:PhotoView", version = "2.3.0" }
quickjs-android = { module = "app.cash.quickjs:quickjs-android", version = "0.9.2" }
rxrelay = { module = "com.jakewharton.rxrelay:rxrelay", version = "1.2.0" }
rxjava = { module = "io.reactivex:rxjava", version = "1.3.8" }
rxandroid = { module = "io.reactivex:rxandroid", version = "1.2.1" }
slice = { module = "com.github.mthli:Slice", version = "v1.2" }

# FIXME: Uncomment once SQLDelight support KMP AndroidX SQLiteDriver
#sqlite = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" }
sqlite-ktx = { module = "androidx.sqlite:sqlite-ktx", version.ref = "sqlite" }
sqlite-android = { module = "com.github.requery:sqlite-android", version = "3.45.0" }

sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
sqldelight-android-driver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }
sqldelight-android-paging = { module = "app.cash.sqldelight:androidx-paging3-extensions", version.ref = "sqldelight" }
sqldelight-dialects-sql = { module = "app.cash.sqldelight:sqlite-3-38-dialect", version.ref = "sqldelight" }

subsamplingscaleimageview = { module = "com.github.null2264:subsampling-scale-image-view", version = "f7b674ebdd" }
shizuku-api = { module = "dev.rikka.shizuku:api", version.ref = "shizuku" }
shizuku-provider = { module = "dev.rikka.shizuku:provider", version.ref = "shizuku" }
taptargetview = { module = "com.getkeepsafe.taptargetview:taptargetview", version = "1.13.3" }
unifile = { module = "com.github.tachiyomiorg:unifile", version = "a9de196cc7" }
viewstatepageradapter = { module = "com.nightlynexus.viewstatepageradapter:viewstatepageradapter", version = "1.1.0" }
viewtooltip = { module = "com.github.CarlosEsco:ViewTooltip", version = "f79a8955ef" }  # FIXME: Don't depends on this

voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
voyager-screenmodel = { module = "cafe.adriel.voyager:voyager-screenmodel", version.ref = "voyager" }

[plugins]
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version = "3.0.2" }
google-services = { id = "com.google.gms.google-services", version = "4.4.2" }
gradle-versions = { id = "com.github.ben-manes.versions", version = "0.42.0" }
kotlinter = { id = "org.jmailen.kotlinter", version = "4.1.1" }
moko = { id = "dev.icerock.mobile.multiplatform-resources", version.ref = "moko" }
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }

[bundles]
db = [ "sqldelight-coroutines" ]
db-android = [ "sqldelight-android-driver", "sqldelight-android-paging" ]
coil = [ "coil3", "coil3-svg", "coil3-gif", "coil3-okhttp" ]
logging = [ "kermit" ]
# FIXME: Uncomment once SQLDelight support KMP AndroidX SQLiteDriver
#sqlite = [ "sqlite", "sqlite-ktx" ]
sqlite = [ "sqlite-ktx" ]
test = [ "junit-api", "kotest-assertions", "mockk" ]
test-android = [ "junit-android" ]
test-runtime = [ "junit-engine" ]
voyager = ["voyager-navigator", "voyager-transitions", "voyager-screenmodel"]
