# 任务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. 所有单元测试通过