跳转至

CCGO 路线图

版本:v3.0.12 | 更新时间:2026-01-22

项目状态概览

模块 进度 状态
Python CLI 100% 功能完整,维护模式
Rust CLI 100% 功能完整,零 Python 依赖 ✅
跨平台构建 100% 支持 8 个平台
Docker 构建 100% 通用交叉编译
依赖管理 100% Git、路径、补丁、锁文件、传递依赖解析 ✅
发布系统 100% Maven、CocoaPods、SPM、OHPM、Conan
模板系统 100% 基于 Copier 的项目生成
CMake 集成 100% 集中化构建脚本
Gradle 插件 100% Android/KMP 约定插件
文档 100% 带 i18n 的 MkDocs(本文档!)

支持平台:Android、iOS、macOS、Windows、Linux、OpenHarmony、watchOS、tvOS、Kotlin 多平台


优先级定义

  • P0(关键):阻塞核心功能或发布
  • P1(高):重要功能或重大改进
  • P2(中):增强功能,有价值但不紧急
  • P3(低):长期规划,锦上添花

P0 - 关键(当前版本 v3.1)🔥

1. Rust CLI 功能对等

状态:100% 完成 ✅ | 目标:v3.1.0(2026 年 Q1)

  • 核心构建命令(build、test、bench、doc)✅
  • 依赖管理(带锁文件的 install)✅
  • 项目创建(new、init)✅
  • 版本管理(tag、package)✅
  • vendor 命令实现 ✅
  • update 命令用于依赖更新 ✅
  • run 命令用于示例/二进制文件 ✅
  • CI 命令编排(通过组合命令实现)✅
  • 从 Python 完全迁移到 Rust ✅
  • 零 Python 依赖(直接调用 Copier)✅

理由:Rust 提供更好的性能、类型安全和更简单的分发(单一二进制)。

2. 文档完善

状态:100% 完成 | 目标:v3.1.0(2026 年 Q1)✅

  • 带 i18n 的 MkDocs 设置 ✅
  • 首页和快速入门 ✅
  • 完整的平台指南(Android、iOS、macOS、Linux、Windows、OpenHarmony、KMP)✅
  • CLI 参考文档 ✅
  • CCGO.toml 配置参考 ✅
  • CMake 集成指南 ✅
  • Gradle 插件参考 ✅
  • 迁移指南(从 Conan、Python 到 Rust)✅

理由:良好的文档对用户采用和减少支持负担至关重要。

3. 错误处理增强

状态:100% 完成 | 目标:v3.1.0(2026 年 Q1)✅

  • Rust CLI 中的统一错误类型 ✅
  • 带上下文提示的自定义错误类型 ✅
  • 带有可操作提示的用户友好错误消息 ✅
  • 工具缺失时的优雅降级 ✅
  • 全面的配置验证 ✅
  • 带需求级别的工具检测模块 ✅
  • 集成到构建/发布命令 ✅
  • 构建失败的诊断与常见解决方案 ✅

P1 - 高(v3.2-v3.3)🚀

4. 包注册表支持

状态:0% 完成 | 目标:v3.2.0(2026 年 Q2)

  • ccgo-registry 服务器实现
  • 发布包到 ccgo-registry
  • 包发现和搜索
  • 语义版本解析
  • 私有注册表支持
  • 与现有注册表集成(Conan Center、vcpkg)

理由:在组织和社区内更轻松地共享依赖。

5. IDE 集成

