Eclipse tycho更新版本到svn版本

时间:2015-11-18 07:49:48

标签: java eclipse maven svn tycho

我想更新次要版本号 product,所有feature以及所有modules与其对应的svn revision number(后来仅提及为buildNumber)。

这将自动生效,因此无需修改.productfeature.xmlMANIFEST.MFpom.xml

我的RCP应用程序具有以下结构(简化名称)

  • 特征核
  • 功能的附加元件(4)
  • 模块(负载)
  • 产品

我试图加入buildnumber-maven-plugin

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.4</version>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>create</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <doCheck>true</doCheck>
        <doUpdate>true</doUpdate>
        <providerImplementations>
            <svn>javasvn</svn>
        </providerImplementations>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>com.google.code.maven-scm-provider-svnjava</groupId>
            <artifactId>maven-scm-provider-svnjava</artifactId>
            <!-- version>2.1.1</version -->
            <!-- latest is 2.1.1 -->
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.tmatesoft.svnkit</groupId>
            <artifactId>svnkit</artifactId>
            <!-- version>1.8.11</version -->
            <!-- latest is 1.8.11 -->
            <version>1.7.8</version>
        </dependency>
    </dependencies>
</plugin>

<finalName>${project.artifactId}-${project.version}-r${buildNumber}</finalName>

但这仅创建一个带有buildNumber的zip文件,并保持原型不变。 p2 update manager要求更改版本(简单的SNAPSHOT版本不适用于我的product

所以现在版本号是例如。 1.0.0并应自动更新为1.0.${buildNumber}

没关系,如果在父pom中无法做到这一点并且需要在每个功能或模块中完成pom

1 个答案:

答案 0 :(得分:0)

Tycho中有一个功能可以将版本限定符(第4位)更新为最新git提交的时间戳:

https://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers

https://git.eclipse.org/c/tycho/org.eclipse.tycho.extras.git/tree/tycho-buildtimestamp-jgit/src/main/java/org/eclipse/tycho/extras/buildtimestamp/jgit/JGitBuildTimestampProvider.java

你必须为SVN开发一个类似的BuildTimeStampProvider plexus组件。