плагин релиза maven, git и pom не наверху - PullRequest
10 голосов
/ 06 апреля 2011

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

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

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

Ответы [ 2 ]

19 голосов
/ 23 ноября 2011

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

<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 голосов
/ 06 февраля 2013

Perfoming Release не был правильно развернут в некорневом каталоге с maven-release-plugin версии 2.4 (как с maven 3.0.3, так и с 3.0.4).Снижение до версии 2.2.1 maven-release-plugin решило проблему.

...