解决Grails插件的快照版本(使用maven-publisher插件部署)

时间:2011-04-21 15:14:45

标签: grails maven ivy grails-plugin snapshot

美好的一天,

我正在尝试将我们公司的Grails插件集成到我们的Maven存储库中(我们的存储库被命名为'snapshots'和'releases')。

为此,我在所有插件中安装了maven-publisher插件,并使用“grails maven-deploy”命令部署它们。这很有效。

但是,如果我部署SNAPSHOT版本的插件(比如版本1.0.0-SNAPSHOT),它会在我们的存储库中正确部署,但我无法在我们的应用程序中安装它(使用版本“latest.integration”) “)。

我正在使用Grails 1.3.7。

首先,在部署时,实际的工件名称会添加一个时间戳(“blablabla-1.0.0-20110421.122823-1.zip”)。但是,版本仍然是1.0.0-SNAPSHOT。我猜测是Maven进行了这种转变。

然而,Ivy似乎不了解转换,或处理SNAPSHOT版本。我得到的错误如下:

==== http://myRepo/repository/snapshots: tried
-- artifact myOrg#blablabla;latest.integration!blablabla.zip:
http://myRepo/repository/snapshots/myOrg/blablabla/[revision]/blablabla-[revision].zip

最初的研究表明,我可以创建一个解析器模式,但对于那些应该开箱即用的东西来说似乎有点复杂,而且我的初始测试无论如何都不是决定性的(我尝试了一些模式,其中没有一个工作)。

我应该注意,使用“maven-install”命令在本地部署我的插件是有效的,因为该脚本会创建一个具有正确版本(blablabla-1.0.0-SNAPSHOT.zip)的工件以及带有时间戳的工件。

有人有解决方案吗?

谢谢!

纪尧姆。

1 个答案:

答案 0 :(得分:3)

我解决了这个修改Artifactory快照存储库配置的问题:

<snapshotVersionBehavior>non-unique</snapshotVersionBehavior>

现在当你有foo-plugin-1.0-SNAPSHOT.zip并上传它时,名字保持不变。