Skip to main content

project-gradle-central-deps

在 DevUtils 工程(仓库布局契约 DEPS_ROOT=file/gradle、DEPS_MANIFEST=file/deps)中 新增或引用 Gradle 依赖时,先查 {DEPS_ROOT}/config.gradle、config_kotlin.gradle、 config_androidx.gradle 与 config_libs.gradle 是否已有坐标;按官方/非官方规则写入对应文件分组, 并在 {DEPS_MANIFEST}/deps_android.gradle 或 deps_project.gradle 中按现有风格引用。在用户要求添加 AndroidX、CameraX、Kotlin、Jetpack、第三方 Maven 依赖或修改 deps 清单时使用。

소스 정보

저장소
afkT/DevUtils
최근 소스 활동
2026년 6월 27일 18:23
감지된 SKILL.md 언어
중국어
스타
1,613
포크
316

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
project-gradle-central-deps
description
在 DevUtils 工程(仓库布局契约 DEPS_ROOT=file/gradle、DEPS_MANIFEST=file/deps)中 新增或引用 Gradle 依赖时,先查 {DEPS_ROOT}/config.gradle、config_kotlin.gradle、 config_androidx.gradle 与 config_libs.gradle 是否已有坐标;按官方/非官方规则写入对应文件分组, 并在 {DEPS_MANIFEST}/deps_android.gradle 或 deps_project.gradle 中按现有风格引用。在用户要求添加 AndroidX、CameraX、Kotlin、Jetpack、第三方 Maven 依赖或修改 deps 清单时使用。
# Project 中心化依赖(Gradle) ## 仓库布局契约(路径唯一来源) 本 Skill 内凡出现依赖配置路径,均以下列符号展开;**将来若抽成 `project-gradle-*` 或 fork 改目录,只改本表一行即可**。 | 符号 | 当前值(DevUtils) | 说明 | |------|-------------------|------| | `DEPS_ROOT` | `file/gradle` | 坐标定义:`ext.deps`、`ext.deps_lib`、`versions.gradle` 等 | | `DEPS_MANIFEST` | `file/deps` | 业务侧聚合引用:`deps_*.gradle` | **常用文件(由契约展开)** | 符号路径 | 变量 | 用途 | |----------|------|------| | `{DEPS_ROOT}/config.gradle` | `deps` | 构建插件 `build`、`dev` 分组 | | `{DEPS_ROOT}/config_kotlin.gradle` | `deps_kotlin` | 官方 Kotlin / JetBrains 生态及 KTX | | `{DEPS_ROOT}/config_androidx.gradle` | `deps_androidx` | `androidx.*` Jetpack / Material 等官方库 | | `{DEPS_ROOT}/config_libs.gradle` | `deps_lib` | 非 Android 官方第三方库 | | `{DEPS_ROOT}/versions.gradle` | `versions` | `${versions.xxx}` 集中版本号 | | `{DEPS_MANIFEST}/deps_android.gradle` | — | 引用 `deps_kotlin.*` / `deps_androidx.*`(Android 库 / 示例) | | `{DEPS_MANIFEST}/deps_project.gradle` | — | 引用 `deps_lib.*`(示例 / 第三方 lib 聚合) | `{DEPS_ROOT}/config.gradle` 首部依次 `apply` 了 `config_kotlin.gradle`(`ext.deps_kotlin`)、`config_androidx.gradle`(`ext.deps_androidx`)、`config_libs.gradle`(`ext.deps_lib`),再定义 `ext.deps`(仅 `build` / `dev`);根工程 `build.gradle` 只需 `apply` `config.gradle` 即可加载全部 `ext.deps*`。**任何新依赖必须先查是否已存在,禁止重复定义同一坐标。** > 升级已有 GAV 版本、多源校验写回 → Read [project-gradle-third-party-version-upgrade/SKILL.md](../project-gradle-third-party-version-upgrade/SKILL.md)(沿用同一 `DEPS_ROOT` / `DEPS_MANIFEST`)。 ## 0. 官方 Android 库检索(新增依赖前建议查阅) 写入 `{DEPS_ROOT}/config_androidx.gradle`(`deps_androidx`)/ `config_kotlin.gradle`(`deps_kotlin`)的 **官方坐标** 前,优先在下列站点核对 **artifact 名、稳定版号、分组语义**: | 用途 | 链接 | |------|------| | **AndroidX 版本总览(中文,推荐)** | [https://developer.android.com/jetpack/androidx/versions?hl=zh-cn](https://developer.android.com/jetpack/androidx/versions?hl=zh-cn) | | AndroidX 库浏览 | [https://developer.android.com/jetpack/androidx/explorer](https://developer.android.com/jetpack/androidx/explorer) | | 各库 Release Notes | [https://developer.android.com/jetpack/androidx/releases](https://developer.android.com/jetpack/androidx/releases) | | 稳定渠道说明 | [https://developer.android.com/jetpack/androidx/versions/stable-channel](https://developer.android.com/jetpack/androidx/versions/stable-channel) | | 旧 Support → AndroidX 映射 | [https://developer.android.com/jetpack/androidx/migrate/artifact-mappings](https://developer.android.com/jetpack/androidx/migrate/artifact-mappings) | `{DEPS_ROOT}/config_androidx.gradle` / `config_kotlin.gradle` 内 **「Android 官方库」** 区块注释已收录上表部分链接;**查版本号以中文版总览页为准**,与文件中各条目旁的 `mvnrepository.com` 链接交叉核对。 第三方 / 非官方库不在此页检索 → 使用 [mvnrepository.com](https://mvnrepository.com/) 或库方 GitHub,并写入 `{DEPS_ROOT}/config_libs.gradle`。 ## 1. 查找是否已存在 按优先级在 `{DEPS_ROOT}` 下四个坐标文件全文检索(建议对 **artifact 名**、**group**、**已有 key** 各搜一次): | 文件 | 变量 | 用途 | |------|------|------| | `{DEPS_ROOT}/config.gradle` | `deps` | 构建插件 `build`、`dev` 分组 | | `{DEPS_ROOT}/config_kotlin.gradle` | `deps_kotlin` | **官方** Kotlin / JetBrains 生态及相关 KTX | | `{DEPS_ROOT}/config_androidx.gradle` | `deps_androidx` | **官方** `androidx.*` / Material 等 | | `{DEPS_ROOT}/config_libs.gradle` | `deps_lib` | **非 Android 官方**第三方库,按子分组组织 | 若已存在:跳到 **第 4 步**,只在本模块或 `{DEPS_MANIFEST}/*.gradle` 中增加 `api` / `implementation` / `kapt` 引用,**不要**再写一条相同 GAV 的配置。 ## 2. 不存在时:决定写入哪个文件、哪个分组 ### 2.1 写入官方坐标文件(`deps` / `deps_kotlin` / `deps_androidx`) 在同时满足「官方」且语义属于下列范围时使用: - **`{DEPS_ROOT}/config_kotlin.gradle`(`deps_kotlin`,顶层平铺 map)**:`org.jetbrains.kotlin`、`org.jetbrains.kotlinx`、`org.jetbrains.dokka`;与 Kotlin/JetBrains 生态强相关、且现有 `deps_kotlin` 里同类条目并列的 AndroidX KTX(若团队惯例放在 `deps_kotlin` 而非纯 `deps_androidx`,与文件内现有条目保持一致)。 - **`{DEPS_ROOT}/config_androidx.gradle`(`deps_androidx`,顶层平铺 map)**:`androidx.*` Jetpack/AndroidX 构件;`com.google.android.material:material` 等与官方文档并列的 Material 组件(本仓库当前放在 `deps_androidx`);`com.google.dagger:hilt-android*` 等本文件已有先例的官方栈。 - **`{DEPS_ROOT}/config.gradle`(`deps`)→ `build` 分组**:Gradle 插件类坐标(与现有 `kotlin_gradle_plugin` 等并列)。 - **`{DEPS_ROOT}/config.gradle`(`deps`)→ `dev` 分组**:仅 `io.github.afkt` Dev 系列,勿把外部库塞入。 **CameraX**(`androidx.camera:*`)属于 AndroidX 官方 → 新增键应放在 `config_androidx.gradle` 的 `deps_androidx`(除非仓库后续另有约定;以文件内同类 `androidx.*` 为准)。 ### 2.2 写入 `{DEPS_ROOT}/config_libs.gradle`(`deps_lib`) - 非 Google/JetBrains/AndroidX 官方发布、或 group 为第三方域名(如 `com.squareup`、`com.github.*`、`io.github.*` 等)→ 放入 **`deps_lib`**。 - 在现有子分组中选语义最接近的一个(如网络 `common`、图片 `image_widget`、路由 `router`)。**不要**把明显不属于该分组的库硬塞进去。 - 若确实没有合适分组:**在 `deps_lib` 顶层新增一个子 map 键**(命名风格与现有一致:小写 + 下划线,如 `camera_kit`),并在该块顶部用与全文件一致的 **区块注释**(`// ===...===` + 简短中文说明)。 ### 2.3 与 `{DEPS_ROOT}/versions.gradle` 的关系 `config.gradle` / `config_kotlin.gradle` / `config_androidx.gradle` / `config_libs.gradle` 首行均 `apply from: versions.gradle`(相对 `{DEPS_ROOT}`)。若版本需多处复用或与 Kotlin 版本对齐,可像 `kotlin-gradle-plugin` 那样使用 `${versions.xxx}`;否则可直接写死版本号(与现有条目风格一致)。 ## 3. 新增条目时的注释与 key 命名 参考 `{DEPS_ROOT}` 下两文件中已有行: - 可选:`// https://mvnrepository.com/artifact/...` - 一行中文说明 + 官方文档或 GitHub 链接(与邻近条目同级)。 - **key**:全小写 + 下划线,语义清晰(如 `camerax_camera2`、`camerax_lifecycle`);同一库多模块多个 key 时保持前缀一致。 ## 4. 在业务侧引用(`DEPS_MANIFEST`) - **Android 库 / 示例里与官方坐标相关的清单**:照 `{DEPS_MANIFEST}/deps_android.gradle` —— `api deps_kotlin.<key>`、`api deps_androidx.<key>`,需要处理器时用 `kapt`(与模块现有写法一致)。 - **示例工程、第三方 lib 聚合清单**:照 `{DEPS_MANIFEST}/deps_project.gradle` —— `api deps_lib.<子分组>.<key>`,并保留分组标题注释与简短中文/GitHub 说明。 具体模块若直接写依赖而不走 `deps_kotlin`/`deps_androidx`/`deps_lib`,仍应使用**同一字符串**(如 `api deps_androidx.camerax`),避免复制一份硬编码 GAV。 ## 5. 自检清单 - [ ] 官方 AndroidX/Kotlin 坐标已在 [AndroidX 版本总览(中文)](https://developer.android.com/jetpack/androidx/versions?hl=zh-cn) 核对稳定版号与 artifact 名。 - [ ] 已在 `{DEPS_ROOT}/config.gradle`、`config_kotlin.gradle`、`config_androidx.gradle` 与 `config_libs.gradle` 中确认无重复坐标。 - [ ] 官方/非官方归属与文件分组、注释风格与邻居一致。 - [ ] 若在 `deps` / `deps_kotlin` / `deps_androidx` / `deps_lib` 新增 key,已在 `{DEPS_MANIFEST}/deps_*.gradle` 或目标模块 `build.gradle` 中增加引用行。 - [ ] 需要注解处理器时同时声明 `kapt` 行(若该模块已使用 kapt)。
GitHub에서 보기