ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wascally Wabbit <wascallywab...@earthling.net>
Subject Re: Programmatically create a fileset and reference
Date Sat, 03 May 2008 15:15:50 GMT
If you're not averse to creating a little helper class, why not
just write a custom file selector that can read your delimited
file. Then you can just leverage the built in resource collection
mechanisms like:

<files id="myfiles">
   <custom classname="your.new.custom.csvfile.reader.Selector">
     <param name="file" value="/your/files/location"/>
   </custom>
</files>

As of 1.7 this <files> item can be used just about wherever the
older <fileset> type was allowed...

WARNING: I have not worked with the new resource collections in
1.7 extensively; so not sure *exactly* how this might work.

-The Wabbit

Jeremy Weber wrote:
> Hi All,
> 
> I have created dozen of custom tasks before, but find myself struggling 
> with this one. I wish to create a task that does the following:
> 
> 1.  Accepts a file attribute to represent the absolute path of a file 
> contains comma separated absolute paths.
>    a.  this file name will be read in, parsed and each file found will 
> be added to a fileset object, which in term is added to a resources object.
> 2.  Accepts a id property
>    a.  this id will be the id of the resource created in step 1a.
> 
> So essentially I want...
> 
>    <csvtofileset file="csv.file.name" id="some.id.name">
> 
> I am unclear on how to add the fileset i create in my code to the 
> project.  Additionally I am unsure of how to assign this an 'id' that I 
> can reference elsewhere.  Basically what I want to be able to do is 
> create a collection of files on the fly which I can reference on the 
> fly.   Essentially in the following snippet, the resources element would 
> be replaced by my new task element
> 
> <project name="test" basedir="." default="test">
> 
>   <!-- old -->
>    <resources id="fsd">
>         <fileset file="c:\temp\db2_test\db2jcc.jar" />           
> <fileset file="c:\temp\db2_test\db2jcc_license_cu.jar" />       
> </resources>
>    <!-- old -->
> 
>    <!-- new -->
>           <csvtofileset file="csv.file.name" id="fsd">
>    <!-- new -->
> 
>   <target name="test">
>          <copy toDir="c:\temp\ failonerror="true">
>             <resources refid="fsd"/>
>          </copy>
>   </target>
> </project>
> 
> 
> Any help at all would be appreciated.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message