Maven релиз плагин, git, а pom не наверху

У меня есть репозиторий git, где в каталоге верхнего уровня есть три каталога: java, COM и csharp. Как вы могли догадаться, pom.xml живет в каталоге java.

Все хорошо, пока я не запустил плагин release. Он клонирует все репо в цель /checkout, а затем ожидает, что pom будет там наверху. Это не так. Конец истории.

Могу ли я сообщить плагину выпуска о дополнительной директории или мне нужно разбить реестр?

Ответ 1

Протестировано: добавьте следующее в раздел сборки/плагинов:

<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.

Ответ 2

Выпуск релиза не был правильно установлен в корневом каталоге с maven-release-плагином версии 2.4 (как с maven 3.0.3, так и с 3.0.4). Проблема с переходом на версию maven-release-plugin версии 2.2.1.