ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: ant 2
Date Tue, 12 Dec 2000 00:15:26 GMT
At 11:09  11/12/00 -0600, wrote:
>I have a few ideas for ant 2.0, and would like to know what everyone
>thinks. I have a protoype that does most of this - if there's enough
>interest I'll finish it up and submit it.

kewl. If you want I can check it into CVS as another proposal :) 

>The biggest change is the ability to import one project from another. This
>gives you access to all of the properties and targets defined in that
>project, which can be accessed by using the colon as a namespace operator.
>For example, if your project depended on the xerces jar, and you wanted to
>make sure that jar was up to date before compiling against it, you could do
><project name="foo">
>     <import name="xerces"/>
>     <target name="compile" depends="xerces:jar">
>          <javac classpath="${xerces:dist.jar}">
>               ...
>          </javac>
>     </target>

I like that. That fits in well with the ideas I was trying to tie together
regarding a Workspace. A Workspace being a collection of related projects.
There is only one issue I have with this - it may unneccesarily restrictive
for developers. It could end up with one project relying too much on the
internal structure of another project. I guess we need some way to tell
other developers which parts are static and "public" and which are
"private" parts of project. What do you think ?

>Another change is to not instantiate task objects until right before
>they're executed. This allows us to define the task in the same script
>where we use it:

That is in the main ant and also in both the proposals ;)

>And finally, I've changed the "baseDir" attribute on project so that it can
>be either a directory or a jar (any URL, actually). This means that you can
>execute an antfile stored inside a jar, and have it load tasks stored in
>that jar. This gives us the "drop a jar in the right directory" mechanism
>for installing tasks.

very kewl !!! I never thought about it that way but I like ;)

>So all of this basically gives us an easy way to install new tasks on a
>system, and it does so without any new syntax, since everything is an ant
>file. It also gives us a uniform way of describing dependencies between
>projects, and paves the way for something like CJAN. IMHO, of course.

definetly sounds interesting - I would like to see inter project
dependencies discussed further thou.



| "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               |

View raw message