经过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社区版 。此外,开发者可以通过下面几种方式向该项目提交贡献或者寻求帮助: