Maven:在路径中发布带有版本号的结帐
Maven: release checkout with version number in path
我有一个带有发布插件的简单 Maven 项目。我使用像这样的标准程序
mvn release:prepare release:perform -P 配置文件。
这是我对 Maven 发布插件的定义:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<arguments>-f pom.xml</arguments>
<baseDirectory>${basedir}</baseDirectory>
<workingDirectory>${basedir}/releases/</workingDirectory>
</configuration>
</plugin>
每次发布后,我都会在 /release/ 文件夹中获得新的发布版本。
但我不会在以下结构中存储已签出项目的历史记录:
release/1.1/
release/1.2/
release/1.3/
etc - 例如在自己的目录中使用发布版本号在 release:perform 上进行结帐。它是一种简单的方法吗,并将发布版本(或标签名称)替换为结帐路径?
在 release:perform
完成的结帐过程中,变量 ${project.version}
仅保存项目快照版本。
一种方法是在调用 release:perform
时执行 add a goal。这可能是一个 ant 任务,将默认结帐文件夹的内容复制到您想要的位置
您可以这样配置 maven-release-plugin
(这是未经测试的代码):
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<arguments>-f pom.xml</arguments>
<baseDirectory>${basedir}</baseDirectory>
<goals>antrun:run deploy</goals>
<!-- use default workingDirectory -->
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<target>
<copy todir="${basedir}/releases/${project.version}">
<fileset dir="${project.build.directory}/checkout"/>
</copy>
</target>
</configuration>
</plugin>
我有一个带有发布插件的简单 Maven 项目。我使用像这样的标准程序 mvn release:prepare release:perform -P 配置文件。 这是我对 Maven 发布插件的定义:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<arguments>-f pom.xml</arguments>
<baseDirectory>${basedir}</baseDirectory>
<workingDirectory>${basedir}/releases/</workingDirectory>
</configuration>
</plugin>
每次发布后,我都会在 /release/ 文件夹中获得新的发布版本。 但我不会在以下结构中存储已签出项目的历史记录: release/1.1/ release/1.2/ release/1.3/
etc - 例如在自己的目录中使用发布版本号在 release:perform 上进行结帐。它是一种简单的方法吗,并将发布版本(或标签名称)替换为结帐路径?
在 release:perform
完成的结帐过程中,变量 ${project.version}
仅保存项目快照版本。
一种方法是在调用 release:perform
时执行 add a goal。这可能是一个 ant 任务,将默认结帐文件夹的内容复制到您想要的位置
您可以这样配置 maven-release-plugin
(这是未经测试的代码):
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<arguments>-f pom.xml</arguments>
<baseDirectory>${basedir}</baseDirectory>
<goals>antrun:run deploy</goals>
<!-- use default workingDirectory -->
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<target>
<copy todir="${basedir}/releases/${project.version}">
<fileset dir="${project.build.directory}/checkout"/>
</copy>
</target>
</configuration>
</plugin>