ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: 2.0 suggestions / questions
Date Wed, 21 Mar 2001 01:02:38 GMT
At 07:03  20/3/01 -0500, Eric Siegerman wrote:
>I'm a rank ant newbie.  The following is a combination of 2.0
>suggestions, newbie questions, and confusion.  I wouldn't dream
>of submitting suggestions at my current level of
>(mis)understanding, except that the submission deadline's

deadlines are for paid work - we scratch what itches ;) Though we are goin
to move onto the next phase soon - however we will always accept ideas etc ;)

>1.  Can I do set arithmetic on FileSet's?  I need to include most

No need to in most cases. From one of my build files...

    <javac srcdir="${java.dir}"
      <classpath refid="project.class.path" />
      <src path="${build.src}"/>
      <exclude name="${constants.file}" />

will include everything in java.dir except ${constants.file} and everything
in build.src.

Not all tasks support this but most that I have needed do. Multiple
filesets combined with exclude/include (or patternsets) will work the magic
you need. 

However I will add set arithmatic to requested features.

>2.  Documentation complaint:  Where can mappers be used, and
>    where not?  I see documentation for how to construct a
>    <mapper> element, and of the existing mapper types, but the
>    *only* thing I can find about where to put one is in examples
>    of a couple of tasks like <apply> and <copy>.  There doesn't
>    seem to be anything rigourous that says: "you can use a
>    mapper *here*, and if you do, it reads *this* file list and
>    produces *that* list".

apply/copy are currently the only tasks that use it ;) But patches for docs
are accepted ;)

>3.  Can a mapper be used in the construction of a FileSet?  I'd
>    like to be able to say something like:
>	<fileset id="sources" .../>
>	<fileset id="classes" refid="sources">
>	    <mapper type="glob" from="*.java" to="*.class"/>
>	</fileset>

there has been a proposal for this. It may or may not get through - not
sure at this moment.

>4.  Let me register a custom mapper, as <taskdef> does for tasks,
>    so that I don't have to name the mapper's java class at each
>    reference.

Already requested with line

 * provide support for non-hardwired (ie loadable) low-level 
 components (mappers/itemset-filters/converters). Allow them to be 
 loaded in either global or a new classloader.

>5.  There's an existing suggestion:
>    > * Target inheritance. ie The ability to include targets from other 
>    >   project files overidining them as necessary (so cascading project
>    >   files).
>    This should be possible for things other than targets, like
>    FileSet's and properties.  

inheritance of filesets/properties between projects is already there. (Thou
not explicitly stated which I may do).

However inheritance between datatypes is an interesting idea that I will add.

>6.  The concepts "fileset" and "path" can be unified, I think.

Already covered under the notion of standardising attributes/developing
more fully fledged notion of includes/excludes/file-patternsets. Will make
it explicit though..

> 7. Another existing suggestion:
>    > * It should be possible to modify details of the actual build (e.g.
>    >   used compiler) without the need to change the build specification.
>    > 
>    >   Do build.compiler and build.sysclasspath cover everything or do we
>    >   need to add more stuff like this?
>    It should be possible to specify -g, -O, -nowarn, etc., at
>    runtime, ie. ant should have the equivalent of CFLAGS-style
>    hooks.

yep - definetly ;)

>I hope at least some of these have value ... thanks for

most of it was good ! ;)



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