在我的插件中,我总是试图将Groovy添加到Java中。现在这个代码在build.gradle
文件中运行得很好,但当我将它移动到插件groovy文件以便我可以编译并分发它时,它说它无法找到方法{{1} }。这里调用localGroovy()
方法的正确语法是什么?
localGroovy()
答案 0 :(得分:0)
方法localGroovy()
在DependencyHandler
界面中定义。我不知道您在构建脚本中使用上面的代码段的位置,但您需要在DependencyHandler
的范围内才能访问此方法。但是,在您的插件中,您可以使用DependencyHandler
下的projects.dependencies
:
[...]
resolutionStrategy {
force project.dependencies.localGroovy()
}
[...]
请注意,我没有测试此代码,它依赖于您的声明,即使用的方法force(...)
可以处理localGroovy()
返回的任何Dependency
实现。
根据the docs,force(...)
方法可以处理以下输入:
- 字符串格式为:
'group:name:version'
,例如:'org.gradle:gradle-core:1.0'
- 的实例
ModuleVersionSelector
- 上述任何集合或数组将自动展平
只要Dependency
返回的localGroovy()
实现ModuleVersionsSelector
界面(例如ExternalDependency
),上面的解决方案应该像魅力一样。