构建基础
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
<ph type="x-smartling-placeholder">
</ph>
报告问题open_in_new
查看来源open_in_new
敬上
每晚
·
7.3。
·
7.2 条
·
7.1。
·
7.0。
·
6.5 条
构建系统是工程组织最重要的组成部分之一
因为每位开发者可能会与应用互动数十次或数百次
。开发者需要一个功能齐全的构建系统
工作效率。对于个人开发者来说
直接编译代码,因此构建系统可能看起来
过多。但从更大规模的角度来说,使用构建系统有助于管理
共享依赖项,例如依赖于代码库的其他部分,或
外部资源,例如库构建系统有助于确保
在开始构建之前拥有构建代码所需的一切。构建
通过设置,可帮助工程师
资源和结果。
本部分将介绍构建和构建系统的一些历史和基础知识,
其中包括编写 Bazel 的设计决策。如果您
熟悉基于工件的构建系统,例如 Bazel、Buck 和 Pants,
您可以跳过这一部分,但我们建议您大致了解一下
基于工件的构建系统在实现规模化方面非常出色。
为什么要构建构建系统?
如果您之前未使用过构建系统,请从这里开始。本页介绍了
应该使用构建系统,并了解编译器和构建脚本
当组织的规模开始超过
开发者。
基于任务的构建系统
本页面讨论了基于任务的构建系统(例如 Make、Maven 和
Gradle)和他们的一些挑战。
基于工件的构建系统
本页面讨论了基于工件的构建系统来应对这一难题
和基于任务的构建系统的不同之处
分布式 build
本页将介绍分布式 build,即在非
本地机器这需要更强大的基础架构来共享
资源和构建成果(才是真正的神奇之处!)
依赖项管理
本页将介绍大规模使用依赖项时可能遇到的一些复杂问题,
以消除这些复杂问题的影响。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-13。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-08-13\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-08-13。"],[],[]]