LINUX.ORG.RU

управление профилями в maven


0

1

есть 100500 профилей.

Они зависят друг от друга: могут конфликтовать и требовать друг друга по зависимостям, все примерно как в пакетном менеджере.

Есть ли для мавена какая-нибудь плагин-управлялка наборами профилей?

Понятно, можно писать что-нибудь вроде:

mvn clean install -PuseTestNG -PuseUITests -PuseEclipse -PuseUnsafeEclipse -PuseEquinoxAsPlatform ........ 100500 ...... -Paggressive -PdryRun

Можно было бы создать множество шелл-скриптов с предопределенными наборами профилей. Но есть проблема: у меня нет доступа до командной строки, которая вызывает сборку. Сборка идет с Hudson'а, а админского аккаунта на него нету. То есть, все эти опции хорошо было бы прописывать прямо в pom'ке, а еще лучше - дергать из properties-файла.

Properties можно выгрузить из файла с помощью maven-properties-plugin, но вот профили не активируются пропертями, указанными прямо в pomке, неважно откуда они взяты - из файла или прописаны ручками в секцию properties.

Такие дела.

★★★★☆

не похоже, чтобы это можно реализовать (см. например http://stackoverflow.com/questions/4099626/maven-profile-dependency).

Может быть вместо 100500 профайлов создать несколько pom-ов для каждого из артефактов? Когда я столкнулся с подобной проблемой, это решение оказалось проще и надежнее, хотя у меня было всего 3-4 зависимых профиля.

phoenix ★★★★
()
Ответ на: комментарий от phoenix

а как сделать несколько помов для одного артефакта? Вроде ж по конвеншену в корне дерева должен лежать один пом, названый pom.xml, и только такая конфигурация соберется?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

> а как сделать несколько помов для одного артефакта

для одного, наверное, никак. Не зная всех деталей конфигурации сложно говорить, но насколько я понимаю, конфликтующие наборы профилей представляют разные артефакты. В этом случае pom-ки можно разнести по разными директориям и унаследовать от одного предка.

phoenix ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.