ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Bergbauer" <>
Subject Reference, arguments and all that jazz.
Date Fri, 29 Sep 2000 23:37:12 GMT
Not quite ready for prime time but you might get bored this weekend...

- I have put Argument out of Commandline.
- Both Path and Argument now derive from a new class NestedDataType (it's a data type
  for nested element!), which implements the interface CompositeType.
- I have eliminated PathElement since Path can already contain Path and Strings (through append).
- FileSet implements CompositeType.
- Property has a new attribute: separator. When a property has a reference to a CompositeType,
  it can change its separator.

You can do all sorts of fun things with references as the build file test1.xml and its output
on my
machine attest.

All this brings about some interesting issues:
- What should be allowed to be referenced? for example, you could reference a Property, but
currently does not
   follow references (its toString() simply returns a value). If it followed references, it
have to check for
  circular references. Same with any other task. Should we restrict references to DataTypes
at this
  Note that a Property is already a reference of sorts when you instanciate with ${myproperty}.
- To resolve circular references and, often to display data, a DataType needs to know what
it is in.
  I have added constructors that take a Project argument. Maybe there should be a static method
give you the
  current project (the top of the project stack) to avoid passing projects around.
- Since references essentially bypass the type system, you can get some interesting results.
In this
  Path and Argument try to do something reasonable. However, add more types, and their behaviors
could become
  quite obscure.

P.S.: On my machine (W2K, cygwin) patch seems to crash when given a multi-part patch file.
For that
        I have made multiple patch files.


View raw message