Gradle 任务 vs 插件 vs 任务类型?
Gradle task vs plugin vs task type?
apply plugin: 'war'
war {
...
}
据我了解:
有个gradle war plugin which I get available from the apply plugin: 'war'
line, that allows me to use the war task declared via the war { ... }
which is of type war?
"apply" 下方的 "war" 块没有定义任务,它只是插件使用的配置块。
如果您应用 Gradle War 插件,将自动创建一个名为 war
的任务。当您在构建脚本中引用 war { ... }
时,您实际上是在闭包的帮助下配置 war
任务实例。
war {
baseName = 'example'
}
与
做同样的事情
war.baseName = 'example'
闭包语法的好处是可以通过多条语句来配置任务实例。它也变得更具可读性,看起来更像 DSL。
名为 war
的任务的实际类型是 War。您始终可以通过 gradle help --task <task-name>
.
从命令行中找出任务类型
您还可以获得有关构建脚本中变量类型的一些信息:
task printType {
doLast {
println war
}
}
执行任务会打印出以下内容:
$ gradle printType
:printType
task ':war'
apply plugin: 'war'
war {
...
}
据我了解:
有个gradle war plugin which I get available from the apply plugin: 'war'
line, that allows me to use the war task declared via the war { ... }
which is of type war?
"apply" 下方的 "war" 块没有定义任务,它只是插件使用的配置块。
如果您应用 Gradle War 插件,将自动创建一个名为 war
的任务。当您在构建脚本中引用 war { ... }
时,您实际上是在闭包的帮助下配置 war
任务实例。
war {
baseName = 'example'
}
与
做同样的事情war.baseName = 'example'
闭包语法的好处是可以通过多条语句来配置任务实例。它也变得更具可读性,看起来更像 DSL。
名为 war
的任务的实际类型是 War。您始终可以通过 gradle help --task <task-name>
.
您还可以获得有关构建脚本中变量类型的一些信息:
task printType {
doLast {
println war
}
}
执行任务会打印出以下内容:
$ gradle printType
:printType
task ':war'