On May 27, 2009, at 6:06 PM, Pfau, Matthias wrote:

Hans, thanks again for explaining.

I got your point! You are right: If you are writing a build script that only uses "basic" functionality (e.g. compile and create distributions), then there is no need to append actions.

I missed the original discussion, unfortunately (http://www.nabble.com/Task-DSL-td23521911.html#a23521911 ). I think that it is good to go the declarative way. But the actual solution makes it very hard to distinguish between create/configure based on the syntax (e.g. "<<" does not state 'create this task', at least for me). And this is very important if you try to learn a new DSL.

The task creation is achieved by doing:

task myTask

task jarTask(type: Jar)

Those are valid statements. Later statements could look like this:

myTask << {
   println 'Hello'
}

jarTask {
   description = 'This task produces the main jar of the project'
}

Alternatively you can combine those operations. Either create and append action, or create and configure.

- Hans

--
Hans Dockter
Gradle Project Manager
http://www.gradle.org



Kind regards,
Matthias


If your main use case if creating simple custom tasks. For example as
a wrapper for Ant tasks you are right. But if the major use case is
creating tasks with a custom type, then configuration is the main use
case.

e.g.

task myJar(type: Jar) {
        <configure>
}

You usually don't want to append an action to such a Jar task. What
you always want to do is to configure the task.

Additionally there is the use case of configuring exisiting tasks (the
one for example added by the Java plugin). The major use case here is
configuration. Therefore we decided for 0.6. to make the notation not
context dependent (i.e. create vs configure existing task).



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email






---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to