Пропустить выполнение плагина maven, если файл не существует - PullRequest
3 голосов
/ 26 ноября 2010

Я хочу поместить hibernate3-maven-plugin в родительский pom и пропустить выполнение в дочерних модулях, если в этом модуле не существует заданного файла.

Есть ли способ сделать это?

До сих пор мне приходилось делать это:

<plugin>
   ...
   <configuration>
      <skip>true</skip>
      <propertyfile>target/test-classes/jdbc.properties</propertyfile>
   </configuration>
</plugin>

В родительском POM и:

<plugin>
   ...
   <configuration>
      <skip>${maven.test.skip}</skip>
   </configuration>
</plugin>

Во всех дочерних POM, где я хочу, чтобы это выполнялось. I.E Те, у кого на самом деле есть файл jdbc.properties.

Ответы [ 2 ]

4 голосов
/ 26 ноября 2010

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

Этот вопрос имел похожую проблему и не смог решить ее с помощью профилей:
активировать-разные-Maven-профили, в зависимости от-тока-модуль

1 голос
/ 08 декабря 2010

Я не на 100% на логистике, но вы можете использовать maven exec плагин в сочетании со сценарием оболочки.Сценарий оболочки будет проверять наличие файла и затем запускать плагин mvn с помощью каталога maven pom, который можно получить и передать в сценарий оболочки через переменные среды Maven.

...