2013-07-13 3 views
0

У меня есть проект с несколькими модулями, а последний построенный модуль - это дистрибутив zip приложения.Плагин релиза Maven: как развернуть только дистрибутив в выпуске: выполнить

core/ 
plugins/ 
plugins/logger 
plugins/social 
... 
assemble/ 

Я хочу распространять приложение в виде артефакта Maven. И я не хочу разворачивать артефакты модулей с ним.

Но release плагин должен работать от корня (я хочу сделать все обычные вещи, как обновление версии, мечения, совершает эти изменения и т.д.)

Что такое способ сказать плагин высвобождения, который артефакты для развертывания?

Обратите внимание, что это отличается от ограничения только плагина развертывания, поскольку плагин release, по-видимому, вызывает плагин развертывания определенным внутренним способом. (Не уверен в этом.)

ответ

0

Похоже, что режим плагина Release был исправлен, и теперь он правильно вызывает deploy:deploy.

Итак, я использовал свой стандартный трюк, чтобы отключить выполнение плагина по умолчанию. Корень pom.xml:

 <!-- Don't deploy all artifacts. Overridden in submodules. -->   
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-deploy-plugin</artifactId> 
     <executions> <execution> <id>default-deploy</id> <phase>none</phase> </execution></executions> 
    </plugin> 

И расстояние Модуль pom.xml:

 <!-- Enable deploy for this submodule. --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <executions> <execution> <id>default-deploy</id> <phase>deploy</phase> </execution></executions> 
     </plugin> 
0

Выпуск: выполнить не делает, что много магии. Он проверяет код по тегу, который был создан во время выпуска: подготовьте. Цель по умолчанию - «развернуть». Если вы указали сайт в дистрибутиве управления pom.xml, это будет «развернуть сайт-развернуть». Эти шаги также могут быть выполнены вручную.

Если вы никогда не захотите развернуть эти артефакты (не во время разработки или выпуска), я бы предпочел использовать skip с использованием неопределенной фазы. Если это требуется только во время выпуска, вы должны указать это в пределах release-profile.