Недавно поставили задачу, проанализировать возможность перехода с maven на gradle. Преимуществ у gradle много. Основное, это сборка проекта с использованием Gradle производительнее maven, подробнее про сравнение производительности.

Он может делать все тоже самое что и maven. Где-то чуть больше сконфигурировать (pom.xml), а где-то конфигурировать меньше и проще. Объем текста у gradle меньше (xml никогда не был краток).

Уперся в кучку кастомных maven плагинов. В gradle их нельзя просто так использовать. Нужно или адаптировать или вызывать через лишнюю логику (exec). Вызов через прослойки осложнен тем что плагины не поддерживают инкрементальные сборки. На проекте, в плагинах, разбираются xml и создаются java классы.

Да и исходников у плагинов нет. Декомпилировал и попробовал реверс-инжиниринг. Так там, как-будто, обфускатором поработали. В дополнение, после компиляции, отсутствуют аннотации и комментарии, которые используются в maven при написании плагинов. В общем, все варианты трудозатратны.

Есть и плюс для себя, разобрался как писать плагины для maven и gradle.

Дата изменения: