如何为 Gradle 任务指定类别?
How can I specify a category for a Gradle task?
我正在 Intellij IDEA 中编写 Gradle 任务。我注意到在 Gradle window 中,任务出现在这样的文件夹下:
我想知道,如何给任务一个 'category' 以便它出现在屏幕截图所示的文件夹中?
我创建的所有任务通常都在 other
结束。我也在编写一个自定义插件,并希望它出现在我选择的 'folder' 名称下。但我认为这与编写任务时的答案相同。
您只需要设置您的任务group
属性。例如(来自http://mrhaki.blogspot.co.uk/2012/06/gradle-goodness-adding-tasks-to.html)
task publish(type: Copy) {
from "sources"
into "output"
}
configure(publish) {
group = 'Publishing'
description = 'Publish source code to output directory'
}
或者更短的语法:
task publish(type: Copy) {
group = "Publishing"
description = "Publish source code to output directory"
from "sources"
into "output"
}
此外,下一个是对任务进行分组并避免样板代码的好方法:
class PublishCopy extends Copy {
PenguinTask() {
group = 'publish copy'
}
}
然后你就不用每次都指定任务组了:
task copySources(type: PublishCopy) {
from "sources"
into "output"
}
task copyResources(type: PublishCopy) {
from "res"
into "output/res"
}
如果您有很多任务,可以按如下方式配置群组:
def groupName = "group-name"
task1.group = groupName
task2.group = groupName
task3.group = groupName
这适用于 Kotlin DSL(build.gradle.kts 脚本):
tasks.create("incrementVersion") {
group = "versioning"
// ...
}
我正在 Intellij IDEA 中编写 Gradle 任务。我注意到在 Gradle window 中,任务出现在这样的文件夹下:
我想知道,如何给任务一个 'category' 以便它出现在屏幕截图所示的文件夹中?
我创建的所有任务通常都在 other
结束。我也在编写一个自定义插件,并希望它出现在我选择的 'folder' 名称下。但我认为这与编写任务时的答案相同。
您只需要设置您的任务group
属性。例如(来自http://mrhaki.blogspot.co.uk/2012/06/gradle-goodness-adding-tasks-to.html)
task publish(type: Copy) {
from "sources"
into "output"
}
configure(publish) {
group = 'Publishing'
description = 'Publish source code to output directory'
}
或者更短的语法:
task publish(type: Copy) {
group = "Publishing"
description = "Publish source code to output directory"
from "sources"
into "output"
}
此外,下一个是对任务进行分组并避免样板代码的好方法:
class PublishCopy extends Copy {
PenguinTask() {
group = 'publish copy'
}
}
然后你就不用每次都指定任务组了:
task copySources(type: PublishCopy) {
from "sources"
into "output"
}
task copyResources(type: PublishCopy) {
from "res"
into "output/res"
}
如果您有很多任务,可以按如下方式配置群组:
def groupName = "group-name"
task1.group = groupName
task2.group = groupName
task3.group = groupName
这适用于 Kotlin DSL(build.gradle.kts 脚本):
tasks.create("incrementVersion") {
group = "versioning"
// ...
}