状态:100% 完成 ✅ | 目标:v3.2.0(2026 年 Q2)

  • VS Code 扩展 (vscode-ccgo/) ✅
  • CCGO.toml 语法高亮(TextMate 语法)
  • JSON Schema 验证与错误提示
  • 构建任务集成(所有平台,debug/release)
  • 依赖树可视化(通过 ccgo tree --format json
  • 常用模式的代码片段
  • CLion/Android Studio 插件 (jetbrains-ccgo/) ✅
  • CCGO.toml 语法高亮(TOML 插件集成)
  • JSON Schema 实时验证与错误提示
  • 所有平台和命令的运行配置
  • 依赖树工具窗口
  • 常用模式的实时模板
  • 插件配置设置界面
  • Neovim 插件 (nvim-ccgo/) ✅
  • Taplo LSP 集成与 CCGO schema
  • 带 Telescope 集成的构建命令
  • 依赖树侧边栏查看器
  • LuaSnip 代码片段(14+ 模板)
  • 平台/架构选择器
  • Xcode 项目生成 (ccgo build ios/macos --ide-project) ✅
  • Visual Studio 项目生成 (ccgo build windows --ide-project) ✅
  • Linux IDE 项目生成 (ccgo build linux --ide-project) ✅
  • CodeLite 工作区 + compile_commands.json 用于 VS Code/clangd

理由:更好的 IDE 支持改善开发者体验。

6. 构建性能优化

状态:67% 完成 | 目标:v3.3.0(2026 年 Q2)

  • 并行平台构建 ✅
  • Docker 层缓存 ✅
  • 增量构建(仅重建更改的源)
  • 构建缓存共享(ccache、sccache 集成)✅
  • 远程构建执行(distcc、icecc)
  • 构建分析和性能分析 ✅

理由:更快的构建 = 更快乐的开发者。

7. 高级依赖功能

状态:100% 完成 ✅ | 目标:v3.3.0(2026 年 Q2)

  • 带修订固定的 Git 依赖 ✅
  • 路径依赖 ✅
  • 锁文件生成 ✅
  • 依赖覆盖/补丁 ✅
  • 依赖 vendoring 改进 ✅
  • SHA-256 校验和验证
  • 构建制品排除规则(target/、cmake_build/ 等)
  • 传递依赖解析 ✅(文档
  • 版本冲突解决策略 ✅
  • First(默认)、Highest、Lowest、Strict 模式
  • install 命令中的 --conflict-strategy CLI 选项
  • 工作区依赖(monorepo 支持)✅
  • build/install 命令的 --workspace 标志
  • --package <name> 用于指定特定成员

P2 - 中(v3.4-v4.0)📦

8. 测试框架增强

状态:100% 完成 ✅ | 目标:v3.4.0(2026 年 Q3)

  • Google Test 集成 ✅
  • Catch2 集成 ✅
  • 测试发现改进 ✅
  • GoogleTest、Catch2 和 CTest 发现
  • 按名称模式过滤测试
  • 基于测试套件的组织
  • 代码覆盖率报告 ✅
  • 支持 gcov、llvm-cov、lcov
  • HTML、LCOV、JSON、Cobertura 输出格式
  • 通过 --fail-under-coverage 强制阈值
  • 测试结果聚合 ✅
  • XML 结果解析(GoogleTest 格式)
  • 跨套件聚合
  • JUnit XML 导出
  • 基准测试结果比较 ✅
  • Google Benchmark JSON 解析
  • 基线比较与回归检测
  • Markdown/JSON 导出报告
  • 与 CI 服务集成 ✅
  • GitHub Actions、GitLab CI、Azure DevOps、Jenkins、TeamCity
  • 自动检测 CI 环境
  • 原生 CI 注解格式

9. 代码生成工具

状态:0% 完成 | 目标:v3.5.0(2026 年 Q3)

  • Protocol Buffers 支持
  • Flat Buffers 支持
  • gRPC 支持
  • GraphQL 代码生成
  • OpenAPI 客户端生成
  • 自定义代码生成插件系统

10. 平台特定功能

状态:各异 | 目标:v3.6.0(2026 年 Q4)

  • Android
  • Jetpack Compose 原生互操作
  • Android Studio 插件
  • R8/ProGuard 配置
  • iOS/macOS
  • SwiftUI 互操作辅助工具
  • Xcode Cloud 集成
  • App Clip 支持
  • OpenHarmony
  • DevEco Studio 集成
  • ArkTS 互操作
  • Windows
  • UWP 支持
  • WinUI 3 集成

11. 安全功能

状态:20% 完成 | 目标:v3.7.0(2026 年 Q4)

  • 基本校验和验证 ✅
  • 依赖的 GPG 签名验证
  • 安全审计报告
  • 依赖的 CVE 扫描
  • 供应链安全(SLSA 合规)
  • 代码签名自动化

P3 - 低(v4.0+)🔮

12. WebAssembly 支持

状态:0% 完成 | 目标:v4.0.0(2027)

  • WASM 目标编译
  • Emscripten 集成
  • WASI 支持
  • WebAssembly 系统接口(WASI)

13. AI 驱动功能

状态:0% 完成 | 目标:v4.1.0(2027)

  • 基于项目分析的依赖建议
  • 构建配置优化建议
  • 从其他构建系统自动迁移
  • 从自然语言生成代码

14. 云构建服务

状态:0% 完成 | 目标:v4.2.0(2027)

  • 托管构建服务(ccgo-cloud)
  • 分布式缓存
  • 构建分析仪表板
  • 团队协作功能

15. 高级平台支持

状态:0% 完成 | 目标:v4.x(2027+)

  • FreeBSD 支持
  • Haiku OS 支持
  • RISC-V 架构支持
  • LoongArch 架构支持
  • PlayStation/Xbox 平台(如果许可允许)

最近完成(v3.0)✅

构建性能优化(v3.0.12)

  • 构建缓存共享(ccache、sccache 集成)
  • 自动检测 PATH 中的 ccache/sccache
  • 优先顺序:sccache > ccache(sccache 更快,功能更多)
  • CMAKE_C_COMPILER_LAUNCHER 和 CMAKE_CXX_COMPILER_LAUNCHER 配置
  • --cache CLI 选项:auto(默认)、ccache、sccache、none
  • 集成到所有平台构建器
  • 构建分析和性能分析
  • 每个阶段的构建计时(配置、编译、链接、打包)
  • 来自 ccache/sccache 的缓存命中/未命中统计
  • 文件数量和制品大小跟踪
  • 历史数据存储在 ~/.ccgo/analytics/
  • --analytics 标志显示构建指标
  • ccgo analytics 命令查看构建历史
  • 与历史平均值的比较

测试框架增强(v3.0.12)

  • 测试发现改进
  • GoogleTest(--gtest_list_tests)、Catch2(--list-tests)、CTest(ctest -N
  • 支持正则表达式的测试名称过滤
  • 基于套件的组织和列表
  • 代码覆盖率报告
  • 支持 gcov、llvm-cov、lcov 工具
  • 输出格式:HTML、LCOV、JSON、Cobertura、Summary
  • 通过 --fail-under-coverage 标志强制阈值
  • 测试结果聚合
  • GoogleTest XML 结果解析
  • 跨套件聚合,包含通过/失败/跳过计数
  • JUnit XML 导出用于 CI 集成
  • 基准测试结果比较
  • Google Benchmark JSON 解析
  • 可配置阈值的基线比较
  • 通过 --fail-on-regression 进行回归检测
  • Markdown/JSON 导出报告
  • CI 服务集成
  • GitHub Actions(工作流注解)
  • GitLab CI(可折叠部分)
  • Azure DevOps(任务命令)
  • Jenkins(控制台格式化)
  • TeamCity(服务消息)
  • 通过环境变量自动检测

高级依赖功能(v3.0.12)

  • 依赖 vendoring 改进
  • SHA-256 校验和验证
  • 构建制品排除规则(target/、cmake_build/、bin/ 等)
  • 改进的归档创建和目录处理
  • 版本冲突解决策略
  • 四种策略:First(默认)、Highest、Lowest、Strict
  • install 命令的 --conflict-strategy CLI 选项
  • 集成到 VersionResolver 的策略感知解析
  • 工作区依赖(monorepo 支持)
  • --workspace 标志用于构建/安装所有工作区成员
  • --package <name> 用于指定特定工作区成员
  • 用于成员间依赖的拓扑排序解析

传递依赖解析(v3.0.11)

  • 带循环检测的依赖图(DFS 算法)
  • 用于正确构建顺序的拓扑排序(Kahn 算法)
  • 依赖树可视化与共享依赖检测
  • 版本冲突警告
  • 带路径处理的递归 CCGO.toml 解析
  • 最大深度保护(50 层)
  • 集成到 ccgo install 命令
  • 全面的测试套件(10 个测试:7 个解析器 + 3 个图)
  • 完整文档(docs/dependency-resolution.md

Rust CLI 迁移(部分)

  • 项目架构重新设计
  • 核心命令实现
  • 依赖管理系统
  • 构建编排
  • 配置解析(CCGO.toml)

Docker 构建系统

  • 基于 Docker 的通用交叉编译
  • 所有平台的预构建 Docker 镜像
  • 镜像缓存和优化
  • 多阶段构建支持

统一发布

  • Maven(本地、私有、中央)发布
  • CocoaPods 发布
  • Swift Package Manager 发布
  • OHPM 发布
  • Conan 发布

Git 集成

  • 自动版本标记
  • 提交消息生成
  • Git hooks(pre-commit)支持
  • 基于 Git 的依赖

如何贡献

我们欢迎贡献!以下是您可以帮助的方式:

  1. 选择功能:从 P1 或 P2 优先级中选择一项
  2. 讨论:开启 GitHub Discussion 或 Issue 讨论您的方法
  3. 实现:遵循我们的贡献指南
  4. 测试:确保您的更改在各平台上工作
  5. 文档:更新新功能的文档
  6. 提交:创建 pull request

详细指南请参阅贡献指南


反馈

对 CCGO 的未来有想法?我们很乐意听到您的声音!


本路线图是一份动态文档,可能会根据社区反馈和项目优先级进行更改。