插件groovy代码中的localGroovy方法

时间:2017-08-02 16:21:58

标签: gradle

在我的插件中,我总是试图将Groovy添加到Java中。现在这个代码在build.gradle文件中运行得很好,但当我将它移动到插件groovy文件以便我可以编译并分发它时,它说它无法找到方法{{1} }。这里调用localGroovy()方法的正确语法是什么?

localGroovy()

1 个答案:

答案 0 :(得分:0)

方法localGroovy()DependencyHandler界面中定义。我不知道您在构建脚本中使用上面的代码段的位置,但您需要在DependencyHandler的范围内才能访问此方法。但是,在您的插件中,您可以使用DependencyHandler下的projects.dependencies

[...]
resolutionStrategy {
    force project.dependencies.localGroovy()
}
[...]

请注意,我没有测试此代码,它依赖于您的声明,即使用的方法force(...)可以处理localGroovy()返回的任何Dependency实现。

根据the docsforce(...)方法可以处理以下输入:

  
      
  • 字符串格式为:'group:name:version',例如:'org.gradle:gradle-core:1.0'
  •   
  • ModuleVersionSelector
  • 的实例   
  • 上述任何集合或数组将自动展平
  •   

只要Dependency返回的localGroovy()实现ModuleVersionsSelector界面(例如ExternalDependency),上面的解决方案应该像魅力一样。