[versions]
accompanist = "0.37.3"
agp = "9.0.0"
androidx-activity = "1.12.2"
androidx-core = "1.17.0"
androidx-lifecycle = "2.10.0"
androidx-paging = "3.3.6"
androidx-splashscreen = "1.2.0"
androidx-work = "2.10.0"
apksig = "9.0.0"
axml = "1.0.1"
binary-resources = "2.1.0"
bouncycastle = "1.83"
coil = "3.3.0"
compose = "1.10.1"
compose-material3 = "1.4.0"
compose-pipette = "2.0.0-beta03"
desugaring = "2.1.5"
dhizuku = "2.5.4"
diff = "4.16"
hiddenApi-bypass = "6.1"
hiddenApi-refine = "4.4.0"
hiddenApi-stub = "4.4.0"
koin = "4.1.1"
kotlin = "2.3.0"
kotlinx-immutable = "0.4.0"
kotlinx-serialization = "1.10.0"
ktor = "3.4.0"
libsu = "6.0.0"
microg = "0.3.6.244735"
shimmer = "1.3.3"
shizuku = "13.1.5"
smali = "3.0.9"
voyager = "1.1.0-beta03"
zip = "2.3.1"

[libraries]
# Accompanist
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" }
accompanist-systemUiController = { module = "com.google.accompanist:accompanist-systemuicontroller", version = "0.36.0" }

# AndroidX
androidx-activity = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
androidx-lifecycle = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidx-lifecycle" }
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-splashscreen" }
androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidx-paging" }
androidx-work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }

# Coil (image library)
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
coil-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }

# Compose
compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "compose" }
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" }
compose-animations = { module = "androidx.compose.animation:animation-graphics", version.ref = "compose" }
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" }
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" }

# Compose debug tooling
compose-runtime-tracing = { module = "androidx.compose.runtime:runtime-tracing", version.ref = "compose" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" }

# Extra compose libs
compose-pipette = { module = "dev.zt64.compose.pipette:compose-pipette", version.ref = "compose-pipette" }
compose-shimmer = { module = "com.valentinilk.shimmer:compose-shimmer", version.ref = "shimmer" }

# Koin
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }

# KotlinX
kotlinx-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinx-immutable" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }

# Ktor
ktor-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
ktor-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-serialization-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }

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

# Patching
apksig = { module = "com.android.tools.build:apksig", version.ref = "apksig" }
axml = { module = "com.aliucord:axml", version.ref = "axml" }
binaryResources = { module = "com.aliucord:binary-resources", version.ref = "binary-resources" }
bouncycastle = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bouncycastle" }
diff = { module = "io.github.java-diff-utils:java-diff-utils", version.ref = "diff" }
smali = { module = "com.android.tools.smali:smali", version.ref = "smali" }
baksmali = { module = "com.android.tools.smali:smali-baksmali", version.ref = "smali" }
zip = { module = "io.github.diamondminer88:zip-android", version.ref = "zip" }

# Shizuku + Dhizuku + Utils
dhizuku-api = { module = "io.github.iamr0s:Dhizuku-API", version.ref = "dhizuku" }
shizuku-api = { module = "dev.rikka.shizuku:api", version.ref = "shizuku" }
shizuku-provider = { module = "dev.rikka.shizuku:provider", version.ref = "shizuku" }
hiddenApi-bypass = { module = "org.lsposed.hiddenapibypass:hiddenapibypass", version.ref = "hiddenApi-bypass" }
hiddenApi-refine = { module = "dev.rikka.tools.refine:runtime", version.ref = "hiddenApi-refine" }
hiddenApi-stub = { module = "dev.rikka.hidden:stub", version.ref = "hiddenApi-stub" }

# Other
microg = { module = "org.microg.gms:play-services-safetynet", version.ref = "microg" }
desugaring = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugaring" }
libsu = { module = "com.aliucord.libsu:core", version.ref = "libsu" }

[bundles]
accompanist = [
    "accompanist-permissions",
    "accompanist-systemUiController",
]
androidx = [
    "androidx-core",
    "androidx-activity",
    "androidx-lifecycle",
    "androidx-lifecycle-process",
    "androidx-splashscreen",
]
coil = [
    "coil-compose",
    "coil-okhttp",
]
compose = [
    "compose-runtime",
    "compose-ui",
    "compose-foundation",
    "compose-material3",
    "compose-animations",
]
koin = [
    "koin-android",
    "koin-compose",
]
ktor = [
    "ktor-core",
    "ktor-okhttp",
    "ktor-logging",
    "ktor-content-negotiation",
    "ktor-serialization-json",
]
shizuku = [
    "shizuku-api",
    "shizuku-provider",
]
voyager = [
    "voyager-koin",
    "voyager-navigator",
    "voyager-transitions",
]

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
hiddenApi-refine = { id = "dev.rikka.tools.refine", version.ref = "hiddenApi-refine" }
