Pants — это быстрая, расширяемая и юзер-френдли сборочная система для различных языков. Сейчас разработчики сфокусированы на Python, Shell, Docker и Go, но версия 2.9 позволяет работать с Java и Scala.

Главным изменением в релизе 2.9 стала поддержка Java и Scala. Эти языки ещё находятся на стадии тестирования, поэтому разработчики добавили минимальное количество фич, достаточное для работы с ними:
- nailgun для JVM компиляторов и инструментов;
- ScalaTest для Scala и JUnit для Java и Scala;
- Scalafmt и Google Java Format;
- поддержку Scala Repl;
- Protobuf-генерацию кода со ScalaPB;
- дебаггинг через ./pants test --debug $file;
- плагины для Scala-компилятора;
- поддержку компиляции кода между Java и Scala;
- поддержку Coursier.
Разработчики улучшили видимость во время выполнения и кэширования для тестов. Pants 2.9 теперь рендерит статус тестов во время выполнения и кэширования в отдельном файле для всех поддерживаемых языков.
❯ ./pants test src/python/pants/util:
...
✓ src/python/pants/util/dirutil_test.py:tests succeeded in 1.21s (cached locally).
✓ src/python/pants/util/osutil_test.py:tests succeeded in 0.72s (memoized).
✓ src/python/pants/util/strutil_test.py:tests succeeded in 0.98s (cached remotely).
В интеграции с Docker исправили баги и улучшили документацию, а также обновили бэкенд Docker.
Go теперь имеет свой файл с подключаемыми пакетами — go_package. Он позволяет устанавливать test_timeout для пакетов в секундах, включать файлы resource для использования во время выполнения кода и файлы files для тестирования.
Подробнее прочитать об обновлениях можно на официальном сайте Pants.