The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Twitter представил первый значительный выпуск системы сборки Pants

02.05.2016 22:13

Опубликован первый значительный выпуск системы сборки Pants 1.0, развиваемой компанией Twitter в качестве масштабируемой замены сборочного инструментария Maven. Pants предоставляет средства для сборки и тестирования кода на различных языках программирования и хорошо подходит для организации сборки в больших или быстрорастущих репозиториях, содержащих множество подпроектов, совместно использующих значительные порции кода. Система также оптимизирована для работы в условиях наличия сложных зависимостей от внешних библиотек. Проект написан на языке Python и распространяется под лицензией Apache 2.0.

Pants 1.0 позиционируется как первый значительный выпуск, пригодный для широкого использования, в котором осуществлена стабилизация интерфейсов для разработки модулей-дополнений и опций командной строки. В новом выпуске также значительно упрощены установка, настройка и адаптация под рабочий процесс. Например, для установки достаточно загрузить и выполнить один скрипт. Модульная организация позволяет легко встраивать обработчики для любых аспектов работы Pants. Система и модули распространяются через репозиторий PyPI.

Основные особенности Pants:

  • Встроенная поддержка языков программирования Python, Java и Scala. В форме плагинов доступна поддержка C/C++, Go, JavaScript/NodeJS и Android.
  • Возможность организации повторяемых сборок (собранные файлы бинарно идентичны при разных сборках одного и того же кода на разных системах);
  • Для оценки изменений используются хэши от содержимого файлов, а не данные о времени изменения файлов;
  • Система кэширования промежуточных результатов сборки;
  • Возможность организации распределённого кэша, охватывающего несколько серверов и доступного через API REST или NFS;
  • Наличие поддержки в интегрированных средах разработки, таких как IntelliJ;
  • Поддержка инкрементальных сборок, включая оптимизации для быстрой сборки проектов на языке Scala;
  • Поддержка подключения расширяющих функциональность дополнений, написанных на языке Python;
  • Поддержка создания самодостаточных сборок программ на языке Python, упакованных с использованием инструментария PEX (Python EXecutable);
  • Интеграция с репозиториями Python и JVM, используя PEX и Ivy.


  1. Главная ссылка к новости (https://blog.twitter.com/2016/...)
  2. OpenNews: Компания Google представила первый выпуск открытой системы сборки Bazel
  3. OpenNews: Для GNOME-приложений представлена новая экспериментальная система сборки BuilDj
  4. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
  5. OpenNews: Первый публичный выпуск сборочного инструментария build2
  6. OpenNews: Выпуск системы сборки CMake 3.5
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44361-pants
Ключевые слова: pants, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, tagezi (ok), 00:08, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    эм...

    > Встроенная поддержка языков программирования Python, Java и Scala. В форме плагинов доступна поддержка C/C+, Go, JavaScript/NodeJS и Android.

    с каких пор Андроид стал языком? :)
    А если это про ОС, то это единственное слово про ОС в статье вообще... под чем оно работает-то, под виндовс 3.1? :))

     
     
  • 2.4, pavlinux (ok), 01:53, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Раньше были просто дебилы, теперь не читающие дебилы.

    > В форме плагинов доступна поддержка C/C+, Go, JavaScript/NodeJS и Android.

    Где в предложении нашёл про язык Андроид?

     
     
  • 3.8, cmp (??), 08:38, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Наверное, указание в одном списке с языками, подразумевает
     
  • 3.13, Аноним (-), 09:50, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пашу выгнали с работы, Павел вернулся на опеннет.
     

  • 1.2, Аноним (-), 00:37, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Что это такое? Система зборки, вааще не понимаю что это и для чего.
     
     
  • 2.19, Аноним (-), 17:22, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сложнааа! Сложнаа! Ничего непонятнаа! Системы зборки какие-таа!
     
     
  • 3.31, Клыкастый (ok), 13:09, 04/05/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рената Литвинова, залогиньтесь! )
     

  • 1.3, Аноним (-), 01:26, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    почитал их доки:
    не понятно как собрать ear-ник, в котором будет war и jar со своими либами?
     
  • 1.5, Kiryl (?), 01:58, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно... Как по мне, так это копия гугловского bazel (bazrl.io). Кажется кто-то у кого-то подсмотрел.
     
     
  • 2.22, Вареник (?), 19:10, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Даешь каждой корпорации свой язык, фреймворк, систему сборки, базу и протокол сетевого обмена.
     
     
  • 3.24, Аноним (-), 20:15, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тык, мождно же. Недавно была мода на придумать свой язык. Теперь мода на системы сборки.
     
     
  • 4.27, freehck (ok), 10:38, 04/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А самой главной фичи - параллельной пересборки списка компонент по зависимостям - как не было, так и нету.
     

  • 1.6, Аноним (-), 06:51, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    в любой непонятной ситуации пили собственную систему сборки
     
     
  • 2.9, Аноним (-), 09:00, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А также браузер, плеер, CMS, форум, чат и js библиотеку.
     
     
  • 3.33, sorrymak (ok), 12:41, 05/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вот чего-чего, а хороших форумных движков реально не хватает, есть либо монстры на Java/RoR, либо *BB-поделия на PHP с инопланетянским интерфейсом.
     

  • 1.12, t28 (?), 09:34, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > языке Python

    Всё ясно.

     
     
  • 2.14, Аноним (-), 10:01, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >Всё ясно.

    Да весьма понятный язык.

     
     
  • 3.15, Аноним (-), 11:59, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Есть же Gradle. Пиши себе на Groovy или JRuby. Зачем скрипты сборки писать на питоне?....
     
     
  • 4.16, Аноним (-), 12:10, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Питон головного мозга же!
     
  • 4.18, Аноним (-), 15:43, 03/05/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    *Make же. И больше ничего не надо.
     
  • 4.28, имя (?), 11:18, 04/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А если я не хочу тащить JVM ради сборки перделки на Node/Go/крестах?
     

  • 1.17, Аноним (-), 15:24, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что только не сделаешь, лишь бы не использовать Nix.
     
     
  • 2.32, Аноним (-), 17:37, 04/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Шта эта??
     

  • 1.21, Аноним (-), 18:45, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всего то надо было написать пару палгинов для Gradle. :D
     
  • 1.34, Аноним (-), 00:29, 07/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почитал исходники, которые требуют Python, Scala, OpenJDK и прочие премудрости, понял, то для *Java и Android-проектов останусь на Gradle: такая дикая смесь без внятного способа поставить — это очень плохо. Лучше бы это было бы Python-only
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру