我写了一个Grails插件,让我们说PluginA依赖于另一个插件,比如我自己写的PluginB,这两个插件都被主项目使用。我正在尝试使用jenkins为这个项目构建一个连续的集成系统,到目前为止我设法在Jenkins中设置了所有内容。但是在构建项目时,我收到了此错误
Zip C:\Users\me\project\PluginA\grails-PluginA-0.1.zip is not a valid plugin
那么,我如何生成该zip文件,我注意到我所有其他插件都有该zip文件,但我不记得构建它们。我也试过做一个grails compile-plugin但是我得到一个错误,说没有找到几个类,因为它们在PluginB中。那么,如何在运行grails命令时指定PluginA是否依赖于PluginB?
答案 0 :(得分:0)
它并不完全清楚,但我相信你在尝试构建主项目而不是插件时遇到的问题,所以我将解决这个问题。
由于错误消息提到了一个zip文件,我还假设你使用的是Grails 2.x.如果您使用的是Grails 3.x,请立即停止阅读并添加有关如何指定依赖项的信息。
关键信息:根据我的经验,插件不会附带其依赖项;我必须在我的顶级项目中重新声明它们。我不知道这是否是grails插件设计的意图,但我发现它可以这样做。
步骤1:构建PluginB并使用
将其安装到本地maven仓库grails maven-install
步骤2:在其app / conf / BuildConfig.groovy中将PluginB指定为PluginA的依赖项
步骤3:使用与PluginB相同的命令构建PluginA并将其安装到本地maven仓库。
步骤4:在您的主项目中,在app / conf / BuildConfig.groovy中指定BOTH PluginA和PluginB的依赖关系
第4步是关键。
如果我误解了您的问题,请抱歉!请提供一些关于哪个部分失败的详细信息,如果我有任何相关信息,我会通知你。