Мне бы хотелось иметь разные параметры конфигурации для разных целей плагина релиза Maven. История выглядит так:
Я использую Git для SCM. Я хочу выпуск: подготовить плагин, чтобы делать все локально, а выпуск: выполнить, чтобы отправить все изменения сразу в удаленный репозиторий.
Я пытался сделать что-то вроде этого:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>release-prepare</id>
<configuration>
<pushChanges>false</pushChanges>
</configuration>
<goals>
<goal>prepare</goal>
</goals>
</execution>
<execution>
<id>release-perform</id>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>true</pushChanges>
</configuration>
<goals>
<goal>perform</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.7-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
Требуется версия 1.7-SNAPSHOT, чтобы localCheckout = true работал вообще (http://jira.codehaus.org/browse/SCM-662), если кому-то это интересно.
При вышеупомянутых настройках все параметры конфигурации полностью игнорируются, но когда я просто задаю параметры, подобные этим:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.2</version>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>false</pushChanges>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.7-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
они применимы как к освобождению, так и к подготовке: выполни, что не является желаемым результатом.
Редактировать
Чтобы прояснить ситуацию: пока мы используем Git для SCM, нам бы хотелось, чтобы все операции, ведущие к подготовке локального релиза, были не без причины, если принять во внимание, что локальный репозиторий Git является В любом случае полноценное репо. Однако когда мы делаем реальную версию, мы хотим, чтобы все изменения были перенесены в репозиторий upstream, чтобы все было правильно установлено.
Может ли кто-нибудь помочь мне с этим?