--- Stefan Bodewig <[EMAIL PROTECTED]> wrote:

> On Fri, 2 Mar 2007, Matt Benson
> <[EMAIL PROTECTED]> wrote:
> 
> > I noticed that in order to pick the archivefileset
> parameters on
> > e.g. <tar> (I'm assuming zip and family work this
> way as well) the
> > archivefileset has to be a direct child of the
> archive task.  This
> > means that specifying e.g.
> > 
> > <resources id="archiveResources">
> >   <fileset dir="foo" excludes="bar" />
> >   <tarfileset file="bar" fullpath="special/bar" />
> > </resources>
> > 
> > doesn't work as I would expect.
> 
> True.  The prefix and fullpath attributes only work
> in tasks that have
> special handling for ArchiveFileSets and those in
> turn need to know
> there is a ArchiveFileSet somewhere nested in them -
> which they don't
> if you wrap the fileset.
> 
> > Is it agreed that <tar>'s ignoring the fullpath of
> bar is
> > undesirable?
> 
> +1
> 
> > If so it would seem we'd need perhaps an
> ArchiveResource interface
> > to carry along the parameters from the parent
> ArchiveFileSet, etc.,
> > etc?
> 
> They already carry the permission bits so adding the
> prefix and
> fullpath stuff seems logical (don't know why I
> didn't add them right
> away).
> 
> Maybe a single method would even be enough and we
> don't need to have
> separate accessors for fullpath and prefix.  Just a
> different getName
> method (don't know how to call it) that returned the
> name after
> fullpath or prefix has been applied.
> 
> If you go that route, could you please extract the
> supporting methods
> into an interface that would allow other
> implementations to return
> ressources that change their names when used? 
> Something like
> 
> <mappedressource>
>   <fileset refid="foo"/>
>   <globmapper from="*.java" to="*.class"/>
> </mappedressource>
> 
> which would return all files from the fileset and
> map the names of
> them (by returning Ressources that implement the new
> interface).

This sounds like the feature Alexey has been demanding
all these years.  ;)  But to do this with an interface
means its consumers would have to check for it
explicitly; put another way, that all resource
consumers would not immediately benefit.  If we
implemented the name-mapping behavior such that it
simple overrode getName(), the consequent question is
why have an interface at all?  Possibly to provide
access to the original resource name?  WDYT?

-Matt

> 
> Stefan
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 



 
____________________________________________________________________________________
Yahoo! Music Unlimited
Access over 1 million songs.
http://music.yahoo.com/unlimited

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to