【问题标题】:How to get branch into manifest如何进入清单
【发布时间】:2016-11-18 23:37:59
【问题描述】:

使用buildnumber maven 插件,我想获取存储在我的jar 清单中的分支。我尝试了两种不同的方法,如下所示。

这是我构建的输出(仅相关部分) [INFO] --- buildnumber-maven-plugin:1.4:create (default) @ myproject --- [INFO] ShortRevision tag detected. The value is '7'. [INFO] Executing: /bin/sh -c cd '/workspace/myproject' && 'git' 'rev-parse' '--verify' '--short=7' 'HEAD' [INFO] Working directory: /workspace/myproject [INFO] Storing buildNumber: ed5ea17 at timestamp: 1479511476753 [INFO] Storing buildScmBranch: bug/abuginthesystem

这里是尝试 1 中的插件部分(来自插件网站的 SCMBranch 键): <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>false</doCheck> <doUpdate>false</doUpdate> <shortRevisionLength>7</shortRevisionLength> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifestEntries> <Build-OS>${os.name} ${os.version}</Build-OS> <Build-Java>Java ${java.version}</Build-Java> <Build-Number>${buildNumber}</Build-Number> <Build-Branch>${SCMBranch}</Build-Branch> </manifestEntries> </archive> </configuration> </plugin>

尝试 2 使用构建: <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>false</doCheck> <doUpdate>false</doUpdate> <shortRevisionLength>7</shortRevisionLength> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifestEntries> <Build-OS>${os.name} ${os.version}</Build-OS> <Build-Java>Java ${java.version}</Build-Java> <Build-Number>${buildNumber}</Build-Number> <Build-Branch>${buildScmBranch}</Build-Branch> </manifestEntries> </archive> </configuration> </plugin>

两者的清单输出为: Manifest-Version: 1.0 Build-Java: Java 1.7.0_79 Build-Number: ed5ea17 Build-OS: Linux 4.4.0-47-generic Built-By: mondain Build-Jdk: 1.7.0_79 Build-Branch: Created-By: Apache Maven 3.3.9 Archiver-Version: Plexus Archiver

【问题讨论】:

  • 因此,SO 的好处和坏处更多,有人 -1 和另一个人提供了可靠的答案 +1。

标签: git maven buildnumber-maven-plugin


【解决方案1】:

如果您想在manifestEntries 中使用以下内容:

<Build-Branch>${buildScmBranch}</Build-Branch>

那么您应该在buildnumber-maven-plugin 的配置中使用以下内容:

<plugin>
    <artifactId>buildnumber-maven-plugin</artifactId>
  ...
    <configuration>
        <scmBranchPropertyName>buildScmBranch</scmBranchPropertyName>
      ...

【讨论】:

  • 优秀!谢谢你的配置,就像我想要的那样工作。
猜你喜欢
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
相关资源
最近更新 更多