Groovy 如何为渐变任务指定类别?

Groovy 如何为渐变任务指定类别?,groovy,intellij-idea,gradle,Groovy,Intellij Idea,Gradle,我正在用Intellij IDEA写一个Gradle任务。我注意到在Gradle窗口中,任务显示在如下文件夹下: 我想知道,你怎么能给一个任务一个“类别”,使它出现在一个文件夹中,如屏幕截图所示 我创建的所有任务通常以other结束。我还写了一个自定义插件,希望它出现在我选择的“文件夹”名称下。但我认为在写任务时,答案是一样的 您只需要设置任务的组属性。例如(来自) 或者,更简短的语法: task publish(type: Copy) { group = "Publishing" d

我正在用Intellij IDEA写一个Gradle任务。我注意到在Gradle窗口中,任务显示在如下文件夹下:

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


我创建的所有任务通常以
other
结束。我还写了一个自定义插件,希望它出现在我选择的“文件夹”名称下。但我认为在写任务时,答案是一样的

您只需要设置任务的
属性。例如(来自)

或者,更简短的语法:

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的:

任务。创建(“增量版本”){
group=“版本控制”
// ...
}

谢谢。根据您的回答,我可以为一个自定义插件执行此操作,我在BlahPlugin.groovy中的签名中添加了组:
target.task('greetingTask',type:greetingTask,group:'platitudes')
def groupName = "group-name"
task1.group = groupName
task2.group = groupName
task3.group = groupName