一个)
task build << {
description = "Build task."
ant.echo('build')
}
Run Code Online (Sandbox Code Playgroud)
B)
task build {
description = "Build task."
ant.echo('build')
}
Run Code Online (Sandbox Code Playgroud)
我注意到,对于类型B,任务中的代码似乎在键入时执行gradle -t- 即使只列出所有各种可用任务,也会回显"构建".该描述实际上也以类型B显示.但是,对于类型A,在列出可用任务时不执行代码,并且在执行时不显示描述gradle -t.这些文档似乎没有区分这两种语法(我发现),只是你可以用任何一种方式定义任务.
小智 56
第一种语法定义了一个任务,并提供了一些在任务执行时要执行的代码.第二种语法定义了一个任务,并提供了一些可以立即执行以配置任务的代码.例如:
task build << { println 'this executes when build task is executed' }
task build { println 'this executes when the build script is executed' }
Run Code Online (Sandbox Code Playgroud)
实际上,第一种语法相当于:
task build { doLast { println 'this executes when build task is executed' } }
Run Code Online (Sandbox Code Playgroud)
因此,在上面的示例中,对于语法A,描述不会显示在gradle -t中,因为设置描述的代码在执行任务之前不会执行,这在运行gradle -t时不会发生.
对于语法B,执行ant.echo()的代码将在每次调用gradle时运行,包括gradle -t
要提供执行操作和任务描述,您可以执行以下任一操作:
task build(description: 'some description') << { some code }
task build { description = 'some description'; doLast { some code } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |