Недавно поставили задачу — проанализировать возможность перехода с maven на gradle. Преимуществ у gradle много. Основное — сборка проекта с использованием Gradle производительнее maven, подробнее про сравнение производительности.
Он может делать всё то же самое что и maven. Где-то чуть больше сконфигурировать (pom.xml), а где-то конфигурировать меньше и проще. Объём текста у gradle меньше (xml никогда не был краток).
Упёрся в кучку кастомных maven плагинов. В gradle их нельзя просто так использовать. Нужно или адаптировать или вызывать через лишнюю логику (exec). Вызов через прослойки осложнён тем что плагины не поддерживают инкрементальные сборки. На проекте, в плагинах, разбираются xml и создаются java классы.
Да и исходников у плагинов нет. Декомпилировал и попробовал реверс-инжиниринг. Так там, как-будто, обфускатором поработали. В дополнение, после компиляции, отсутствуют аннотации и комментарии, которые используются в maven при написании плагинов. В общем, все варианты трудозатратны.
Есть и плюс для себя — разобрался как писать плагины для maven и gradle.