A comprehensive project and patch management tool for multi-board, multi-project environments with Git integration and automated PO (Patch/Override) operations.
Project description
ProjectManager
通用项目和补丁(PO)管理工具
🚀 快速开始
安装
# 一键安装/升级(推荐)
# 未安装 projman 时安装最新稳定版;已安装时执行 projman update 升级。
curl -fsSL https://raw.githubusercontent.com/wangguanran/ProjectManager/main/install-or-upgrade.sh | bash -s -- --user
# 已 clone 仓库时也可以直接执行
bash install-or-upgrade.sh --user
# 从 PyPI 安装(推荐)
pip install multi-project-manager
# 从源码安装
git clone https://github.com/wangguanran/ProjectManager.git
cd ProjectManager
pip install -e .
# 使用 Docker
docker pull ghcr.io/wangguanran/projectmanager:latest
基本使用
# 创建主板
python -m src board_new myboard
# 创建项目
python -m src project_new myproject
# 创建 PO
python -m src po_new myproject po_feature1
# 应用 PO
python -m src po_apply myproject
📖 项目概述
ProjectManager 是一个适用于多主板、多项目环境的项目管理和补丁(patch/override,PO)管理工具。它支持项目/主板的创建、删除、构建,以及PO目录管理和补丁应用/回滚操作。适用于需要批量管理不同硬件平台和自定义补丁的场景。
✨ 主要功能
- 🏗️ 项目管理: 支持统一管理多个主板和项目
- 🔧 PO管理: 补丁和覆盖的创建、应用、回滚
- 📁 多仓库支持: 支持 .repo 清单和多仓库环境
- 🎯 交互式操作: PO创建的交互式文件选择
- 📊 日志分析: 自动日志归档和性能分析支持
- ⚡ 高性能: 优化的文件操作和配置解析
📚 文档
核心文档
- 用户指南 - 安装、配置与常用命令
- 开发者指南 - 环境搭建、规范与工作流
- 文档索引 / Documentation Index - 选择中文或英文文档入口
🏗️ 项目结构
projects/
├── board01/ # 主板目录
│ ├── board01.ini # 主板配置文件
│ ├── project1/ # 项目1
│ ├── project2/ # 项目2
│ └── po/ # PO目录
│ ├── po_feature1/ # PO1
│ │ ├── patches/ # Git补丁文件
│ │ └── overrides/ # 覆盖文件
│ └── po_feature2/ # PO2
├── common/ # 通用配置
└── template/ # 模板文件
🔧 系统要求
- 操作系统: Linux (推荐 Ubuntu 18.04+ 或 CentOS 7+)
- Python: 3.8 或更高版本
- Git: 2.20 或更高版本
- 内存: 最少 2GB RAM
- 磁盘空间: 最少 1GB 可用空间
📋 功能状态
| 功能模块 | 状态 | 说明 |
|---|---|---|
| 主板管理 | ✅ 已完成 | 创建、删除主板功能 |
| 项目管理 | ✅ 已完成 | 创建、删除、构建项目 |
| PO管理 | ✅ 已完成 | 创建、应用、回滚PO |
| 配置管理 | ✅ 已完成 | 配置文件解析和继承 |
| 日志系统 | ✅ 已完成 | 日志记录和性能分析 |
🚀 快速命令参考
| 命令 | 用途 | 示例 |
|---|---|---|
board_new |
创建主板 | python -m src board_new board1 |
project_new |
创建项目 | python -m src project_new proj1 |
po_new |
创建PO | python -m src po_new proj1 po1 |
po_apply |
应用PO | python -m src po_apply proj1 |
po_revert |
回滚PO | python -m src po_revert proj1 |
po_list |
列出PO | python -m src po_list proj1 |
upgrade |
升级 projman | python -m src upgrade --user |
🤝 贡献
我们欢迎所有形式的贡献!请查看我们的 贡献指南 了解如何参与项目开发。
贡献方式
- 🐛 报告 Bug
- 💡 提出新功能建议
- 📝 改进文档
- 🔧 提交代码修复
- 🧪 编写测试用例
📄 许可证
本项目采用 GNU GPLv3 许可证开源。
🌐 其他语言版本
- English Version - 英文版文档
- 中文与英文文档索引 - 中文/英文文档导航
📞 获取帮助
- 命令行帮助:
python -m src --help - GitHub Issues: 提交问题
- 文档: 查看 完整文档
- 讨论: GitHub Discussions
⭐ 如果这个项目对你有帮助,请给我们一个星标!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multi_project_manager-0.2.17.tar.gz.
File metadata
- Download URL: multi_project_manager-0.2.17.tar.gz
- Upload date:
- Size: 95.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03388efbe13af35362818910c5e89ef287a9eb5f36d4516d9fb9fb1a6f282927
|
|
| MD5 |
48a7548e8a3bc45d473a8d22e7ba47c2
|
|
| BLAKE2b-256 |
6532ddcf71a69ee84da08037d3291bcaedef35a7425eb8c4e11a620b08ff31a4
|
File details
Details for the file multi_project_manager-0.2.17-py3-none-any.whl.
File metadata
- Download URL: multi_project_manager-0.2.17-py3-none-any.whl
- Upload date:
- Size: 104.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06970f32544097dd2216e99bee51516a35f31162267b60fac6820e18672765fe
|
|
| MD5 |
213e1908c519198c09a1e5c2e4c7b16b
|
|
| BLAKE2b-256 |
d13607519867c9f9b46b4659be4d14854a29e7ae0ed354715b570e467404c13d
|