ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scot P. Floess" <flo...@mindspring.com>
Subject Re: Copying files from dirs specified by libpath
Date Wed, 31 May 2006 23:38:47 GMT
William:

It seems I do this far too often and am corrected as there may be some 
stock ant task to do what you want ;)  However, you can use ant-contrib 
tasks - specifically <for> or <foreach> which will give you iterative 
capabilities over a list/path.  If you "wrap" that in a macrodef, well 
you can make it even prettier...

For instance:

<project  name = "copy">
    <taskdef  resource = "net/sf/antcontrib/antlib.xml"/>

    <macrodef  name = "copy-ref-id">
        <attribute  name = "dest-dir"/>
        <attribute  name = "dir-ref"/>

        <sequential>
            <mkdir dir = "@{dest-dir}"/>
            <var   name = "FILE_LIST"  unset = "true"/>
            <pathconvert property = "FILE_LIST"  refid = "@{dir-ref}"/>

            <for param = "dir"  list = "${FILE_LIST}"  delimiter = 
"${path.separator}">
                <sequential>
                    <copy todir = "@{dest-dir}">
                        <fileset dir = "@{dir}" includes = "**/*"/>
                    </copy>
                </sequential>
            </for>
        </sequential>
    </macrodef>
</project>

Now, to call the above...lets assume you actually use a libpath refid...

<copy-ref-id dest-dir = "/home/william/repo" dir-ref = "libpath"/>

Hope that helps...

Scot

William Press wrote:
> Yes, that's correct.
>
> -----Original Message-----
> From: Scot P. Floess [mailto:floess@mindspring.com] 
> Sent: Wednesday, May 31, 2006 4:08 PM
> To: Ant Users List
> Subject: Re: Copying files from dirs specified by libpath
>
> William:
>
> So, just to clarify you want to iterate over each directory in libpath 
> and copy the files from each into a directory?
>
> William Press wrote:
>   
>> Greetings,
>>
>>  
>>
>> I have a libpath reference I'd like to use for copying files.
>> Specifically, the libpath reference contains a list of directories,
>>     
> and
>   
>> I would like to copy all of the files contained in these directories
>> into a target directory.
>>
>>  
>>
>> I realize I can convert this into a comma-delimited list of
>>     
> directories
>   
>> using <pathconvert>, but it doesn't seem there's a way of deriving a
>> fileset from this comma-delimited list.
>>
>>  
>>
>> Has anybody here solved this before?
>>
>>  
>>
>> Thanks,
>>
>> Bill
>>
>>
>>   
>>     
>
>   

-- 
Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-754-4592 (Work)

Chief Architect JPlate  http://sourceforge.net/projects/jplate
Chief Architect JavaPIM http://sourceforge.net/projects/javapim


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message