[versions]
#plugins
agp = "9.0.0"
kotlin = "2.3.0"

#AndroidX Basic Version
coreKtx = "1.13.1"
appcompat = "1.7.0"
kotlinxSerializationJson = "1.10.0"
material = "1.10.0"
activity = "1.9.0"
constraintlayout = "2.1.4"
splashscreen = "1.0.1"
datastoreCore = "1.2.0"
datastorePreferences = "1.1.1"

# Compose Version
composeBom = "2024.05.00"
composeLifecycle = "2.6.2"


#Junit Version
junit = "4.13.2"
androidx-test-ext-junit = "1.1.5"
androidx-test-espresso-core = "3.5.1"
navigationRuntimeKtx = "2.9.7"

# Network Version
retrofit = "3.0.0"
okhttp = "5.1.0"

# Third-party version
gson = "2.13.2"
gysdk = "3.2.3.0"
runtimeLivedata = "1.10.2"
mmkv = "2.3.0"
navigationCompose = "2.9.7"
coilCompose = "3.3.0"
segmentationSelfie = "16.0.0-beta4"
faceDetection = "16.1.5"
foundation = "1.10.2"
androidGifDrawableEncoder = "1.2.30"
gifeEncoder = "0.10.1"
cropify = "0.5.2"
matisse = "2.3.0"
pictureselector = "v3.11.2"
compress = "v3.11.2"
wechatSdkAndroidWithoutMta = "6.8.0"
# Umeng version
umengUmsdkCommon = "9.8.9"
umengUmsdkAsms = "1.8.7.2"
umengUmsdkApm = "2.0.6"
umengUmsdkShareCore = "7.3.7"
tencentHelper = "3.0.6"
#oaid
android_cn_oaid = "4.2.12"
fastaes = "1.1.5"
foundationVersion = "1.10.3"


[libraries]
#AndroidX Basic dependencies
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
androidx-material = { module = "com.google.android.material:material", version.ref = "material" }
androidx-activity = { module = "androidx.activity:activity", version.ref = "activity" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "splashscreen" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" }
androidx-datastore-core = { group = "androidx.datastore", name = "datastore-core", version.ref = "datastoreCore" }
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" }

# Compose dependencies
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" }
androidx-compose-ui = { module = "androidx.compose.ui:ui" }
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
androidx-compose-activity-compose = { module = "androidx.activity:activity-compose" }
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation" }
androidx-compose-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "composeLifecycle" }
androidx-compose-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "composeLifecycle" }
androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "runtimeLivedata" }

#Test dependencies
junit = { module = "junit:junit", version.ref = "junit" }
androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-ext-junit" }
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso-core" }
androidx-navigation-runtime-ktx = { group = "androidx.navigation", name = "navigation-runtime-ktx", version.ref = "navigationRuntimeKtx" }

# Network dependencies
retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
retrofit-converter-gson = { group = "com.squareup.retrofit2", name = "converter-gson", version.ref = "retrofit" }
retrofit-kotlin-serialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version = "1.0.0" }
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }


# Third-party dependencies
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
gysdk = { module = "com.getui:gysdk", version.ref = "gysdk" }
matisse = { module = "io.github.leavesczy:matisse", version.ref = "matisse" }
mmkv = { module = "com.tencent:mmkv", version.ref = "mmkv" }
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coilCompose" }
coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coilCompose" }
pictureselector = { module = "io.github.lucksiege:pictureselector", version.ref = "pictureselector" }
compress = { module = "io.github.lucksiege:compress", version.ref = "compress" }
segmentation-selfie = { module = "com.google.mlkit:segmentation-selfie", version.ref = "segmentationSelfie" }
face-detection = { module = "com.google.mlkit:face-detection", version.ref = "faceDetection" }
androidx-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundation" }
android-gif-drawable = { module = "pl.droidsonroids.gif:android-gif-drawable", version.ref = "androidGifDrawableEncoder" }
gif-encoder = { module = "com.squareup:gifencoder", version.ref = "gifeEncoder" }
cropify = { module = "com.github.moyuruaizawa:cropify", version.ref = "cropify" }
wechat-sdk = { module = "com.tencent.mm.opensdk:wechat-sdk-android-without-mta", version.ref = "wechatSdkAndroidWithoutMta" }
#Umeng Sdk
umeng-umsdk-common = { module = "com.umeng.umsdk:common", version.ref = "umengUmsdkCommon" }
umeng-umsdk-asms = { module = "com.umeng.umsdk:asms", version.ref = "umengUmsdkAsms" }
#noinspection Aligned16KB
umeng-umsdk-apm = { module = "com.umeng.umsdk:apm", version.ref = "umengUmsdkApm" }
umeng-umsdk-share-core = { module = "com.umeng.umsdk:share-core", version.ref = "umengUmsdkShareCore" }
umeng-umsdk-share-wx = { module = "com.umeng.umsdk:share-wx", version.ref = "umengUmsdkShareCore" }
tencent-helper = { module = "com.tencent.vasdolly:helper", version.ref = "tencentHelper" }
android_cn_oaid = { module = "com.github.gzu-liyujiang:Android_CN_OAID", version.ref = "android_cn_oaid" }
#Decrypt
fastaes = { module = "io.github.billywei01:fastaes", version.ref = "fastaes" }
foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundationVersion" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }