Maven/Android: вызов пользовательских целей для дочерних модулей из родительского проекта

У меня есть совокупный (родительский) проект Maven с тремя дочерними модулями. Один из этих модулей — проект Android, который можно развернуть на эмуляторе устройства. Я хотел бы иметь возможность запустить «mvn clean install android:deploy android:run» из моего родительского проекта верхнего уровня и запустить «mvn clean install» на ВСЕХ дочерних модулях и «mvn android:deploy android:run» ТОЛЬКО на моем модуле Android. Мне нужно иметь возможность запускать все команды maven из одной строки, чтобы интегрироваться с пакетом непрерывной интеграции.

Есть ли способ сделать это (либо с помощью специальной конфигурации в моих файлах POM, либо путем передачи определенных аргументов командной строки)?

Я попытался выполнить инструкции здесь: профиль Maven для одного модуля. Я настроил два профиля (один, содержащий все модули, и один, содержащий только мой модуль Android) и запустил что-то вроде «mvn -Pall clean install -Pandroid android:deploy android:run», но Maven не мог анализировать разные аргументы профиля для разных цели.

Большое спасибо.


person Kevin    schedule 08.05.2012    source источник


Ответы (1)


Есть ли способ сделать это (либо с помощью специальной конфигурации в моих файлах POM, либо путем передачи определенных аргументов командной строки)?

Например, предположим, что вы используете здесь профиль maven, вы можете поместить две команды mvn в одну строку, и вторая команда запустится после завершения первой.

В Linux используйте:

mvn -Pall clean install ; mvn -Pandroid android:deploy android:run

В Windows используйте:

mvn -Pall clean install & mvn -Pandroid android:deploy android:run

Надеюсь это поможет.

person yorkw    schedule 09.05.2012
comment
Это не совсем то, что мы искали, так как нам все еще нужна однострочная команда Maven, но это было полезно для нашей среды CI. Этот пост предоставил другую альтернативу: stackoverflow .com/questions/1114026/. Большое спасибо за вашу помощь. - person Kevin; 10.05.2012