42

我正在 Intellij IDEA 中编写 Gradle 任务。我注意到在 Gradle 窗口中,任务出现在文件夹下,如下所示:

在此处输入图像描述

我想知道,你怎么能给一个任务一个“类别”,以便它出现在一个文件夹中,如屏幕截图所示?

我创建的所有任务通常都以other. 我还在编写一个自定义插件,并希望它出现在我选择的“文件夹”名称下。但我认为在编写任务时这将是相同的答案。

4

5 回答 5

51

您只需要设置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'
}
于 2015-05-04T07:07:55.200 回答
32

或者,更短的语法:

task publish(type: Copy) {
  group = "Publishing"
  description = "Publish source code to output directory"
  from "sources"
  into "output"
}
于 2015-12-16T19:43:52.873 回答
8

如果你有很多任务,你可以配置组如下:

def groupName = "group-name"
task1.group = groupName
task2.group = groupName
task3.group = groupName
于 2017-01-12T09:29:16.790 回答
6

此外,将任务分组并避免样板代码的好方法是下一个:

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"
}
于 2016-12-22T16:58:40.487 回答
3

这适用于Kotlin DSL(build.gradle.kts脚本):

tasks.create("incrementVersion") {
    group = "versioning"
    // ...
}
于 2021-05-31T08:41:08.877 回答