如何从同一个插件中的src文件访问我的Grails插件中的文件?

时间:2011-11-30 16:51:48

标签: grails plugins

我正在为Grails开发一个JavaScript测试插件。我写了一些Groovy类来执行我存储在src / groovy文件夹中的测试。我在我的插件的_Events.groovy脚本中挂钩测试事件并注入测试运行器的实例。从测试运行器的那个实例中,我需要访问我存储在src / js中的JavaScript文件来执行测试。

plugin documentation指定了从我的Gant脚本获取路径的方法,但这在其他地方不起作用。我还试图通过GrailsApplicationgrailsApplication访问ApplicationHolder,但我得到null。最后,我尝试访问BuildSettingsConfigurationHolder,但这些显示为空配置。

为了使我的插件正常工作,我目前正在将JavaScript文件复制到应用程序的test / resources文件夹中,因此它位于相对于工作目录的已知位置,我假设它是项目文件夹。这对我来说是侵略性和脆弱的,所以我想找出一种“正确”的方式。

如何从测试运行器获取插件的路径,以便找到这些文件?

1 个答案:

答案 0 :(得分:2)

如果您有BuildSettings和pluginManager bean(使用def pluginManager依赖注入或通过PluginManagerHolder),那么您可以使用

获取路径
new File(buildSettings.projectPluginsDir, pluginManager.getPluginPath('foo'))