有一个cruisecontrol插件,可以检查快照依赖项的更改,如果需要,可以触发构建。这涉及到使用Maven嵌入器下载依赖项,然后检查本地存储库中快照文件的时间戳。这可以正常工作,但需要下载所有的父级和依赖项来检查一些时间戳。
我在一个分布式CI系统上工作(例如,竹子/Buildforge),我希望避免下载整个依赖层次结构来检查是否需要构建。可以通过检查远程存储库上的maven-metadata.xml来确定快照依赖项的构建日期。
有没有什么插件或工具可以简化这个过程?
发布于 2009-09-12 08:58:31
看起来Mercury提供了我想要的更高级别的应用程序接口。
水星提供了一种实现中立的方式来访问基于GAV的存储库,包括像OSGi这样的AV存储库。尚未实现OSGi访问。我所说的访问是指从存储库中读取工件和元数据,并将工件写入存储库,元数据通过写入来更新。
所有的调用都接受一组请求作为输入,并返回一个隐藏了getResults的对象,这通常是一个map< queryElement,collection > response。响应对象具有方便的方法hasExceptions()、hasResults()、getExceptions()、getResults()
其中一个关键的构建块是工件数据的层次结构:
的pomBlob (byte[])和文件
发布于 2009-08-05 16:27:53
假设你使用maven作为你的构建过程,你想要一个插件来做检查和条件构建。
我不知道有什么maven插件可以完全满足你的需求。然而,你应该能够拼凑出几个插件来达到同样的效果。
使用带有"wget“的exec插件来获取maven-metadata.xml。然后使用xslt插件将生成的转换为布尔值,该值将指示是否发生了更新。您需要XPath到//metadata/versioning/lastUpdated节点,并将其与当前日期和时间进行比较。最后,您需要检查转换后的XML,以确定是否应该继续构建。
在http://mojo.codehaus.org/plugins.html上找到这些插件
https://stackoverflow.com/questions/1083001
复制相似问题