工程开发
buck2-rule-basics avatar

buck2-rule-basics

通过动手编写规则来学习 Buck2 构建系统基础的互动式教程,涵盖规则、动作、目标与配置等核心概念。

简介

buck2-rule-basics 技能为希望精通 Buck2 构建系统的工程师提供了一个沉浸式、循序渐进的学习环境。该技能并非静态文档,而是通过互动式工作流,引导您编写并测试实际的 Buck2 规则来进行文本处理。它带领您深入了解 Buck2 构建模型的复杂性,包括加载、配置、分析和执行阶段。非常适合刚开始使用 Buck2 项目的开发人员,或是希望了解如何在高性能构建环境中定义自定义构建逻辑的工程师。

  • 提供包含 8 个独立模块的互动式引导,追踪您的学习进度,从最小规则雏形到复杂的配置依赖构建。

  • 整合技术参考资料,涵盖核心概念,如构件 (artifacts)、提供者 (providers) 传播、传递依赖项 (transitive dependencies) 以及复杂的动作定义。

  • 涉及实际 buck2 命令行界面的动手练习,确保所学技能能立即应用于现实的软件工程任务。

  • 适应性的教学风格,为初学者提供额外的背景信息,同时允许经验丰富的用户快速跳过已知概念,或直接尝试进阶模式。

  • 请务必遵循教学特定的说明:开始时先检查当前项目状态,创建必要的文件 (例如 uppercase.bzl, BUCK 文件),并在所有作业中使用系统的 buck2 二进制文件。

  • 使用提供的 references/concepts.md 深入了解分析与构建图结构 (uquery, cquery, aquery),并使用 references/advanced_patterns.md 学习生产环境模式,例如自定义提供者与工具链依赖。

  • 本教程强调做中学;请务必使用 buck2 build 命令验证每个步骤,并观察引擎如何管理动作与构件。

  • 在进入如 select() 解析或多平台构建等复杂主题前,请务必通过技能提供的评估问题进行互动,以确保充分理解。

仓库统计

Star 数
4,330
Fork 数
346
Open Issue 数
391
主要语言
Rust
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 19:04
在 GitHub 查看