问题标签 [maven-scm-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 投票
4 回答
4704 浏览

maven - 将 Perforce scm 配置到 maven 项目中以获取最新的更改列表

我正在将一个项目迁移到 Maven,并且由于我们习惯于始终通过 Perforce SCM 存储库中的最新更改号来引用我们的构建,我希望能够提取此信息

我正在尝试通过以下资源配置 Maven scm 插件:

首先,我不明白如何使它工作,所以如果有人有一个完全工作的例子,我会很高兴,在我这边,我尝试通过添加我的 pom:

这导致我:

肯定忘记了什么,我会尝试再次阅读说明,看看我错过了什么,但如果有人知道......

无论如何,我的问题是:值得尝试吗?我在 scm 插件的可用操作中没有看到任何可以帮助我获取最新更改信息并将其集成到参考内部版本号中的内容。我应该为此开发自己的插件吗?

提前致谢。

0 投票
1 回答
1768 浏览

maven - Maven 发布插件 2.2.2 不推送到分发管理

我不得不将 maven 发布插件从版本 2.2.1 更新到 2.2.2 以解决一个错误,但是现在,在进行 maven 发布时,新版本的文件不会上传到我的分发管理中。

我尝试了以下方法:

  • mvn release:prepare&mvn release:perform使用版本 2.2.2 的 release-plugin:上传新的 SNAPSHOT-version

  • mvn release:prepare使用 2.2.1 版,mvn release:perform使用 2.2.2 版:上传新版本(这是我想要的)

所以不知何故,mvn release:perform使用版本 2.2.2 的发布插件完成的设置出错了,但我真的不明白为什么会发生这种情况。

更新:我快速查看了我的 target\checkout 文件夹,并在那里找到了 SNAPSHOT 版本的 pom-s。因此,在发布期间将错误的版本移至结帐:准备。

更新 #2:我已将其范围缩小到与 git 相关的内容。target\checkout 文件夹的内容来自 git checkout。由于我也更新了 scm-plugin 的版本,因此它必须与此有关..

来自 pom.xml:

我正在使用 Maven 2.2.1。

0 投票
1 回答
1376 浏览

maven - 使用 maven-release-plugin 时,为什么不从本地 repo 中检测 scm 信息?

据我所知,为了使用 maven-release-plugin,您必须将 scm 部分放入您的 POM 文件中。例如:

我了解此数据用于确定要标记的内容以及将更改推送到何处。但是,如果您已克隆/签出代码,这些信息是否已经可用?我对我需要告诉 maven 它需要标记什么代码的概念有点挣扎,至少在理论上,只要问 Git/HG/SVN/CVS 它正在处理什么代码。我怀疑我在细节上遗漏了一些东西,但我不确定是什么。是否可以更改 maven-release-plugin 代码以将其作为要求删除,或者至少将自动检测设为默认值?如果没有,有人可以提供一些关于为什么这不起作用的背景信息吗?

0 投票
1 回答
1468 浏览

maven - maven发布插件挂起

我正在尝试使用 mvn release 插件发布 CVS 项目。

我已经成功使用 mvn release:prepare 但是当我运行 release:perform 时它挂起,因为 CVS 模块上似乎是一个前导斜杠

/cust/shared_code

这挂...

删除斜线

这开始检查,如我所料

我的 maven-scm-plugin v1.8.1 设置是

看起来它与http://jira.codehaus.org/browse/SCM-216有关,尽管这显然已在 1.0-beta-4 中修复

非常感激任何的帮助

詹姆士

- - 更新

看来我的 release.properties 不正确

虽然不确定如何纠正这个

0 投票
0 回答
1142 浏览

git - Maven SCM 插件无法在 scm:checkout 后执行 scm:update 并带有模糊的错误消息

我已经配置了一个 Maven 项目以使用以下方式签出一个项目:

使用: mvn scm:checkout

该项目检查良好。

我希望如果 scm:checkout 有效, scm:update 也应该有效。但事实并非如此。通过使用“-e”选项 (mvn -e scm:update) 运行以获取完整的堆栈跟踪,它将显示一些模糊的错误消息:

现在这个错误应该告诉我什么?这可能是 Maven-scm-Plugin 中的错误吗?因为“git-log”当然不存在,它的“git log”会给你 Git 日志历史。

此外,给定的帮助链接也无济于事(从我的角度来看)。

0 投票
0 回答
353 浏览

maven - 如何在 Maven 中设置属性以确定上次提交修订和作者?

我想获取 SCM url、最后一次提交修订和最后一次提交作者,以便我可以将它们作为元数据添加到我的 jar 中。我知道我可以获得 URL 和修订,但没有看到将最后提交作者设置为属性的插件。

  • 最后一次提交修订 ${buildnumber} 作为 buildnumber-maven-plugin 执行
  • 网址:${project.scm.url}
  • 作者: ?????

如果您知道如何获得作者,请告诉我。目前我怀疑我会执行 svn info ${project.scm.url} -r ${buildnumber} 然后解析输出。

谢谢

彼得

0 投票
2 回答
6093 浏览

maven - mvn release:perform 失败,因为 pom 文件不在存储库的根目录

我正在尝试执行mvn release:perform,但该命令假定 pom 文件位于存储库的根目录中。是否有可以设置为覆盖默认值的系统属性或首选项?

调用mvn release:prepare似乎已成功,因为所有发布工件都位于目标目录中,并且存储库已正确标记。

万一这很重要,这是一个 git 项目。


编辑这是我所做的:

然后在目录中克隆远程仓库,target/checkout经过一些搅拌并推送到远程 git 仓库后,会发生以下错误:

所以,maven 是在目录的根目录下寻找 pom 文件target/checkout,这不是它所在的位置。

0 投票
1 回答
1761 浏览

jenkins - Maven 发布插件抛出 svn : '' 不是工作副本

我有一个 mavenized 项目,当我尝试发布时,出现以下错误:

我有以下问题:

  1. POM 文件中如何给出 scm 配置
  2. 如果与 scm 的通信应该通过 https 进行,我们如何在客户端配置证书
  3. 发布应该从分支或主干发生

我的scm配置如下:

我的maven发布插件配置如下:

我在这里受到打击,无法继续前进。请帮助/指导我解决问题。当我通过在 Jenkins 中配置 Maven 发布插件运行相同的操作时,我得到一个不同的错误:“svn:需要身份验证”。为什么会有这个区别。

0 投票
1 回答
3665 浏览

maven - Maven - Mercurial/Svn - svn/hg 标签失败,退出代码为 255

我使用 Mercurial (hg) 作为我的源代码控制工具,使用 Maven 作为构建系统。

在执行发布过程时(使用versions-maven-plugin:versions:set -Dxxx=yyy versions:use-releases xxxxx yyy 目标),我得到了有效的pom 文件来对项目执行有效的发布构建。

现在,当发布构建成功时,下一步是提交更改的文件(由版本插件更改),我正在使用 maven-scm-plugin(scm:checkin 和 scm:tag)。由于我的源代码控制工具是 Mercurial/hg,scm:xxx 操作将调用 hg 命令(而不是 svn 或任何其他工具 - 仅供参考)。

我有有效的设置,<scm>. for connection and developerConnection..<scm>所以 scm:checkin 按预期工作。

但是在启动 scm:tag 时出现以下错误。任何想法我做错了什么?

PS :
1.相同的操作(scm:checkin 和 scm:tag)在其他项目中也能成功。
2. 我没有使用maven-release-plugin

0 投票
1 回答
257 浏览

maven - maven scm 不监听 perforce 触发器输出

您好 Maven / Perforce 专家,

我正在尝试为使用 Perforce 作为 VCS 的项目实现 Maven 工件的自动版本控制。这让我选择了 maven-scm-plugin 和 maven-release-plugin 来实现我的目的。我们在 perforce 中使用触发器,它检查每个提交的 xml 内容中的违规行为。

不幸的是,当我运行命令“mvn -X -e -B scm:edit release:update-versions scm:checkin”来编辑文件、更新版本并提交到 perforce 时,maven 不尊重 perforce 触发器的结果并且构建失败。但是,正如您所见,更改最终会提交给 perforce。

使用已启用触发器的 XML 的堆栈跟踪

我在本地提交了文件以确保 perforce 触发器不会吐出失败状态代码,并且它实际上也返回了 SUCCESS。我不确定为什么 maven 不会尊重 perforce 触发器。

我使用未启用 perforce 触发器的 txt 文件测试了一个场景,并且 maven 将构建结果返回为 SUCCESS,因为从技术上讲,它不会通过 perforce 触发器

使用没有触发的 TXT 进行堆栈跟踪

问题:

  1. 有没有人经历过 maven 的这种行为,你是如何解决的?
  2. 你知道是否可以为特定文件禁用 perforce 触发器,这样 perforce 甚至不会通过触发器