Search code examples
groovygradle

How to print task name in gradle?


I have a question about gradle. I'am a newbie in this build system and want to know about how to print task name or save it in a variable.

Something like this:

> gradle someTask

someTask

i think code is like this

task someTask {
   print ($arg[0])
}

but it is not.

Thank you!


Solution

  • Not sure if it's what you want, but you can get the taskNames that were used when Gradle was called by accessing the project.gradle object.

    ie: given the following build.gradle

    task someTask << {
        println project.gradle.startParameter.taskNames
    }
    

    Then running:

    gradle someTask someTask
    

    Gives the output:

    :someTask
    [someTask, someTask]
    
    BUILD SUCCESSFUL
    
    Total time: 4.34 secs
    

    Update; if anyone needs actual-check instead of just logging, try:

    def myTaskName = 'someTask'
    
    if (project.gradle.startParameter.taskNames.contains(myTaskName)) {
        println "Handle ${myTaskName} here."
    }