Включить расширение maven3 только для указанных профилей - PullRequest
4 голосов
/ 31 января 2012

У меня есть расширение, которое я использую в сборке Maven 3, которое выводит информацию о сборке для меня. Это немного многословно, поэтому я хотел бы запустить его только в некоторых профилях сборки. Но <extensions> разрешены только в основном <build>, а не в профилях.

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

Сначала я подумал о том, чтобы позвонить mavenSession.getCurrentProject().getActiveProfiles() и сравнить его со списком профилей, для которых я хочу запустить расширение. Но тогда мне нужно как-то передать туда информацию о профиле ... Я бы хотел сделать это в pom.xml, а не в командной строке, но я не уверен, где должна храниться эта информация.

1 Ответ

1 голос
/ 02 февраля 2012

Единственное, что должно работать, - это использовать свойство, содержащее разделенный запятыми список имен профилей, в идеале именуемый таким образом, чтобы сделать соединение очевидным (то есть «extension-artifactId» .run-for-profile). Затем передайте это либо через -D, либо поместите его в раздел , чтобы определить проект по умолчанию.

...