maven-svn-revision-number-plugin使用总结

目录

实现功能

  • 获取当前工程主目录下svn版本号
  • 获取当前工程指定目录的svn版本号

在使用这个插件的过程中,获取当前svn版本号估计大家都知道。但是获取指定目录下的版本号就不是谁都知道啦。

首先看下配置结构

<configuration>
    <entries>
        <entry>
            <path>${project.basedir}</path>
            <prefix>${project.artifactId}</prefix>
            <depth>infinity</depth>
            <reportUnversioned>true</reportUnversioned>
            <reportIgnored>false</reportIgnored>
            <reportOutOfDate>false</reportOutOfDate>
        </entry>
    </entries>
</configuration>

可以看到entries下面嵌套了一个entry。每个entry又有一个prefix的定义。也就是说他支持去获取多个目录的svn信息的。你只要配置多个entry就行了。不同的entry中的变量通过你定义的不同的prefix去拿到就行。例子如下定义了两个entry

 <plugin>
                <groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
                <artifactId>svn-revision-number-maven-plugin</artifactId>
                <version>1.13</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <entries>
                        <entry>
                            <prefix>svn1</prefix>
                        </entry>
                        <entry>
                            <path>${project.basedir}/src/main/resources/META-INF/resources/demo</path>
                            <prefix>svn2</prefix>
                        </entry>
                    </entries>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.tmatesoft.svnkit</groupId>
                        <artifactId>svnkit</artifactId>
                        <version>1.9.3</version>
                    </dependency>
                </dependencies>
            </plugin>

如下代码,成功拿到了demo路径下的svn版本号。并且写入了manifest中。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin-version}</version>
                <configuration>
                    <archive>
                        <compress>true</compress>
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        </manifest>
                        <manifestEntries>
                            <SVN-Revision>${svn1.revision}</SVN-Revision>
                            <SVN-CommittedRevision>${svn.committedRevision}</SVN-CommittedRevision>
                            <Build-Time>${buildTime}</Build-Time>
                            <Demo-SVN-CommittedRevision>${svn2.committedRevision}</Demo-SVN-CommittedRevision>
                        </manifestEntries>
                    </archive>
                    
                </configuration>
            </plugin>

可能还有人会有疑问 我的${svn1.XXXXX}到底能获取到哪些东西?
以下就是能捕获的所有信息了。

repository = ${prefix.repository}
path = ${prefix.path}
revision = ${prefix.revision}
mixedRevisions = ${prefix.mixedRevisions}
committedRevision = ${prefix.committedRevision}
committedDate = ${prefix.committedDate}
status = ${prefix.status}
specialStatus = ${prefix.specialStatus}

这个工具我没找到在线文档。但是源码中有说明 我直接传上来吧。更多的功能直接看英文文档最好。比什么博客都详细,见我发布的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值