Плагин релиза maven, git и pom не наверху
У меня есть git-репозиторий, в котором каталог верхнего уровня содержит три каталога: java, COM и csharp. Как вы можете догадаться, pom.xml находится в каталоге java.
Все хорошо, пока я не запускаю плагин релиза. Он клонирует весь репо в target/checkout, а затем ожидает, что пом будет прямо там, наверху. Это не так. Конец истории.
Могу ли я сообщить плагину релиза о дополнительном каталоге или мне нужно разделить репозиторий?
2 ответа
Протестировано: добавьте следующее в ваш раздел сборки / плагинов:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>perform</goal>
</goals>
<configuration>
<pomFileName>subdir/pom.xml</pomFileName>
</configuration>
</execution>
</executions>
</plugin>
Где "subdir" - это относительный путь к каталогу, в котором находится файл pom.xml.
Это работает, по крайней мере, с Maven 3.0.3. Может работать с различными версиями плагинов, но это не проверено.
Это работает с Maven 3.0.4 и maven-release-plugin 2.5 и git 1.8.x.
Perfoming release не был правильно развернут в не-root каталоге с maven-release-plugin версии 2.4 (как с maven 3.0.3, так и с 3.0.4). Снижение до версии 2.2.1 maven-release-plugin решило проблему.