Skip to main content

Zap - 轻量级 Gradle 依赖管理 CLI

Zap 是一个现代化的 Gradle 依赖管理工具,旨在简化 Java/Kotlin 项目中的依赖添加、搜索和管理流程。它通过智能化的版本目录(Version Catalog)管理和 Maven Central 搜索集成,为开发者提供流畅的依赖管理体验。

✨ 特性

  • 🚀 智能依赖搜索 - 集成 Maven Central 搜索,支持模糊匹配和版本推荐
  • 📋 版本目录管理 - 自动生成和维护 gradle/libs.versions.toml 文件
  • 🔧 Gradle 构建文件集成 - 自动更新 build.gradle(.kts) 文件
  • 🎯 内置别名映射 - 常用库的智能别名(Jackson、Gson、OkHttp、Retrofit 等)
  • 🌐 镜像源支持 - 支持 Maven Central 和阿里云镜像
  • 🎨 现代化 CLI - 基于 Typer 的友好命令行界面,支持富文本输出
  • 🔍 模糊搜索匹配 - 支持 artifact 名称和 group 的智能搜索
  • 📦 版本管理 - 支持版本引用和集中版本管理

📦 安装

使用 pip 安装

pip install gradle-zap

从源码安装

git clone <repository-url>
cd zap
pip install -e .

开发环境设置

# 克隆项目
git clone <repository-url>
cd zap

# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate  # Windows

# 安装依赖
pip install -r requirements.txt

# 安装项目
pip install -e .

🚀 快速开始

基本用法

# 添加依赖(自动搜索最新版本)
zap add com.fasterxml.jackson.core:jackson-databind

# 使用内置别名快速添加
zap add jackson

# 指定版本添加
zap add com.squareup.okhttp3:okhttp:4.12.0

# 自定义别名
zap add com.google.code.gson:gson --alias google_json

# 搜索依赖
zap search retrofit

# 列出所有依赖
zap list

# 删除依赖
zap rm jackson

镜像源管理

# 查看可用镜像
zap search-mirror list

# 切换到阿里云镜像
zap search-mirror use aliyun

# 恢复默认镜像
zap search-mirror reset

Spring Boot 项目支持

# 添加 Spring Boot 相关依赖
zap spring add web
zap spring add data-jpa
zap spring add security

Ktor 项目支持

# 添加 Ktor 相关依赖
zap ktor add server-core
zap ktor add serialization
zap ktor add auth

📋 命令详解

添加依赖 (add)

zap add <target> [options]

参数说明:

  • target: 依赖标识,支持多种格式:
    • group:artifact[:version] - 完整的 GAV 坐标
    • artifact[:version] - 仅 artifact 名称(自动搜索 group)
    • alias:version - 已存在别名的版本覆盖

选项:

  • --alias, -a <name> - 自定义别名
  • --limit, -l <num> - 搜索结果数量限制(默认:20)
  • --force, -f - 强制覆盖已存在的依赖

示例:

zap add jackson                           # 使用内置别名
zap add okhttp:4.12.0                    # 仅指定 artifact 和版本
zap add com.squareup.retrofit2:retrofit  # 完整 GAV
zap add gson --alias google_json         # 自定义别名

试运行 (try-add)

在不修改文件的情况下预览添加结果:

zap try-add <target> [options]

搜索依赖 (search)

zap search <artifact> [--limit <num>]

删除依赖 (rm)

zap rm <key> [--force]

支持模糊匹配和精确匹配,可以删除 catalog 中的依赖或直接依赖。

列出依赖 (list)

zap list

显示项目中所有的依赖,包括版本目录中的和直接写在构建文件中的。

同步依赖 (sync)

zap sync [--gradlew <path>] [--args <args>]

调用 Gradle Wrapper 触发依赖下载和同步。

🏗️ 项目结构

zap/
├── zap/
│   ├── __init__.py          # 包入口和版本信息
│   ├── cli.py               # 主要 CLI 命令实现
│   ├── catalog.py           # 版本目录管理
│   ├── gradle.py            # Gradle 构建文件操作
│   ├── maven.py             # Maven Central API 集成
│   ├── config.py            # 配置文件管理
│   ├── types.py             # 数据类型定义
│   ├── spring.py            # Spring Boot 支持
│   └── ktor.py              # Ktor 支持
├── main.py                  # 程序入口
├── pyproject.toml           # 项目配置
└── README.md               # 项目文档

🔧 核心技术

  • CLI 框架: Typer - 现代化的 Python CLI 框架
  • 构建工具: Python 3.14+ with setuptools
  • 依赖管理: tomlkit (TOML 文件操作), requests (HTTP 请求)
  • 富文本输出: rich - 终端富文本和漂亮格式化
  • 类型安全: 完整的类型注解支持

🎯 内置别名

Zap 提供常用库的预置别名映射:

别名 完整坐标 说明
jackson com.fasterxml.jackson.core:jackson-databind JSON 处理库
gson com.google.code.gson:gson Google JSON 库
okhttp com.squareup.okhttp3:okhttp HTTP 客户端
retrofit com.squareup.retrofit2:retrofit REST 客户端

🔍 智能搜索

Zap 的搜索功能支持:

  1. 精确匹配 - 完全匹配 group、artifact 或别名
  2. 模糊匹配 - 子字符串匹配,不区分大小写
  3. 版本推荐 - 基于使用频率和稳定性推荐版本
  4. 多源搜索 - 支持 Maven Central 和阿里云镜像

⚙️ 配置文件

Zap 使用 .zaprc 文件存储项目级配置:

search_base = "https://maven.aliyun.com/repository/central"

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

开发建议

  • 遵循 PEP 8 编码规范
  • 添加完整的类型注解
  • 编写单元测试
  • 更新文档和 README

📝 许可证

本项目基于 MIT 许可证开源 - 查看 LICENSE 文件了解详情。

🙏 致谢

  • Typer - 现代化 CLI 框架
  • Rich - 终端富文本库
  • tomlkit - TOML 文件处理
  • Maven Central - 依赖搜索 API

🔗 相关链接


Zap - 让 Gradle 依赖管理变得简单高效!

Release files for gradle-zap 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gradle-zap 0.1.0
File Size Uploaded
gradle_zap-0.1.0.tar.gz 25.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gradle-zap 0.1.0
File Interpreter ABI Platform
gradle_zap-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.6 kB

Release files / gradle_zap-0.1.0.tar.gz

Download URL gradle_zap-0.1.0.tar.gz
Size 25.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7db59d22e465017b3e6b1718d1016656a8a562e9cb615b554c96794a957ef2bf
BLAKE2b-256 checksum
How to use checksums
2aa96b15bb53431396d51c3bd2735e367599fb7e6a42fe1fb3eb536707f773d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release files / gradle_zap-0.1.0-py3-none-any.whl

Download URL gradle_zap-0.1.0-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7520560ede72f95f8e441e7e9fef075763fccb342b66eaa7069e5e48142f7378
BLAKE2b-256 checksum
How to use checksums
ba08df138d29e95208d396b59a815166be3db2bb64a42e53133009c2a0748837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page