Главная » Хабрахабр » Gradle 5.0 — что нового

Gradle 5.0 — что нового

В процессе разработки CUBA мы применяли все три основных инструмента сборки — начали с Ant, потом перешли на Maven на короткое время, а сейчас используем Gradle и, похоже, что в ближайшее время останемся с ним.

0. Не так давно вышел Gradle 5. В этой версии появилось большое количество новых возможностей, которые помогут разработчикам писать более сложные сценарии и собирать свои проекты ещё быстрее и безболезненнее.

image

Kotlin DSL

Теперь скрипты сборки можно писать на Kotlin, и это действительно ускоряет работу за счет автодополнения, в основном. Первое нововведение — Kotlin DSL. Конечно, IDEA и для Groovy старается все это сделать, но все-таки сильная типизация дает о себе знать. Также работает подсветка синтаксических ошибок и прочие удобные вещи от IDEA. Заявляется, что Kotlin DSL стабилен, так что можно пользоваться безбоязненно.

Нет, не нужно, Groovy DSL будет поддерживаться, от него не отказываются. Нужно ли обязательно переходить на Kotlin? Чтобы использовать Kotlin DSL — нужен Gradle 5 и JDK не ниже 8, для некоторых случаев это может быть не применимо. Дальше уже нужно рассматривать каждый проект отдельно. В любом случае, решение остается за разработчиками, но, если все-таки решите переходить на Kotlin, то есть руководство по миграции. Кроме того, Groovy обеспечивает большую гибкость в написании скриптов за счет нестрогой типизации.

Интерактивный init

Пишем gradle init — и наслаждаемся. Поддерживается генерация проектов на Kotlin! Теперь, наконец, можно не писать кучу ключей при начальной сборке проекта, а выбрать тип проекта, язык скрипта сборки и даже фреймворк для тестирования в интерактивном режиме.

Инкрементальная компиляция и обработка аннотаций

Можно создавать собственные задачи, которые поддерживают инкрементальную компиляцию. Продолжает развиваться механизм инкрементальной компиляции (включая обработку аннотаций библиотек типа Lombok) — не нужно перекомпилировать весь код.

Ускорены процессы сборки за счет build cache, оптимизирована работа с памятью.

FailFast тестирование — тесты будут запускаться, начиная с последнего ошибочного (если такой был, конечно).

Управление зависимостями

Поддержка BOM файлов — ура!

Там же — отключение транзитивных зависимостей. Заявлена тонкая настройка правил замещения версий, можно писать программный код для обработки особо сложных случаев прямо в файле сборки.

Можно принудительно ставить версию зависимости и запрещать перекрывать ее старшими версиями.

И, в дополнение ко всему, для зависимостей поддерживается “заморозка” версий.

Новый API для задач

Тут есть несколько новых вещей, которые наверняка многим пригодятся. Продолжается процесс улучшения и в области создания задач.

Помимо просто параллельного выполнения можно заставить ждать завершения выполнения других задач. Worker API, который позволяет запускать задачи параллельно и с разными уровнями изоляции (даже на разных JVM можно).

Timeout API — для выставления максимального времени выполнения задачи.

Configuration Avoidance API — позволяет не создавать и не конфигурировать задачи, которые все равно не будут выполняться.

Подводя итог — хороший инструмент становится ещё лучше, за kotlin — отдельное спасибо, теперь на нем можно писать вообще все: front-end, back-end, мобильный клиент и скрипты сборки.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Механизированные руки и манипуляторы — рассказываем, чем занимается лаборатория робототехники Университета ИТМО

В Университете ИТМО на базе кафедры систем управления и информатики (СУиИ) открыта лаборатория робототехники. Расскажем о проектах, над которыми трудятся в её стенах, и покажем инструментарий: промышленных роботов-манипуляторов, робототехнические захватные устройства, а также установку для проведения испытаний систем динамического позиционирования ...

НАСА предупреждает SpaceX и Boeing о недоработках в космических кораблях

Космический корабль Crew Dragon (Источник: ТАСС) Проблемы найдены как в общей конструкции, так и в системах обеспечения безопасности астронавтов. На днях агентство НАСА вынесло предупреждение как SpaceX так и Boeing о недоработках в космических кораблях этих компаний. SpaceX ранее получила ...