[英]The buildnumber-maven-plugin is returning UNKNOWN for the scmBranch
The buildnumber-maven-plugin is able to get the revision number from git and according to the meager documentation provided it should be providing the branch as well in the ${scmBranch}
property. buildnumber-maven-plugin能够从git获取修订版号,并且根据提供的微薄文档,它应该在${scmBranch}
属性中提供分支。 However, all I get is UNKNOWN
for the ${scmBranch}
property. 但是,对于${scmBranch}
属性,我得到的只是UNKNOWN
。
Is there something else I need to do to get the branch info from buildnumber-maven-plugin? 还有什么我需要做的来从buildnumber-maven-plugin获取分支信息吗?
Here are the relevant entries from my pom.xml: 以下是我的pom.xml中的相关条目:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
<manifestEntries>
<Build-Branch>${scmBranch}</Build-Branch>
<Build-Revision>${buildNumber}</Build-Revision>
<Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
</manifestEntries>
Short answer the buildnumber plugin 1.2 doesn't print git branches , so check out the jgit-buildnumber or maven-git-commit-id plugins. 简短回答buildnumber插件1.2 不打印git分支 ,所以查看jgit-buildnumber或maven-git-commit-id插件。
No matter how much you configure it, you're not going to get a branch out of the buildnumber plugin 1.2, because it's only looking for SVN branch information . 无论你配置多少,你都不会从buildnumber插件1.2中获得分支,因为它只是在寻找SVN分支信息 。
Instead there are a large number of community contributed git plugins for maven . 相反, 为maven提供了大量社区贡献的git插件 。
Here is an example pom that uses an instance of all three plugins, that you can quickly try out via mvn -f test.xml validate
: 这是一个使用所有三个插件的实例的示例pom,您可以通过mvn -f test.xml validate
快速尝试:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.test</groupId>
<artifactId>git-branch-info</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<scm>
<connection>scm:git:ssh://path_not_used_in_buildnumber_example/but_scm_type_is</connection>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>ru.concerteza.buildnumber</groupId>
<artifactId>maven-jgit-buildnumber-plugin</artifactId>
<version>1.2.7</version>
<executions>
<execution>
<id>jgit-buildnumber</id>
<goals>
<goal>extract-buildnumber</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.1.9</version>
<executions>
<execution>
<id>git-commit-id</id>
<goals>
<goal>revision</goal>
</goals>
<phase>validate</phase>
<configuration>
<!-- Only changing prefix since properties conflicts with jgit above -->
<prefix>git-commit-id</prefix>
<!-- We're using a pom in this example-->
<skipPoms>false</skipPoms>
<gitDescribe>
<!-- Faster to get just branch if skip = true -->
<skip>false</skip>
</gitDescribe>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>echo-properties</id>
<goals>
<goal>run</goal>
</goals>
<phase>validate</phase>
<configuration>
<target>
<echo message="buildnumber-maven-plugin properties:"/>
<echo message=" $${scmBranch}: ${scmBranch}" />
<echo message=" $${buildNumber}: ${buildNumber}" />
<echo message=" $${timestamp}: ${timestamp}" />
<echo message="maven-jgit-buildnumber-plugin properties:"/>
<echo message=" $${git.revision}: ${git.revision}" />
<echo message=" $${git.branch}: ${git.branch}" />
<echo message=" $${git.tag}: ${git.tag}" />
<echo message=" $${git.commitsCount}: ${git.commitsCount}" />
<echo message=" $${git.buildnumber}: ${git.buildnumber}" />
<echo message="git-commit-id-plugin properties (aliased with git-commit-id):"/>
<echo message=" $${git.branch}: ${git-commit-id.branch}" />
<echo message=" $${git.commit.id.describe}: ${git-commit-id.commit.id.describe}" />
<echo message=" $${git.build.user.name}: ${git-commit-id.build.user.name}" />
<echo message=" $${git.build.user.email}: ${git-commit-id.build.user.email}" />
<echo message=" $${git.build.time}: ${git-commit-id.build.time}" />
<echo message=" $${git.commit.id}: ${git-commit-id.commit.id}" />
<echo message=" $${git.commit.id.abbrev}: ${git-commit-id.commit.id.abbrev}" />
<echo message=" $${git.commit.user.name}: ${git-commit-id.commit.user.name}" />
<echo message=" $${git.commit.user.email}: ${git-commit-id.commit.user.email}" />
<echo message=" $${git.commit.message.full}: ${git-commit-id.commit.message.full}" />
<echo message=" $${git.commit.message.short}: ${git-commit-id.commit.message.short}" />
<echo message=" $${git.commit.time}: ${git-commit-id.commit.time}" />
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.