我有简单的Maven项目和发布插件。我使用标准程序 mvn release:prepare release:perform -Pprofile。 这是我对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 /文件夹中获得了新版本。 但是我不会在下面的结构中存储checkouted项目的历史: 发布/ 1.1 / 发布/ 1.2 / 释放/ 1.3 /
等 - 例如,在发布时进行结账:使用发行版本号在自己的目录中执行。这是一种简单的方法,并将发布版本(或标签名称)替换为结帐路径吗?
答案 0 :(得分:0)
在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>