2013-04-20 7 views
9

我有一个插件项目,我创建为grails create-plugin myPlugin。我还创建了一个'普通'grails项目grails create-app myPluginDemo。我试图在myPluginDemo中安装myPlugin插件,但不知道如何使用grails.plugin.location如何使用grails.plugin.location?

我在哪里把grails.plugin.location放在BuildConfig.groovy里面?里面的plugins部分? repositories部分内?

我应该向grails.plugin.location追加什么?应该是grails.plugin.location.myPlugin?或者grails.plugin.location.grails-my-plugin?还有别的吗?

回答

22

grails.plugin.location不是依赖关系解决方案,所以它不在grails.project.dependency.resolution之外。

它应该如下所示,如果myPluginDemomyPlugin都在同一个目录中。而且,这不会将插件安装到应用程序中,但是应用程序将引用在开发模式中方便的插件的文件系统。为了使用打包插件它在plugins被称为内grails.project.dependency.resolution

grails.plugin.location.myPlugin = "../myPlugin" 
grails.project.dependency.resolution = { 
    repositories { 

    } 
    dependencies { 

    } 
    plugins { 

    } 
} 
+1

那么,到底是什么意思的插件是“不安装”?如果我使用我的项目执行此操作,那么插件会出现在安装在'grails install-plugin'列表中的那些插件中。如果我使用'grails compile'或'grails run-app',应用程序会尝试从插件中编译源文件。那么插件“未安装”的方式是什么?如果我运行'grails war',它会不会被打包? – jonnybot 2013-10-01 15:47:51

+0

我在想这是一个使用像詹金斯这样的CI系统的用例,对吧? – 2013-11-01 15:59:30

+1

@ThomasFarvour不,这种做法在开发过程中很好。像Jenkins这样的CI系统应该依赖插件作为应用程序中的依赖项,并且不应该指向CI构建服务器中的物理位置。 – dmahapatro 2013-11-01 16:39:31