Gradle任务vs插件vs任务类型?

时间:2016-07-07 16:14:29

标签: gradle gradle-plugin

apply plugin: 'war'

war {
    ...
}

据我所知: 我可以从apply plugin: 'war'行获得gradle war plugin,这允许我使用war { ... }类型war声明的war任务?

2 个答案:

答案 0 :(得分:1)

“apply”下方的“war”块未定义任务,它只是插件使用的配置块。

答案 1 :(得分:1)

如果您应用Gradle War插件,则会自动创建名为war的任务。当您在构建脚本中引用war { ... }时,您将在闭包的帮助下有效地配置war任务实例。

war {
    baseName = 'example'
}

做同样的事情
war.baseName = 'example'

闭包语法的好处是您可以通过多个语句配置任务实例。它也变得更具可读性,看起来更像是DSL。

名为war的任务的实际类型为documentation。您始终可以通过gradle help --task <task-name>从命令行找到任务类型。

您还可以在构建脚本中获取有关变量类型的一些信息:

task printType {
    doLast {
        println war
    }
}

执行任务将打印出以下内容:

$ gradle printType
:printType
task ':war'