Re[4]: В чем удобство Maven (зачем оно нужно)? Ну и зачем?
От: Cyberax Марс  
Дата: 17.04.11 17:38
Оценка: 4 (1) +1
Здравствуйте, RomikT, Вы писали:

SK>>>Только, плз, не надо говорить, что для того, чтобы собирать проект и трекать зависимости. Для этого тулзы погибче и приятнее есть.

C>>Нету. Есть совместимые с форматом репозиториев Maven'а недоделки на всяких Groovy, которые надо нафиг закопать вместе с их авторами.
RT>А можно подробнее, за что авторов Gradle надо закопать? Я не что бы потроллить спрашиваю, а действтельно интересно.
За всё хорошее. Они сделали ещё один уродец, типа Maven'а, не решив ни одной его проблемы. Зато вместо XML'я заменили DSL'ем на Тьюринг-полном языке (это сейчас ведь модно!), который в принципе нельзя прочитать с помощью IDE. За что им отдельное "спасибо".

Какие проблемы реально стоило бы решить:
1) НОРМАЛЬНЫЙ трэкинг зависимостей и целей. Как в Scons и WAF.
2) НОРМАЛЬНЫЕ мульти-модульные локальные билды.

Поясню:

Ни в одном инструмента для Java нет трекинга зависимостей, который был ещё в старом добром make. К примеру, если я набираю "mvn install" ничего не изменив в проекте, то у меня Maven перестраивает все war/jar-файлы, запускает тесты и т.п. Хотя это нафиг не надо — ничего ведь не изменилось!!! А если нужно что-то достаточно сложное, типа генерации исходников, которые компилируются в промежуточную утиллиту, которой обрабатываются остальные исходники — это уже вообще можно вешаться. Любое изменение — и полный rebuild всего.

И это при том, что scons/waf/cmake/boost jam и прочие прекрасно работают с зависимостями. Более того, в waf/scons даже такие приятные фичи есть, как инкрементальная компиляци — если меняется A.java, то перекомпилится только A.class и всё от него зависящее. Но к сожалению, для них проекты на Java — не основное назначение, так что очень многого нужного просто-напросто нет. Я как-то пытался waf использовать, но забил.

У меня есть мнение, что так как сборка проектов на C++ — это на порядок более сложная задача, чем сборка Java, то разработчики тулзов для C++ занимаются решением проблем, а не мастурбирование на DSL'и.

Ну и проблема с мультимодульностью нормально не решена. Ни в maven, ни в ivy, ни в Грабле. Как будто, они не работают над реальными проектами.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.