2

我有这个build.gradle文件可以正常工作:

class Utils  {
  def doit(){
    println "hi from utils"
  }
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

如果我将 class/.groovy 文件移动到这样的子文件夹:

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

并将 build.gradle 文件修改为:

dependencies {
    runtime fileTree(dir: 'groovy', include: '*.groovy')
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

无法再找到 Utils 类:

...unable to resolve class Utils

我假设子文件夹groovy应该作为 .gradle 文件中类路径/依赖项的导入/条目添加。我已经阅读了这些页面:

http://gradle.org/docs/current/userguide/dependency_management.html http://gradle.org/docs/current/userguide/custom_plugins.html http://gradle.org/docs/current/userguide/custom_tasks。 html

但无法找到任何描述如何在 .gradle 文件中导入 .groovy 文件的文档。我缺少哪个页面来描述这个简单的功能?

4

1 回答 1

5

如果您将 build.gradle 更改为

task hello << {
  def utils = new Utils()
  utils.doit();
}

然后代替

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

Utils.groovy文件移动到buildSrc/src/main/groovy这样:

test
 -> buildSrc
     -> src
         -> main
             -> groovy
                 -> Utils.groovy
 -> build.gradle

并且 gradle 应该自动拾取它。

有关详细信息,请参阅文档中的“41.4. 在 buildSrc 项目中构建源”部分。

于 2012-07-20T13:13:07.683 回答