Код
#новости

Релиз Pants 2.9 — расширяемая сборочная система стала ещё шире

Добавили альфа-поддержку для Java и Scala, улучшили интеграцию с Docker и Go и многое другое.

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

Pants в работе. Изображение: официальный сайт Pants

Главным изменением в релизе 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.


Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.

Участвовать
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована