首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Bazel和Gradle有什么不同?

Bazel和Gradle有什么不同?
EN

Stack Overflow用户
提问于 2015-03-25 09:06:53
回答 2查看 36K关注 0票数 157

谷歌刚刚open-sourced了它的构建工具Bazel。这个工具和Gradle有什么不同?它可以做Gradle不能做的什么,它做得更好,Gradle做得更好?

EN

回答 2

Stack Overflow用户

发布于 2016-05-17 19:07:20

由于文章链接往往会消失,这里是the Gradle Team's views on Bazel的摘要(大多数直接从2015年3月发表的文章中删除):

它的设计目的是解决Google独有的一个问题:一个庞大的整体代码库(数亿个LOC)。

Bazel目前提供的并行优势将与“我们即将推出的新配置和组件模型”相匹配(请记住此处的文章日期)。

Bazel没有一个高级的声明性构建语言,使得构建对开发人员来说很容易使用。在谷歌,这可以通过拥有构建工具的专业服务团队来补偿。

Bazel不是为可扩展性而构建的(尽管Bazel开发团队后来对此进行了反击,并保证他们正在研究可扩展性)。

速度是围绕这样一个想法进行优化的,即所有可传递的依赖项都存储在一个大的存储库中;所有库和工具都签入到这个中央存储库中。大多数企业都有更分布式的依赖管理需求。

Bazel仅适用于*nix,不能在Windows上运行。这消除了大量潜在的企业。

没有插件生态系统。

票数 49
EN

Stack Overflow用户

发布于 2019-11-03 21:04:31

Gradle主要用于JVM生态系统(Java、Ggroovy、Scala、Kotlin等)。如果你的项目是在这个领域,并且你必须问这个问题,Gradle或Maven将是更好的选择。要解决Gradle构建的问题,您只需处理Java和JVM生态系统。

位于核心的Bazel能够检测增量更改(以及分布式构建缓存),并允许您做出反应,应用插件/规则来实现增量构建。要设置和维护它,需要一点CPP、Java和Python(Skylark)方面的知识,还需要系统管理员的知识。同样,如果你必须问这个问题,我认为Gradle或Maven会是一种更便宜的投资。使用Bazel,您可以构建任何语言,以任何您定义的方式,更强大的功能,但要付出一定的代价。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29245787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档