Maven2: есть ли способ вызвать сбой сборки в случае неизвестного параметра профиля? - PullRequest
2 голосов
/ 20 января 2010

У нас есть три разных профиля maven2: prod, dev и test. Нужно уметь строить либо с одним из этих трех профилей, либо без какого-либо профиля. Другими словами, допустимы следующие команды:

mvn install
mvn -Pdev install
mvn -Ptest install
mvn -Pprod install

Если кто-то пишет, например, mvn -Ppord install, сборка должна завершиться неудачно. Возможно ли это сделать?

P.s. Мне известно о http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html, но кажется, что при использовании свойства require невозможно разрешить строительство без профиля.

1 Ответ

2 голосов
/ 20 января 2010

Я думаю, что это должно быть возможно при написании собственного правила принудительного применения. Если вы посмотрите на этот пример , то увидите:

RuntimeInformation rti = (RuntimeInformation) helper.getComponent( RuntimeInformation.class );

эта строка дает вам информацию о текущем времени выполнения, после получения MavenProject и списка активных профилей

MavenProject project = (MavenProject) helper.evaluate( "${project}" );
List profiles = new ArrayList( project.getActiveProfiles() );

Если список активных профилей будет недостаточным, вы можете получить все профили - пример этого кода можно найти в AllProfilesMojo.java из вспомогательного плагина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...