我们使用 Hudson、Maven2 和 maven-ear-plugin。
是否可以让构建的 EAR 文件在其文件名中包含 SVN 修订版(类似于 project-1234.ear)?
我们使用 Hudson、Maven2 和 maven-ear-plugin。
是否可以让构建的 EAR 文件在其文件名中包含 SVN 修订版(类似于 project-1234.ear)?
您可以为此使用buildnumber-maven-number。基本上,这个插件设置了一个${buildNumber}
属性,您可以稍后在 maven ear 插件配置中使用。
首先,按照此处记录的方式设置内部版本号 Maven 插件:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
...
</plugins>
然后,使用该finalName
参数自定义生成的耳朵的名称。例如:
<plugins>
...
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>${project.artifactId}-r${buildNumber}</finalName>
...
</configuration>
</plugin>
...
</plugins>
哈德森现在进行修订。所以你有两个选择。只需在之后重命名输出或向 Maven 提供修订版,它就可以根据需要更改名称。
想来想去,或许还有别的办法。让 Maven 查询 svn 的修订,然后将其合并到 earname
然而,你真的需要吗?Hudson 提供了对耳朵进行指纹识别的选项。这样,您可以稍后将文件提交给 Hudson,它会返回内部版本号。