# What is "task" from a groovy standpoint?

**URL:** <https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821>\
**Category:** Old Forum Archive\
**Created:** [August 7, 2014, 10:04am UTC](https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821 "2014-08-07T10:04:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kashyap\_CK](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/kashyap_ck/32/1046_2.png) [@Kashyap\_CK](https://discuss.gradle.org/u/Kashyap_CK)\
**Post date:** [August 7, 2014, 10:04am UTC](https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821/1 "2014-08-07T10:04:00Z")

</div>

newbie question - what is “task” from a groovy standpoint? I tried exploring by creating a task like this - task Hello \<\< { println “hello” } println Hello.class

This printed out class org.gradle.api.DefaultTask\_Decorated

However I could not figure out what “task” is. It does not appear to be a function since Hello becomes a symbol. I’d appreciate any pointers very much.

---

<div class="post-metadata">

**Author:** ![Perryn\_Fowler](https://avatars.discourse-cdn.com/v4/letter/p/82dd89/32.png) [@Perryn\_Fowler](https://discuss.gradle.org/u/Perryn_Fowler)\
**Post date:** [August 7, 2014, 12:06pm UTC](https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821/2 "2014-08-07T12:06:00Z")

</div>

Take a look at my answer to [this question](http://forums.gradle.org/gradle/topics/clarification_of_gradle_syntax_on_sourcesets_script_block)  
  
TL;DR : task is a method on an instance of [Project](http://www.gradle.org/docs/current/dsl/org.gradle.api.Project.html)

---

<div class="post-metadata">

**Author:** ![Peter\_Niederwieser](https://avatars.discourse-cdn.com/v4/letter/p/9f8e36/32.png) [@Peter\_Niederwieser](https://discuss.gradle.org/u/Peter_Niederwieser)\
**Post date:** [August 7, 2014, 12:39pm UTC](https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821/3 "2014-08-07T12:39:00Z")

</div>

There is a Groovy compiler plugin (AST transform) involved here which rewrites ‘task Hello’ to ‘project.task(“Hello”)’.

---

<div class="post-metadata">

**Author:** ![Kashyap\_CK](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/kashyap_ck/32/1046_2.png) [@Kashyap\_CK](https://discuss.gradle.org/u/Kashyap_CK)\
**Post date:** [August 8, 2014, 6:42am UTC](https://discuss.gradle.org/t/what-is-task-from-a-groovy-standpoint/5821/4 "2014-08-08T06:42:00Z")

</div>

Thank you so much Perryn and Peter. Just what I was looking for.

Regards, Kashyap
