问题标签 [buildnumber-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1340 浏览

eclipse - Eclipse m2e 从 buildnumber-maven-plugin 覆盖 buildNumber

我正在使用 Eclipse m2e、buildnumber-maven-plugin 和 templating-maven-plugin 创建带有 ${buildNumber} 的过滤 Java 文件。

这是 src/main/java-templates/build.java 文件中的一个示例:

如果我在命令行上运行“mvn generate-sources”,我过滤的 java 文件包含生成的 buildNumber 值。如果我在 Eclipse 中使用 m2e 运行“generate-sources”,过滤后的 java 文件会短暂包含实际的 buildNumber,但很快就会被原始字符串“${buildNumber}”替换

项目的结构是

buildnumber-maven-plugin 在父 pom.xml 中运行,因为我使用 buildNumber<finalName>为所有子模块设置一个通用值。

我已经尝试过使用和不使用 org.eclipse.m2e 的生命周期映射。我没有注意到任何变化。

出于调试目的,我在两个 pom.xml 文件中都有几个“回声”任务。这些在运行时显示正确/实际的 buildNumber。

这是一个缩写的 CmbProduct/pom.xml:

这是模型/pom.xml:

0 投票
1 回答
370 浏览

maven - 我想使用 maven 发布插件使用最新的 svn 修订号自动更新工件版本

我的工件版本如下所示:

1.0.0-快照

我想使用 maven 发布插件将工件部署到发布存储库,使用以下版本:1.0.0.1234,其中 1234 是最新的 svn 修订号。

这可能吗?

我尝试使用 org.codehaus.mojo:buildnumber-maven-plugin 检索 svn 修订号并添加以下部分:

但是当我运行以下命令时:

看起来版本在标签中设置为 1.0.0.${buildNumber} 。

0 投票
0 回答
570 浏览

java - 写入清单时,Maven 战争清单条目为空白

我正在尝试将分支和构建信息添加到我的战争清单中,虽然清单上显示了键,但值为空。我从 buildnumber-maven-plugin 中提取的值,当这个插件执行时,日志会显示这些值。我还添加了一个 maven-antrun-plugin 任务来回显我传递给 war 插件的值,它们也会显示在日志中。因此,在写入清单时,我很难找出为什么它们为空。这里有一些例子:

这是我的内部版本号插件:

当这个插件执行时,我在日志中看到..

接下来我刚刚添加了一个 ant 任务来输出这些值。

在我看到的日志中......

最后是战争插件/存档器,这就是问题所在......这是插件......

这是生成的清单,其中分支和 sha 出现空白..

您会看到branchsha都是空白的,但在上面的日志中,这些值显然是可用的。是否有什么东西会清除这些值,或者是否需要进一步将这些值冒泡到 maven 战争插件中的存档器中?

0 投票
1 回答
756 浏览

maven - 为什么 mvn resources:resources 没有获取 buildNumber?

我有一个使用buildnumber-maven-plugin. 如果我运行,mvn validate我会看到它正在工作:

但是,如果我运行mvn resources:resources过滤后的文件并不会拾取它:

pom.xml

version.txt拥有:

但是在maven运行之后,没有过滤:

内部版本号配置pom.xml

我对马文的了解还不够。运行资源“目标”不应该也获得buildNumber财产吗?

0 投票
5 回答
2045 浏览

maven - 使用 buildnumber-maven-plugin 检索 svn 上次更改的修订号

我目前正在为我的应用程序开发基于微服务的架构。我有一个 maven 多模块项目,它有很多服务,所以我可以使用 maven deploy 命令和maven docker plugin轻松地将它们部署到 docker hub 。

尽管如此,泊坞窗图像标签仍基于项目版本号,而我希望将它们标记为每个存储库的最后更改的修订号。目前,我正在尝试使用buildnumber-maven-plugin将此字段添加为清单条目:

假设这是我的多模块项目:

module-a 的模型是:

问题是 {buildNumber} 评估为我的工作副本号,它指的是对存储库而不是位置的最后一次提交scm:svn:http://myrepo.com/svn/application/module-a。为了更好地解释它,当我显示来自 tortoise 的 module-a 的属性时,我得到了这个:

在此处输入图像描述

我想要的是检索 3248,它指的是对模块 a 所做的最后一次真正更改,而不是 3257(工作副本),这是我从插件中得到的。这样,docker 插件就会知道它是否是不同的图像标签,并且只有在对 repo 中的模块进行了更改时才推送它。

0 投票
1 回答
1870 浏览

git - 如何进入清单

使用buildnumbermaven 插件,我想获取存储在我的 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

0 投票
1 回答
2826 浏览

maven - 如何使用詹金斯内部版本号生成 Maven 工件

我正在尝试将 Maven 工件名称与内部版本号相关联。例如:sample.1.0.0-snapshot.ear 到 sample.1.0.0-snapshot.buildnumber.ear

我已经尝试过 maven-buildnumber 插件,但仍然没有运气。

谁能帮我做到这一点。

0 投票
0 回答
53 浏览

maven - Perforce 和 maven buildnumber 插件

我正在尝试将 buildnumber-maven-plugin (v1.4) 与 Perforce 存储库一起使用。我收到以下记录的消息:

CreateMojo.update() 方法(第 524 行)正在发现正确的修订号(第一个日志消息)。然而,在找到它之后,无条件调用 getRevision()(第 397 行)将其清除,因为它调用了存储库提供程序上的info()方法(perforce 提供程序没有实现该方法,只是返回 null)。我还查看了 GitHub 上的当前源代码(https://github.com/mojohaus/buildnumber-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/build/CreateMojo.java)和看来问题仍然存在。有没有计划解决这个问题?谢谢。

0 投票
1 回答
838 浏览

maven - buildnumber-maven-plugin 属性 ${buildNumber} 的可见性

我正在尝试使用buildnumber-maven-plugin将 SCM 内部版本号附加到 WAR 工件名称,然后用于tomcat7-maven-plugin部署它,但在不包含内部版本号的上下文路径中。所以我正在制作foo-r1234.war,其中 foo 是我的项目,1234 是 Subversion 中的修订号,但我想将它部署在 Tomcat 上下文foo中。

我得到了战争一代来反映内部版本号,但问题是 Tomcat 插件没有看到内部版本号插件${buildNumber}分配的属性:

我明白了

[错误] 无法在项目 foo 上执行目标 org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli):找不到战争文件:/my/path/target/foo-r${ buildNumber}.war -> [帮助 1] [错误]

这表明 tomcat 插件没有看到 ${buildNumber}。为了将 foo-r${buildNumber}.war 部署到 Tomcat 中的上下文 foo,如何使其可见?

有关的:

如何使用maven tomcat插件将带有自动构建号的war部署到tomcat

部署目标期间未设置时间戳和 buildNumber 属性

0 投票
1 回答
823 浏览

maven - 将自定义字段添加到 buildnumber-maven-plugin 生成的 build.properties

我正在使用buildnumber-maven-pluginWAR 工件中包含各种版本参数,以便在页面上可见。在我的pom.xml

这会产生一个类似于以下内容的 build.properties:

我想svn info在文件中包含我的更多字段,例如最后一个对分支进行更改的用户等。有没有办法配置它以及如何配置?