ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <dona...@apache.org>
Subject RE: Functional Requirements Document
Date Sun, 21 Jan 2001 01:09:46 GMT
At 01:51  20/1/01 -0500, James Cook wrote:
>I jotted some thoughts down regarding the requirements of a Task (and the
>Task developer). Interested in feedback. Peter, I have this in HTML format
>that you can grab if you want to put it into the online functional
>specification. (http://www.visualxs.com/products/frantic/index.html)

kewl.

>A Task should remain a very easy class for a developer to write. One of
>Ant's primary successes is the ease with which it may be extended. Any
>future burdens on the Task developer should be kept to a minimum.

+1

>1. Task developers will not have to go through an external class to access
>its data.
...snip...

+100

This design pattern is often called Invertion of Control or the Hollywood
principle ("Don't call us - we'll call you"). It forms part of my religion
... errr design strategies ;)

>2. A Task must identify the name of all modifiable properties.

While I would like this in some cases (I actually asked for this ages ago
when I first started using ant) but I don't think it should be mandated. I
also think it should be in a separate file (perhaps with taskdef??).

>b. The Task developer uses an external file (ala the Task list file) to
>specify the properties.
+1

>c. The properties are encoded in JavaDoc for the Task. This approach could
>be extended to allow Task usage instructions to be generated using a custom
>Doclet. This Doclet could also be used to generate the external file
>discussed in the previous point.
+1

>3. A Task must be able to return resolved and unresolved values of its
>properties.

I am not sure unresolved values should be passed to tasks at any time. The
one exception is when the task completely and utterly interprets the
taskdata/proxy-tree/DOM by itself. This is useful for if/else/case tasks
and tasks like property that require datatypes to be registered and
interpreted.



Cheers,

Pete

*-----------------------------------------------------*
| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof."                   |
|              - John Kenneth Galbraith               |
*-----------------------------------------------------*


Mime
View raw message