90 lines
3.0 KiB
Markdown
90 lines
3.0 KiB
Markdown
# 任务01:项目初始化
|
||
|
||
## 任务描述
|
||
初始化Installer Builder项目,设置基本的项目结构、依赖管理和构建系统。这是整个项目的基础,将为后续任务提供必要的框架和环境。
|
||
|
||
## 实现步骤
|
||
|
||
1. 创建项目基本目录结构:
|
||
- 按照规范创建以下目录:
|
||
```
|
||
/
|
||
├── cmd/ # 命令行入口点
|
||
│ └── cli/ # CLI应用
|
||
├── internal/ # 内部包,不对外暴露
|
||
│ ├── config/ # 配置处理
|
||
│ ├── builder/ # 构建引擎
|
||
│ ├── platform/ # 平台适配
|
||
│ ├── packager/ # 包类型构建器
|
||
│ ├── script/ # 脚本执行
|
||
│ └── plugin/ # 插件系统
|
||
├── pkg/ # 可导出的包
|
||
│ ├── api/ # 公共API
|
||
│ └── schema/ # 配置Schema
|
||
├── plugins/ # 插件目录
|
||
├── examples/ # 示例配置和项目
|
||
├── scripts/ # 构建和开发脚本
|
||
└── test/ # 测试辅助工具和数据
|
||
```
|
||
|
||
2. 初始化Go模块:
|
||
- 创建`go.mod`文件,定义模块路径和Go版本,模块名定义为`git.kingecg.top/kingecg/installerbuilder`
|
||
- 初始化`go.sum`文件
|
||
|
||
3. 设置基本依赖:
|
||
- 添加必要的第三方库依赖
|
||
- 确保依赖版本明确指定
|
||
|
||
4. 创建基础文档:
|
||
- 创建`README.md`,包含项目概述、安装说明和基本用法
|
||
- 创建`CONTRIBUTING.md`,说明贡献指南
|
||
- 创建`LICENSE`文件
|
||
|
||
5. 设置构建系统:
|
||
- 创建Makefile或构建脚本,支持常见操作:
|
||
- `build`: 构建项目
|
||
- `test`: 运行测试
|
||
- `lint`: 代码质量检查
|
||
- `clean`: 清理构建产物
|
||
|
||
6. 配置CI/CD:
|
||
- 设置GitHub Actions或其他CI系统配置
|
||
- 配置自动测试、构建和发布流程
|
||
|
||
7. 创建主程序入口:
|
||
- 在`cmd/cli`中创建基本的命令行应用入口
|
||
- 实现版本信息和基本帮助命令
|
||
|
||
## 单元测试要求
|
||
|
||
1. 测试项目结构完整性:
|
||
- 验证所有必要的目录和文件是否存在
|
||
- 确保目录权限正确
|
||
|
||
2. 测试Go模块配置:
|
||
- 验证`go.mod`文件格式正确
|
||
- 确保依赖可以正确解析
|
||
|
||
3. 测试构建系统:
|
||
- 验证构建脚本能正确执行
|
||
- 测试各种构建目标是否正常工作
|
||
|
||
4. 测试主程序入口:
|
||
- 验证命令行应用能正确启动
|
||
- 测试版本信息和帮助命令输出
|
||
|
||
## 依赖关系
|
||
|
||
- 此任务是项目的第一个任务,没有前置依赖
|
||
- 后续所有任务都依赖于此任务的完成
|
||
|
||
## 完成标准
|
||
|
||
1. 所有指定的目录结构已创建
|
||
2. Go模块已正确初始化
|
||
3. 基本依赖已添加并可正常解析
|
||
4. 基础文档已创建并包含必要信息
|
||
5. 构建系统已配置并能正常工作
|
||
6. CI/CD配置已完成
|
||
7. 主程序入口可以编译和运行
|
||
8. 所有单元测试通过 |