如何为Gradle任务指定类别?

时间:2015-05-03 22:51:11

标签: groovy intellij-idea gradle

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

enter image description here

我想知道,你怎么能把任务分为一个类别'所以它出现在截图中显示的文件夹中?

我创建的所有任务通常都以other结尾。我也在编写一个自定义插件,并希望它出现在一个'文件夹下。我选择的名字。但我认为它在编写任务时应该是相同的答案。

5 个答案:

答案 0 :(得分:29)

您只需设置任务的"text, sales"属性即可。例如(来自http://mrhaki.blogspot.co.uk/2012/06/gradle-goodness-adding-tasks-to.html

group

答案 1 :(得分:22)

或者,缩短语法:

#!/usr/bin/ruby 
old_parents = gets.chomp.gsub('-p ', ' ') 

if old_parents.empty? then 
  new_parents = [] 
else 
  new_parents = `git show-branch --independent #{old_parents}`.split 
end 

puts new_parents.map{|p| '-p ' + p}.join(' ') 

答案 2 :(得分:6)

如果您有许多任务,可以按如下方式配置组:

def groupName = "group-name"
task1.group = groupName
task2.group = groupName
task3.group = groupName

答案 3 :(得分:4)

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

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"
}

答案 4 :(得分:0)

这适用于 Kotlin DSL:

tasks.create("incrementVersion") {
    group = "versioning"
    // ...
}