Twitter 发布了多语言的构建工具 Pants 1.0

  • Michael Redlich
  • 孙镜涛

2016 年 6 月 5 日

话题:Java语言 & 开发文化 & 方法

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

查看英文原文:Twitter Releases Pants 1.0 Polyglot Build Tool

Java语言 & 开发文化 & 方法