更新tycho pom&通过Maven清单并提交对SVN的更改

时间:2015-01-27 11:33:21

标签: maven hudson pom.xml tycho manifest.mf

我正在使用哈德森服务器来创建发布版本。我的目标是将新的delevopment版本设置为我的快照,构建发布工件(使用tycho构建RCP工件)并将新的delevopment版本提交到我的svn存储库。

为此,我在我的hudson作业配置中设置了一个步骤,它从我的构建pom中调用以下插件

<plugin>
 <groupId>org.eclipse.tycho</groupId>
 <artifactId>tycho-versions-plugin</artifactId>
 <version>0.19.0</version>
 <executions>
  <execution>
   <id>versions</id>
   <phase>validate</phase>
   <goals>
    <goal>set-version</goal>
   </goals>
   <configuration>
    <newVersion>${development.version}</newVersion>
   </configuration>
  </execution>
 </executions>
</plugin>

该插件正确设置了pom和manifest属性,因此它们之间没有错误。

下一步是成功的。发布工件是构建的。

在此之后,最后一步应该只包含对svn的更改,pom和manifest的提交。我添加了scm插件,目标为'check-in'

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-scm-plugin</artifactId>
 <version>1.9.2</version>
 <executions>
  <execution>
   <id>commit-versions</id>
   <phase>validate</phase>
   <goals>
    <goal>checkin</goal>
   </goals>
   <configuration>
    <includes>MANIFEST.MF,pom.xml</includes>
    <developerConnectionUrl>scm:svn:svn://ip_and_path<developerConnectionUrl>
    <message>commit from hudson - triggered by release build</message>
   </configuration>
  </execution>
 </executions>
</plugin>

此目标失败,因为清单和pom版本在阶段'validate'中不匹配。但是我已经检查了构建服务器上的资源,并且版本和限定符都匹配。有人有想法吗?请问我的问题是否不够详细。

1 个答案:

答案 0 :(得分:0)

includes parameter of the checkin goal是以逗号分隔的相对于根目录的模式列表。因此,要签入清单,您需要将其路径指定为

META-INF/MANIFEST.MF

或使用模式

**/MANIFEST.MF