web-dev-qa-db-ja.com

Gradleタスクのカテゴリを指定するにはどうすればよいですか?

Intellij IDEAでGradleタスクを書いています。 Gradleウィンドウでは、タスクは次のようにフォルダの下に表示されます。

enter image description here

スクリーンショットに示されているように、フォルダに表示されるようにタスクに「カテゴリ」をどのように指定できますか?

私が作成するすべてのタスクは、通常otherになります。また、カスタムプラグインを作成していて、選択した「フォルダー」名の下に表示させたいと考えています。しかし、私はそれがタスクを書くときと同じ答えになると思います。

29
Mendhak

タスクのgroupプロパティを設定するだけです。例(from 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'
}
31
tim_yates

または、より短い構文:

task publish(type: Copy) {
  group = "Publishing"
  description = "Publish source code to output directory"
  from "sources"
  into "output"
}
23
Vadim Chekan

多くのタスクがある場合は、次のようにグループを構成できます。

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

また、タスクをグループ化してボイラープレートコードを回避する良い方法は次のとおりです。

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
Andrii Abramov