2015-05-03 16 views
22

Sto scrivendo un'attività Gradle in Intellij IDEA. Ho notato che nella finestra Gradle, i compiti appaiono sotto le cartelle in questo modo:Come posso specificare una categoria per un'attività Gradle?

enter image description here

mi chiedo, come si può dare un compito un 'categoria' in modo che appaia in una cartella, come mostrato in lo screenshot?

Tutte le attività che creo di solito finiscono in other. Sto anche scrivendo un plugin personalizzato e voglio che appaia sotto il nome di una "cartella" di mia scelta. ma presumo che sarà la stessa risposta per quando si scrive un compito.

risposta

21

È sufficiente impostare la proprietà group dell'attività. Ad esempio (da 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' 
} 
+0

Grazie. Dalla tua risposta, ero in grado di farlo per un plugin personalizzato, ho aggiunto il gruppo alla firma in BlahPlugin.groovy: 'target.task ('greetingTask', tipo: GreetingTask, group: 'platitudes')' – Mendhak

16

Oppure, la sintassi più breve:

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

Inoltre, bel modo di attività di gruppo e di evitare codice standard è la prossima:

class PublishCopy extends Copy { 
    PenguinTask() { 
     group = 'publish copy' 
    } 
} 

E poi don È necessario specificare ogni volta il gruppo di attività:

task copySources(type: PublishCopy) { 
    from "sources" 
    into "output" 
} 

task copyResources(type: PublishCopy) { 
    from "res" 
    into "output/res" 
} 
1

Se si dispone di molte attività, è possibile configurare il gruppo come segue:

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