ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shawn Castrianni <>
Subject RE: [Newbie] Nice way of concatenating files
Date Mon, 19 Jul 2010 16:06:33 GMT
This worked in my test.  It uses the antcontrib tasks called "for" and "var" declared using
the xmlns within the root <project> element.

<project name="concat-test" xmlns:ac="antlib:net.sf.antcontrib">
   <target name="concat-test">
	<!--Loop over each html.part file found in webparts directory-->
      <ac:for param="webPartFile">
         <fileset dir="${basedir}/webparts">
            <include name="*.html.part"/>
		<!--Use antcontrib to clear out property for each loop iteration since ant properties
are immutable-->
            <ac:var name="webPartFileRoot" unset="true"/>
		<!--Calculate root file name of web part minus any directories and extensions-->
            <basename property="webPartFileRoot" file="@{webPartFile}" suffix=".html.part"/>
		<!--Perform concatenation specifying the header and footer from a webtemplates directory
and output to web directory-->
            <concat destfile="${basedir}/web/${webPartFileRoot}.html">
               <header file="${basedir}/webtemplates/header.html"/>
               <fileset file="@{webPartFile}"/>
               <footer file="${basedir}/webtemplates/footer.html"/>

Shawn Castrianni

-----Original Message-----
From: Matthew Jaggard [] 
Sent: Monday, July 19, 2010 10:40 AM
To: Ant Users List
Subject: Re: [Newbie] Nice way of concatenating files

I saw this but couldn't work out how to apply it to a selection of
files as my script does. It needs to look for all scripts labeled
*.html.part and concatenate header.html, the file and then footer.html
to create *.html. For example for the following directory...


I need to create
index.html from header.html + index.html.part + footer.html
page1.html from header.html + page1.html.part + footer.html


On 19 July 2010 16:06, Jonathan Rosenberg <> wrote:
> Ant's <concat/> task is what you want:
> --
> Jonathan Rosenberg
> Founder & Executive Director, Tabby's Place
> -----Original Message-----
> From: [] On Behalf Of
> Matthew Jaggard
> Sent: Monday, July 19, 2010 11:00 AM
> To: user
> Subject: [Newbie] Nice way of concatenating files
> Hi,
>   Sorry for the newbie question. I have written a task to concatenate
> files but want to do it better (in a more platform independent way) as
> it currently relies on "cat" being an available executable. Can anyone
> tell me how to do this using the <concat> task or anything?
>        <target name="-pre-compile">
>                <apply executable="cat">
>                        <arg value="${web.docbase.dir}/header.html "/>
>                        <srcfile/>
>                        <arg value="${web.docbase.dir}/footer.html "/>
>                        <fileset dir="${web.docbase.dir}/"
> includes="*.html.part" excludes="" />
>                        <mapper type="glob" from="*.html.part" to="*.html"/>
>                        <redirector>
>                                <outputmapper id="out" type="glob"
> from="*.html.part"
> to="${build.web.dir}/*.html"/>
>                        </redirector>
>                </apply>
>        </target>
> Many thanks,
> Mat.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

This e-mail, including any attached files, may contain confidential and privileged information
for the sole use of the intended recipient.  Any review, use, distribution, or disclosure
by others is strictly prohibited.  If you are not the intended recipient (or authorized to
receive information for the intended recipient), please contact the sender by reply e-mail
and delete all copies of this message.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message