ext {
    // 模块化配置信息 ( 方便维护不写在 gradle.properties )
    modularConfig = [

            // ==================
            // = project config =
            // ==================

            // ==========
            // = 调试相关 =
            // ==========

            // 是否开启日志
            isOpenLog = true,
            // 是否标记 Debug 模式 ( 与 APK build 模式无关, 用于控制第三方库 debug 标记 )
            isOpenDebug = true,
            // 是否开启优化检测、调试工具 ( 控制 UETool、LeakCanary、BlockCanary 等开关 )
            showDebugTools = true,

            // ==========
            // = 打包相关 =
            // ==========

            // 模块化编译开关 ( true = 每个模块都是独立应用, false = 整合运行 )
            isModular = false,
            // 是否 Release 版本标记 ( 用于标记 APK 是否 Release 发布版本 )
            isRelease = false,
            // 服务器环境配置 ( 例: 1 生产环境、2 测试环境、3 预发布环境、4 开发环境 )
            environmentType = 2, // 只有 isRelease = false 有效, 为 true 则永远使用 生产环境
    ]

    // =============
    // = 签名配置信息 =
    // =============

    modularSigning = [
            "release": [
                    storeFile    : "file/sign/demo.jks",
                    storePassword: "123456",
                    keyAlias     : "demo",
                    keyPassword  : "123456",
            ],
            "debug"  : [
                    storeFile    : "file/sign/demo.jks",
                    storePassword: "123456",
                    keyAlias     : "demo",
                    keyPassword  : "123456",
            ]
    ]

    // ===============
    // = 组件化模块信息 =
    // ===============

    modularVersion = [
            // 主程序 ( 壳 ) 版本信息
            // TODO 非模块化情况下, 打包最终使用该信息 ( "app" 根据 project.getName() )
            "app"            : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.component",
                    // 模块名
                    moduleName    : "APP",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // 启动页 ( 广告页、首次启动引导页 ) Module
            "module_splash"  : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.splash",
                    // 模块名
                    moduleName    : "SPLASH",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // 首页 Module
            "module_main"    : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.main",
                    // 模块名
                    moduleName    : "MAIN",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // Movie Module
            "module_movie"   : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.movie",
                    // 模块名
                    moduleName    : "MOVIE",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // Person Module
            "module_person"  : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.person",
                    // 模块名
                    moduleName    : "PERSON",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // TV Module
            "module_tv"      : [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.tv",
                    // 模块名
                    moduleName    : "TV",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
            // 模板 Module ( 便于 copy )
            "module_template": [
                    // 版本号
                    versionCode   : 100,
                    // 版本名
                    versionName   : "1.0.0",
                    // 包名
                    applicationId : "afkt_replace.module.template",
                    // 模块名
                    moduleName    : "TEMPLATE",
                    // 是否启用模块 ( 在模块化情况下被其他模块依赖, 为 true 时则无法运行为 APP )
                    moduleEnable  : false,
                    // 模块功能版本标识 ( 需求、RP 版本 )
                    featureVersion: "23.01.01",
            ],
    ]

    // ===============
    // = 核心开发库信息 =
    // ===============

    coreLibraryVersion = [

            // =========
            // = 核心库 =
            // =========

            // 核心空壳依赖库
            "core"                    : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core",
                    // 模块名
                    moduleName   : "CORE",
            ],

            // 核心基础依赖库
            "core_base_lib"           : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.base.lib",
                    // 模块名
                    moduleName   : "CORE_BASE_LIB",
            ],

            // ==============
            // = 核心库 libs =
            // ==============

            // 基础 ( 基类等 ) lib
            "core_lib_base"           : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.base",
                    // 模块名
                    moduleName   : "CORE_LIB_BASE",
            ],

            // 基础 ( 基类等 ) lib 拆包
            "core_lib_base_split"     : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.base.split",
                    // 模块名
                    moduleName   : "CORE_LIB_BASE_SPLIT",
            ],

            // 通用实体类 lib
            "core_lib_bean"           : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.bean",
                    // 模块名
                    moduleName   : "CORE_LIB_BEAN",
            ],

            // App 多渠道 lib
            "core_lib_channel_flavors": [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.channel",
                    // 模块名
                    moduleName   : "CORE_LIB_CHANNEL_FLAVORS",
            ],

            // 通用配置、常量 lib
            "core_lib_config"         : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.config",
                    // 模块名
                    moduleName   : "CORE_LIB_CONFIG",
            ],

            // Debug 编译辅助开发库 ( 提供切换环境、抓包数据可视化、调试按钮开关等辅助功能 )
            "core_lib_debug_assist"   : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.debug",
                    // 模块名
                    moduleName   : "CORE_LIB_DEBUG_ASSIST",
            ],

            // 通用 Engine ( 图片加载、日志、JSON、权限、资源选择 等 ) lib
            "core_lib_engine"         : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.engine",
                    // 模块名
                    moduleName   : "CORE_LIB_ENGINE",
            ],

            // 通用环境配置切换库
            "core_lib_environment"    : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.environment",
                    // 模块名
                    moduleName   : "CORE_LIB_ENVIRONMENT",
            ],

            // 通用多语言 lib
            "core_lib_language"       : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.language",
                    // 模块名
                    moduleName   : "CORE_LIB_LANGUAGE",
            ],

            // MVVM 通用代码封装
            "core_lib_mvvm"           : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.mvvm",
                    // 模块名
                    moduleName   : "CORE_LIB_MVVM",
            ],

            // 网络相关 lib ( 网络请求、上传下载 )
            "core_lib_network"        : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.network",
                    // 模块名
                    moduleName   : "CORE_LIB_NETWORK",
            ],

            // 性能优化、检测 lib
            "core_lib_property"       : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.property",
                    // 模块名
                    moduleName   : "CORE_LIB_PROPERTY",
            ],

            // 广播监听 ( 如网络状态、电量、屏幕解锁 ) 相关
            "core_lib_receiver"       : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.receiver",
                    // 模块名
                    moduleName   : "CORE_LIB_RECEIVER",
            ],

            // 路由相关
            "core_lib_router"         : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.router",
                    // 模块名
                    moduleName   : "CORE_LIB_ROUTER",
            ],

            // 通用 UI 样式、资源、交互、控件 lib
            "core_lib_ui"             : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.ui",
                    // 模块名
                    moduleName   : "CORE_LIB_UI",
            ],

            // APP 主题、换肤相关控制
            "core_lib_ui_skin"        : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.ui.skin",
                    // 模块名
                    moduleName   : "CORE_LIB_UI_SKIN",
            ],

            // 通用上传库
            "core_lib_upload"         : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.upload",
                    // 模块名
                    moduleName   : "CORE_LIB_UPLOAD",
            ],

            // 通用工具库
            "core_lib_utils"          : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.utils",
                    // 模块名
                    moduleName   : "CORE_LIB_UTILS",
            ],

            // WebView 相关
            "core_lib_web"            : [
                    // 版本号
                    versionCode  : 100,
                    // 版本名
                    versionName  : "1.0.0",
                    // 包名 ( 用于 namespace )
                    applicationId: "afkt_replace.core.lib.web",
                    // 模块名
                    moduleName   : "CORE_LIB_WEB",
            ],
    ]
}