Skip to content

[r2cn] 实现Mega 导入Buck2 依赖的自动化脚本 #1806

Description

@benjamin-747

[任务] 实现Mega 导入Buck2 依赖的自动化脚本

[任务分值] 15 分

[背景描述]

在使用 Buck2 进行构建时,构建系统通常依赖于明确、可版本化、可复用的代码仓库结构。在当前 Mega + Buck2 的集成场景中:

  1. 第三方 Rust 依赖以目录形式存在
  • 本地或同步目录结构类似:
third-party/rust/crates/
  ├── tokio/1.48.0
  ├── tokio-util/0.7.17
  ├── bytes/1.6.0
  ...

[需求描述]

  1. 目录 → Git Repo 的转换规则

每一个 / 目录生成一个独立的 Git 仓库。

对如下目录:

third-party/rust/crates/tokio/1.48.0

目录层级不确定也可能为

third-party/rust/tokio/1.48.0

自动执行:

  1. 初始化 Git 仓库
  2. 将该目录内容作为 repo 根目录
  3. 生成初始 commit(如:Import tokio 1.48.0)
  4. 配置远端为:
mega:/third-party/rust/crates/tokio/1.48.0
  1. 推送到 Mega 对应路径

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions