【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

  • 2016-06-05
  • 本文字数:790 字

    阅读完需:约 3 分钟

经过 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

2016-06-05 19:003033
用户头像

发布了 321 篇内容, 共 116.1 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

DDD 实战(5):战略设计之上下文映射和系统分层架构

深清秋

DDD 软件架构 生鲜电商系统 3月月更

Python 实现七大排序算法,Python中高级面试必知必会

程序媛可鸥

Python 程序员 面试

图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略

浅羽技术

Java RabbitMQ 中间件 消息队列 RabbitMQ延时队列

VuePress 博客之 SEO 优化(四) Open Graph protocol

冴羽

Vue 前端 vuepress SEO 博客搭建

C#调用C++动态库接口函数和回调函数

DS小龙哥

3月月更

iOS内存管理篇

刁架构

内存管理 iOS 知识体系

一文了解 Python 中的对象析构函数:__del__

踏雪痕

Python 3月程序媛福利 3月月更

自己动手写Docker系列 -- 3.3使用命令管道优化参数传递

Docker

测试开发【Mock平台】02基础:Java Spring Boot框架知识

MegaQi

测试工具 测试发开 测试平台开发教程

你的 vscode 配置真的舒服么?

道道里

投资与人性(21/100)

hackstoic

投资

模块 6 作业 拆分电商系统为微服务

王大胖

一文读懂网关中间件-Nginx

Linux服务器开发

nginx 中间件 api 网关 Linux服务器开发 Linux后台开发

Python 深度集成的神器级 IDE,从此告别Excel!,成为阿里P7Python架构师到底有多难

程序媛可鸥

Python 程序员 面试

Redis的数据类型实践

javaadu

Redis 核心技术与实战 Redis 数据结构

使用Node.js、MongoDB、Fastify 构建API服务

devpoint

mongodb nodejs swagger REST API 3月月更

在线HTML压缩格式化工具

入门小站

工具

游戏制作片段

都灵树屋

自己动手写Docker系列 -- 3.2增加容器资源限制

Docker

自己动手写Docker系列 -- 4.1使用busybox创建容器

Docker

2022 ARTS|Week 11

MiracleWong

算法 写作 ARTS 打卡计划

首届实时渲染3D动画创作大赛最佳人气奖?你说了算!

3DCAT实时渲染

3D 虚幻引擎 实时渲染 ue

三高Mysql - Inndb存储引擎和索引介绍

懒时小窝

MySQL innodb MySQL InnoDB

国内外最好用的18个协同办公系统盘点

PingCode

即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4

Geek_1ef48b

Flutter 封装文本输入框

岛上码农

flutter 跨平台 Android开发 3月月更

在线JSON转HTML,TABLE表格工具

入门小站

工具

设计电商秒杀系统

supermenG

架构师训练营 4 期

Python 基础教程:动态类型模型,超通俗解析

程序媛可鸥

Python 程序员 面试

【C语言】 扫雷游戏(保姆级的实现过程)

謓泽

3月月更

Linux之bc命令

入门小站

Linux

Twitter发布了多语言的构建工具Pants 1.0_Java_Michael Redlich_InfoQ精选文章