Dojo
最新
最佳
搜索
订阅
解道Jdon
领域驱动设计
架构设计
热点话题
产品经理
GitHub开源免费源代码
RUST语言
go语言文章排行榜
DevOps文章排行榜
数据科学
认知偏差与谬论
数据工程
幽默模因
更多话题
Pants:类似Maven但支持多个语言的构建
22-02-20
banq
Pants 是一种快速、远程友好且符合人体工程学的构建工具,适用于 Python、Go、Java 和 Scala 等多种语言。
Pants 构建系统是一个多语言工具,具有许多不错的功能,包括完全并行性和远程工作者支持。Pants 已经存在好几年了,
但自从 2.0 版以来
,它运行在一个完全重建的 Rust 引擎上,该引擎适合高性能。
在撰写本文时,Pants 的版本为 2.9,现在包括对 Java 和 Scala 的 alpha 支持以及对 Python 和 Go 的支持。
Maven 或 Bazel 等传统构建工具要求您维护一组依赖项,并在外部文件中列出。Pants 建议通过分析您的源文件并推断它们来改变这一点。
在 Python 的情况下,您将类似地创建一个中央文件来映射 repo 使用的依赖项的“宇宙”,但 Pants 对实际使用的依赖项具有智能。Pants 准确了解项目中每个文件所需的依赖项,并有效地使用任务所需的依赖项子集。
特点
有一些有趣的功能使 Pants 成为一个值得考虑作为传统选择的替代品的构建系统。这里有一个描述。
自动依赖推理。深吸一口气,松了一口气:Pants 可以分析您的导入语句,并在没有大量元数据的情况下找出要下载的内容。
细粒度的失效。Pants 尽可能在最小的单元上工作,因此失败会使最小的新工作无效。
智能结果缓存。Pants 旨在根据输入精确地缓存结果,因此随着时间的推移相同的执行将不需要重做相同的工作。
并发执行。Pants 是用 Rust 编写的,其
架构
可以充分利用多核机器,从而在您的构建中实现并行性。
远程工作者。可以在远程构建机器上设置Pants 。结合缓存和并发,Pants 允许团队重用彼此的构建结果并利用高性能执行。
多语种。通过统一的界面支持多种语言和平台。
插件 API。高级插件系统允许插件使用所有这些相同的功能。
1
猜你喜欢
本站原创
《复杂软件设计之道:领域驱动设计全面解析与实战》
其他人在看