Gradle:我如何依赖资源任务对象?

时间:2014-08-26 16:57:20

标签: gradle

在java war项目中,我有这个代码,从http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html开始,以确保创建一些目录。

task resources << {
    mkdir "generated"
}

task acct(type: Exec) {
    dependsOn resources
    // ...
}

这样,构建失败:

Could not determine the dependencies of task ':acct'.
> Cannot convert org.gradle.api.internal.resources.DefaultResourceHandler@1d65e511 to
a task.
  The following types/formats are supported:
    - A String or CharSequence task name or path
    - A Task instance
    - A Buildable instance
    - A TaskDependency instance
    - A Closure instance that returns any of the above types
    - A Callable instance that returns any of the above types
    - An Iterable, Collection, Map or array instance that contains any of the above types

如果我不使用引号,我以为我正在使用任务实例(上面支持的列表中的第2项)。

如果我在引号中使用"resource",则可行。如果我将任务重命名为res,它也可以不带引号;根据{{​​3}}

为什么这样,以及推荐这种依赖的推荐方法是什么?

1 个答案:

答案 0 :(得分:2)

resources将解析为project.resources。要引用该任务,您可以使用tasks.resources或(如您所说)"resources"