Re[9]: В чем удобство Maven (зачем оно нужно)? Ну и зачем?
От: RomikT Германия  
Дата: 18.04.11 07:45
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, RomikT, Вы писали:


C>>>Казалось бы, достаточно зайти в каталог с модулем Б и запустить билд? Ан нет, фигушки. Сначала нужно зайти в модуль А, сделать там mvn install, и только потом зайти в модуль Б и там уже начать строить. Сам Maven ну никак не может догадаться, что этот модуль можно построить (он лежит локально рядом и доступен через родительский POM!!!).

RT>>Это была основная причина выбора Gradle — у меня ожидается довольно большое количество модулей (ибо OSGi).
RT>>С Maven действительно пришлось бы постоянно собирать всё, с Gradle такой проблемы нет. Он сначала соберёт все изменившиеся зависимости, а потому уже и текущий модуль.
C>Я пробовал, у меня не получилось — та же проблема, что и с Maven.
Попробовал ещё раз, всё работает:
C:\Workspaces\GradleTest\m2>gradle compileJava
:m1:compileJava
:m1:processResources
:m1:classes
:m1:jar
:m2:compileJava

C:\Workspaces\GradleTest\m2>gradle clean compileJava
:m2:clean
:m1:compileJava UP-TO-DATE
:m1:processResources UP-TO-DATE
:m1:classes UP-TO-DATE
:m1:jar UP-TO-DATE
:m2:compileJava

Архив проекта: http://files.rsdn.ru/35651/GradleTest.zip

C>>>Кстати, ещё не хватает out-of-tree билдов. Т.е. чтоб исходники можно было на read-only носителе, к примеру, иметь. Ну да ладно, можно прожить без этого.

RT>>В интернете пишут, что buildDirName=file('/tmp/myBuild') вполне работает. Сам не проверял.
C>В Maven'е теоретически тоже. На практике, результаты другие.
Проверил, действительно не работает
Точнее, buildDir переопределяется правильно, но в корневом проекте всё равно создаётся папка .gradle c какими-то кэшами.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.