Использование maven-release-plugin для тегирования и фиксации не-источника - PullRequest
4 голосов
/ 12 апреля 2010

Когда я делаю релиз своего проекта, я хочу поделиться источником с более широкой группой людей, чем я обычно делаю во время разработки. Код передается через Git-репозиторий. Для этого я использовал следующее:

  • удаленный общедоступный репозиторий - выпущенный код помещается сюда каждую неделю или около того (http://example.com/public)
  • удаленный частный репозиторий - здесь вводится не-релизный код, чаще чем ежедневно (http://example.com/private)

В моем локальном репозитории git определены следующие пульты:

origin  http://example.com/private
public  http://example.com/public

В настоящее время я пытаюсь настроить плагин maven-release-plugin для управления версиями сборок, а также для управления тегами и отправкой кода в общедоступный репозиторий. В моем pom.xml я перечислил следующим образом:

<scm><connection>scm:git:http://example.com/public</connection></scm>

(удаление этой строки приведет к выпуску mvn: подготовка к сбою)

<Ч />

Однако при звонке

mvn release:clean release:prepare release:perform

Maven звонит

git push origin tagname

вместо нажатия на URL, указанный в POM.

Итак, вопросы:

  1. Рекомендация. Должны ли я просто отмечать и фиксировать в своем личном репо (origin) и вручную публиковать?
  2. Могу ли я сделать так, чтобы Maven отправлялся в репозиторий, который я выбрал, а не по умолчанию на источник? Я чувствовал, что это подразумевается требованием элемента в .

1 Ответ

4 голосов
/ 13 апреля 2010

Выпуск, когда репозиторий scm.connection отличается от источника, исправлен в версии 2.0 maven-release-plugin (или связанных плагинов git). Чтобы перейти на эту версию, я добавил в свой POM следующее:

<project>
    ...
    <build>
        <plugins>
            ...
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            ...
        </plugins>
    </build>
    ...
</project>

<ч /> Кстати, Maven выбирал плагин maven-release-plugin версии 2.0-beta-9 как более новый, чем 2.0.

...