英文原文:Twitter Releases pants 1.0 polyglot Build Tool
经过 5 年的不懈努力,Twitter 于近日发布了构建工具 pants 的里程碑版本 1.0。pants 与 Maven、Gradle 以及 Ant 等流行的构建系统定位相似,不同的是它支持C/C++、Java、python 和 Scala 等语言。Twitter 将可伸缩性需求作为驱动 pants 向前发展的动力。
该版本包含的一些特性包括:
更简单的安装流程(详细信息见下面介绍)重新定义的、一致的弃用策略之所以开始开发 pants,是因为 Twitter 发现他们所使用的构建工具并不能随着增长的需要而进行扩展。经过了两年多的开发和内部使用之后,Twitter 将 pants 贡献给了开源社区。
pants 通过一个独立的大型仓库(也称为monorepo)应对代码维护的挑战。如果版本控制系统和构建工具并不能随着业务的增长而进行扩展,那么一次复杂构建的性能就会快速下降。通过利用细粒度的依赖管理、并行任务执行以及增量编译等特性 pants 能够构建一个大型的 monorepo。而很多其他流行的构建系统并不是为这一目标而设计的。
pants 能够被集成到已有的 Java 项目中,因为它能够识别出标准的源代码和测试目录命名约定,例如 Gradle 的 src/main/java 和 src/test/java。对于有兴趣从 Maven 迁移到 pants 上的开发者而言,可以查看 Twitter 网站上的说明。而 IntelliJ IDEA 用户则能够体验 pants 插件。
pants 可以被安装到任何新的或者已有项目的根文件夹下,命令如下:
curl -L -O https://pantsbuild.github.io/setup/pants chmod +x pants touch pants.ini
该安装会自动建立一个具有合适权限的、能够在本地执行的 pants,同时还会创建一个空的待编辑文件 pants.ini。
pants 目前并不支持 Windows 操作系统,开发者可以在 Linux 和 Mac OS X 上体验 pants 社区版。此外,开发者可以通过下面几种方式向该项目提交贡献或者寻求帮助:
pants-devel 邮件列表Slack(#general)StackOverflow(#pants)Github 问题追踪济宁IT新闻