Плагин релиза 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 решило проблему.

Другие вопросы по тегам