检查持续集成服务器上的maven快照依赖项更改

Ric*_*ler 5 continuous-integration maven-2 buildforge

有一个cruisecontrol插件可以检查快照依赖项的更改,并在需要时触发构建.这涉及使用Maven嵌入器下载依赖项,然后检查本地存储库中快照文件的时间戳.这工作正常,但涉及下载所有父项和依赖项以检查一些时间戳.

我正在开发分布式CI系统(例如Bamboo/Buildforge),并希望避免下载整个依赖关系层次结构以检查是否需要构建.可以通过检查远程存储库上的maven-metadata.xml来确定快照依赖项的构建日期.

是否有任何插件或工具可以简化此过程?

Ric*_*ler 1

看来Mercury提供了我一直在寻找的更高级别的 API。

Mercury 提供了一种与实现无关的方式来访问基于 GAV 的存储库,包括 AV 存储库,例如 OSGi。OSGi 访问尚未实现。我所说的访问是指从存储库读取工件和元数据并将工件写入存储库,元数据通过写入进行更新。

所有调用都接受请求集合作为输入,并返回一个隐藏 getResults 的对象,该对象通常是一个 map<queryElement, Collection> 响应。响应对象有方便的方法 hasExceptions()、hasResults()、getExceptions()、getResults()

关键构建块之一是工件数据的层次结构:

  • ArtifactCoordinates - 确实是 GAV 的 3 个组件
    • ArtifactBasicMetadata - 是坐标加上类型/分类器加上哈希计算等便捷方法
  • ArtifactMetadata添加依赖对象列表,捕获为ArtifactBasicMetadata
  • DefaultArtifact实现Artifact接口并添加 pomBlob (byte[]) 和 file,指向实际的二进制文件