apply from: rootProject.file("file/gradle/versions.gradle")

ext {

    deps = [

            // =============
            // = Build 信息 =
            // =============

            "build"   : [

                    // kotlin https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-gradle-plugin
                    kotlin_gradle_plugin       : "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin_version}",
                    // https://mvnrepository.com/artifact/org.jetbrains.dokka/dokka-gradle-plugin
                    dokka_gradle_plugin        : "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka_plugin_version}",
                    // android maven https://plugins.gradle.org/plugin/com.github.dcendents.android-maven
                    android_maven_gradle_plugin: "com.github.dcendents:android-maven-gradle-plugin:2.1",
            ],

            // ================
            // = Dev 系列开发库 =
            // ================

            "dev"     : [
                    // https://github.com/afkT/DevUtils
                    // https://search.maven.org/search?q=io.github.afkt
                    // https://repo1.maven.org/maven2/io/github/afkt
                    // https://mvnrepository.com/search?q=io.github.afkt

                    // DevApp - Android 工具类库
                    dev_app                          : "io.github.afkt:DevAppX:${versions.dev_app_versionName}",
                    // DevAssist - 封装逻辑代码, 实现多个快捷功能辅助类、以及 Engine 兼容框架等
                    dev_assist                       : "io.github.afkt:DevAssist:${versions.dev_assist_versionName}",
                    // DevBase - Base ( Activity、Fragment ) MVP、MVVM 基类库
                    dev_base                         : "io.github.afkt:DevBase:${versions.dev_base_versionName}",
                    // DevEngine - 第三方框架解耦、一键替换第三方库、同类库多 Engine 组件化混合使用
                    dev_engine                       : "io.github.afkt:DevEngine:${versions.dev_engine_versionName}",
                    // DevSimple - 简单敏捷开发库
                    dev_simple                       : "io.github.afkt:DevSimple:${versions.dev_simple_versionName}",
                    // DevWidget - 自定义 View UI 库
                    dev_widget                       : "io.github.afkt:DevWidgetX:${versions.dev_widget_versionName}",
                    // DevRetrofit - Retrofit + Kotlin Coroutines 封装
                    dev_retrofit                     : "io.github.afkt:DevRetrofit:${versions.dev_retrofit_versionName}",
                    // DevHttpManager - OkHttp 管理库 ( Retrofit 多 BaseUrl 管理、Progress 监听 )
                    dev_http_manager                 : "io.github.afkt:DevHttpManager:${versions.dev_http_manager_versionName}",
                    // DevHttpCapture - OkHttp 抓包工具库
                    dev_http_capture                 : "io.github.afkt:DevHttpCapture:${versions.dev_http_capture_versionName}",
                    dev_http_capture_compiler        : "io.github.afkt:DevHttpCaptureCompiler:${versions.dev_http_capture_compiler_version}",
                    dev_http_capture_compiler_release: "io.github.afkt:DevHttpCaptureCompilerRelease:${versions.dev_http_capture_compiler_release_version}",
                    // DevEnvironment - Android 环境配置切换库
                    dev_environment                  : "io.github.afkt:DevEnvironment:${versions.dev_environment_version}",
                    dev_environment_base             : "io.github.afkt:DevEnvironmentBase:${versions.dev_environment_base_version}",
                    dev_environment_compiler         : "io.github.afkt:DevEnvironmentCompiler:${versions.dev_environment_compiler_version}",
                    dev_environment_compiler_release : "io.github.afkt:DevEnvironmentCompilerRelease:${versions.dev_environment_compiler_release_version}",
                    // DevDeprecated - Dev 系列库弃用代码统一存储库
                    dev_deprecated                   : "io.github.afkt:DevDeprecated:${versions.dev_deprecated_versionName}",
                    // DevJava - Java 工具类库 ( 不依赖 android api )
                    dev_java                         : "io.github.afkt:DevJava:${versions.dev_java_version}",
            ],

            // =================
            // = Android 官方库 =
            // =================

            // https://developer.android.com/jetpack/androidx/explorer
            // https://developer.android.com/jetpack/androidx/releases
            // https://developer.android.com/jetpack/androidx/versions
            // https://developer.android.com/jetpack/androidx/versions/stable-channel
            // https://developer.android.com/jetpack/androidx/migrate/artifact-mappings

            "kotlin"  : [
                    // https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib
                    stdlib                        : "org.jetbrains.kotlin:kotlin-stdlib:${versions.kotlin_stdlib_version}",
                    // https://mvnrepository.com/artifact/androidx.core/core-ktx
                    core                          : "androidx.core:core-ktx:1.17.0",
                    // https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-core
                    coroutines                    : "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2",
                    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime-ktx
                    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-viewmodel-ktx
                    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-livedata-ktx
                    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-viewmodel-savedstate
                    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-common-java8
                    // Lifecycles only ( without ViewModel or LiveData )
                    // https://developer.android.com/jetpack/androidx/releases/lifecycle
                    lifecycle_runtime             : "androidx.lifecycle:lifecycle-runtime-ktx:2.9.3",
                    // ViewModel
                    lifecycle_viewmodel           : "androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.3",
                    // LiveData
                    lifecycle_livedata            : "androidx.lifecycle:lifecycle-livedata-ktx:2.9.3",
                    // Saved state module for ViewModel
                    lifecycle_viewmodel_savedstate: "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.3",
                    // DefaultLifecycleObserver Java8
                    lifecycle_common_java8        : "androidx.lifecycle:lifecycle-common-java8:2.9.3",
                    // https://mvnrepository.com/artifact/androidx.activity/activity-ktx
                    // https://developer.android.com/jetpack/androidx/releases/activity
                    activity                      : "androidx.activity:activity-ktx:1.11.0-rc01",
                    // https://mvnrepository.com/artifact/androidx.fragment/fragment-ktx
                    fragment                      : "androidx.fragment:fragment-ktx:1.8.9",
                    // https://mvnrepository.com/artifact/androidx.navigation/navigation-fragment-ktx
                    // https://mvnrepository.com/artifact/androidx.navigation/navigation-ui-ktx
                    // https://developer.android.com/guide/navigation
                    // https://developer.android.com/jetpack/androidx/releases/navigation
                    navigation_fragment           : "androidx.navigation:navigation-fragment-ktx:2.9.3",
                    navigation_ui                 : "androidx.navigation:navigation-ui-ktx:2.9.3",
                    // https://mvnrepository.com/artifact/androidx.work/work-runtime-ktx
                    // WorkManager Kotlin + coroutines
                    work_runtime                  : "androidx.work:work-runtime-ktx:2.10.3",
                    // https://mvnrepository.com/artifact/androidx.room/room-runtime
                    // https://mvnrepository.com/artifact/androidx.room/room-compiler
                    // https://mvnrepository.com/artifact/androidx.room/room-ktx
                    // Room 持久性库 https://developer.android.com/training/data-storage/room
                    room_runtime                  : "androidx.room:room-runtime:2.7.2",
                    room_compiler                 : "androidx.room:room-compiler:2.7.2",
                    room                          : "androidx.room:room-ktx:2.7.2",
                    // https://mvnrepository.com/artifact/androidx.palette/palette-ktx
                    // Palette 调色板 ( 从图片中获取颜色 )
                    palette                       : "androidx.palette:palette-ktx:1.0.0",
                    // https://mvnrepository.com/artifact/androidx.datastore/datastore-preferences
                    // https://developer.android.com/jetpack/androidx/releases/datastore
                    // DataStore https://developer.android.com/topic/libraries/architecture/datastore
                    datastore_preferences         : "androidx.datastore:datastore-preferences:1.1.7",
            ],
            "androidx": [
                    // https://mvnrepository.com/artifact/androidx.multidex/multidex
                    multidex             : "androidx.multidex:multidex:2.0.1",
                    // https://mvnrepository.com/artifact/androidx.appcompat/appcompat
                    appcompat            : "androidx.appcompat:appcompat:1.7.1",
                    // https://mvnrepository.com/artifact/androidx.appcompat/appcompat-resources
                    appcompat_resources  : "androidx.appcompat:appcompat-resources:1.7.1",
                    // https://mvnrepository.com/artifact/androidx.cardview/cardview
                    cardview             : "androidx.cardview:cardview:1.0.0",
                    // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
                    constraint_layout    : "androidx.constraintlayout:constraintlayout:2.2.1",
                    // https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
                    recyclerview         : "androidx.recyclerview:recyclerview:1.4.0",
                    // https://mvnrepository.com/artifact/androidx.viewpager2/viewpager2
                    viewpager2           : "androidx.viewpager2:viewpager2:1.1.0",
                    // https://mvnrepository.com/artifact/androidx.activity/activity
                    activity             : "androidx.activity:activity:1.11.0-rc01",
                    // https://mvnrepository.com/artifact/androidx.fragment/fragment
                    fragment             : "androidx.fragment:fragment:1.8.9",
                    // https://mvnrepository.com/artifact/androidx.navigation/navigation-fragment
                    // https://mvnrepository.com/artifact/androidx.navigation/navigation-ui
                    // https://developer.android.com/guide/navigation
                    // https://developer.android.com/jetpack/androidx/releases/navigation
                    navigation_fragment  : "androidx.navigation:navigation-fragment:2.9.3",
                    navigation_ui        : "androidx.navigation:navigation-ui:2.9.3",
                    // https://mvnrepository.com/artifact/androidx.work/work-runtime
                    // WorkManager Java only
                    work_runtime         : "androidx.work:work-runtime:2.10.3",
                    // https://mvnrepository.com/artifact/androidx.sqlite/sqlite
                    sqlite               : "androidx.sqlite:sqlite:2.5.2", // 推荐使用 Room Jetpack 组件
                    // https://mvnrepository.com/artifact/androidx.palette/palette
                    // Palette 调色板 ( 从图片中获取颜色 )
                    palette              : "androidx.palette:palette:1.0.0",
                    // https://mvnrepository.com/artifact/com.google.android.material/material
                    // Android Material 组件
                    design               : "com.google.android.material:material:1.13.0",
                    // https://mvnrepository.com/artifact/com.google.android.flexbox/flexbox
                    // https://github.com/google/flexbox-layout
                    // Android 可伸缩布局 FlexboxLayout ( 支持 RecyclerView 集成 )
                    flexbox              : "com.google.android.flexbox:flexbox:3.0.0",
                    // https://mvnrepository.com/artifact/androidx.startup/startup-runtime
                    // https://developer.android.com/topic/libraries/app-startup
                    startup              : "androidx.startup:startup-runtime:1.2.0",
                    // https://mvnrepository.com/artifact/androidx.exifinterface/exifinterface
                    // 读取和写入图片文件 EXIF 标记 https://developer.android.com/jetpack/androidx/releases/exifinterface
                    exifinterface        : "androidx.exifinterface:exifinterface:1.4.1",
                    // https://mvnrepository.com/artifact/androidx.localbroadcastmanager/localbroadcastmanager
                    // 读取和写入图片文件 EXIF 标记 https://developer.android.com/jetpack/androidx/releases/localbroadcastmanager
                    localbroadcastManager        : "androidx.localbroadcastmanager:localbroadcastmanager:1.1.0",
                    // https://mvnrepository.com/artifact/com.google.dagger/hilt-android
                    // https://mvnrepository.com/artifact/com.google.dagger/hilt-android-compiler
                    // Hilt 依赖注入 https://developer.android.com/training/dependency-injection/hilt-android
                    hilt_android         : "com.google.dagger:hilt-android:2.57.1",
                    hilt_android_compiler: "com.google.dagger:hilt-android-compiler:2.57.1",
            ],
    ]
}