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

标签 grails plugins

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

plugin documentation指定一种从我的 Gant 脚本中获取路径的方法,但这在其他地方不起作用。我也尝试访问 GrailsApplication通过 grailsApplicationApplicationHolder ,但我得到 null .最后,我尝试访问 BuildSettingsConfigurationHolder ,但那些向我展示了一个空配置。

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

如何从我的测试运行程序中获取我的插件的路径,以便我可以找到这些文件?

最佳答案

如果您有 BuildSettings 和 pluginManager bean(使用 def pluginManager 或通过 PluginManagerHolder 注入(inject)依赖项)然后您可以使用

new File(buildSettings.projectPluginsDir, pluginManager.getPluginPath('foo'))

关于grails - 如何从同一插件中的 src 文件访问我的 Grails 插件中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329739/

相关文章:

grails - Spring Data Neo4j 和 Grails 3

tomcat - 为什么 Grails war 文件有时会损坏

c# - 为什么 Powershell 没有看到它已经加载了这个程序集?

hibernate - 更新 hibernate 数据实例时捕获错误

grails损坏的语言参数

java - XJC 插件定制

javascript - 带有嵌入 javascript 的 php 在 HTML 标签上输出换行符?

jQuery 验证插件,phoneUS 字段正在打破形式

git - 如何 checkin 文件以使用 git 构建?

android - 在哪里可以找到 Eclipse IDE 的 Android 开发工具 (ADT) 插件的源代码?