<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>#Adam.Blog# &#187; programming</title>
	<atom:link href="http://blog.adampresley.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.adampresley.com</link>
	<description>I&#039;m bringin&#039; nerdy back.</description>
	<lastBuildDate>Fri, 03 Sep 2010 15:59:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><atom:link rel="hub" href="http://github.com/tonyg/rabbithub"/>		<item>
		<title>Dallas TechFest 2010</title>
		<link>http://blog.adampresley.com/2010/dallas-techfest-2010/</link>
		<comments>http://blog.adampresley.com/2010/dallas-techfest-2010/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 12:23:35 +0000</pubDate>
		<dc:creator>Adam Presley</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[White and Nerdy]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.adampresley.com/?p=1027</guid>
		<description><![CDATA[Yesterday I had the pleasure of attending and speaking at Dallas TechFest 2010. I presented on taking an existing ColdFusion application and spicing it up incrementally using jQuery, the hottest JavaScript library around. The micro-conference; I suppose you can call it that, was a lot of fun. I attended some pretty good sessions, including MySQL [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had the pleasure of attending and speaking at Dallas TechFest 2010. I presented on taking an existing ColdFusion application and spicing it up incrementally using <a href="http://jquery.com">jQuery</a>, the hottest JavaScript library around.</p>

<p>The micro-conference; I suppose you can call it that, was a lot of fun. I attended some pretty good sessions, including MySQL optimization, Event Gateway programming in ColdFusion, and an introduction to Grails and CouchDB. I must say that CouchDB is <em>particularly</em> interesting, and may find its way into one of my projects in the near future.</p>

<p>That aside here are the couple of measly photos I took at the conference.</p>


<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0970-2/' title='IMG_0970'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_09701-150x150.jpg" class="attachment-thumbnail" alt="IMG_0970" title="IMG_0970" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0974/' title='IMG_0974'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0974-150x150.jpg" class="attachment-thumbnail" alt="IMG_0974" title="IMG_0974" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0976/' title='IMG_0976'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0976-150x150.jpg" class="attachment-thumbnail" alt="IMG_0976" title="IMG_0976" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0972/' title='IMG_0972'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0972-150x150.jpg" class="attachment-thumbnail" alt="IMG_0972" title="IMG_0972" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0971/' title='IMG_0971'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0971-150x150.jpg" class="attachment-thumbnail" alt="IMG_0971" title="IMG_0971" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0973/' title='IMG_0973'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0973-150x150.jpg" class="attachment-thumbnail" alt="IMG_0973" title="IMG_0973" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0969/' title='IMG_0969'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0969-150x150.jpg" class="attachment-thumbnail" alt="IMG_0969" title="IMG_0969" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0968/' title='IMG_0968'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0968-150x150.jpg" class="attachment-thumbnail" alt="IMG_0968" title="IMG_0968" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0970/' title='IMG_0970'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0970-150x150.jpg" class="attachment-thumbnail" alt="IMG_0970" title="IMG_0970" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0967/' title='IMG_0967'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0967-150x150.jpg" class="attachment-thumbnail" alt="IMG_0967" title="IMG_0967" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0966/' title='IMG_0966'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0966-150x150.jpg" class="attachment-thumbnail" alt="IMG_0966" title="IMG_0966" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0965/' title='IMG_0965'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0965-150x150.jpg" class="attachment-thumbnail" alt="IMG_0965" title="IMG_0965" /></a>
<a href='http://blog.adampresley.com/2010/dallas-techfest-2010/img_0978/' title='.NET Ninja!'><img width="150" height="150" src="http://blog.adampresley.com/wp-content/uploads/2010/07/IMG_0978-150x150.jpg" class="attachment-thumbnail" alt=".NET Ninja!" title=".NET Ninja!" /></a>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.adampresley.com/2010/dallas-techfest-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nerdiest programming language ever!</title>
		<link>http://blog.adampresley.com/2009/nerdiest-programming-language-ever/</link>
		<comments>http://blog.adampresley.com/2009/nerdiest-programming-language-ever/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 18:25:24 +0000</pubDate>
		<dc:creator>Adam Presley</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.adampresley.com/?p=653</guid>
		<description><![CDATA[Ok, this programming language I stumbled across has to be the nerdiest programming language ever conceived, sober or drunk! The creators of this language believe that humble whitespace characters have received a bad wrap, and as such pay homage to the lowest common characters, whitespace. For the nerdy programmer types such as myself, check it [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Ok, this programming language I stumbled across has to be the nerdiest programming language ever conceived, sober or drunk! The creators of this language believe that humble whitespace characters have received a bad wrap, and as such pay homage to the lowest common characters, whitespace. For the nerdy programmer types such as myself, check it out at <a href="http://compsoc.dur.ac.uk/whitespace/index.php">http://compsoc.dur.ac.uk/whitespace/index.php</a>. For the rest of you&#8230; well, you&#8217;ll likely not <strong>SEE</strong> anything of use. <img src='http://blog.adampresley.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.adampresley.com/2009/nerdiest-programming-language-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regular Expressions &#8211; Commas at the Beginning of Column Names</title>
		<link>http://blog.adampresley.com/2009/regular-expressions-commas-at-the-beginning-of-column-names/</link>
		<comments>http://blog.adampresley.com/2009/regular-expressions-commas-at-the-beginning-of-column-names/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 18:47:05 +0000</pubDate>
		<dc:creator>Adam Presley</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Regex]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.adampresley.com/?p=374</guid>
		<description><![CDATA[If you&#8217;ve worked with a lot of inline SQL like I have over the years you&#8217;ve probably discovered quickly that as you have to add more columns to your query, especially columns that are only added on a dynamic condition, it can be easy to mangle up your commas. Here&#8217;s an example of a common [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve worked with a lot of inline SQL like I have over the years you&#8217;ve probably discovered quickly that as you have to add more columns to your query, <strong>especially </strong>columns that are only added on a dynamic condition, it can be easy to mangle up your commas. Here&#8217;s an example of a common type of query I deal with at work on a regular basis.</p>


<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>
	column1<span style="color: #66cc66;">,</span>
	column2<span style="color: #66cc66;">,</span>
	column3
<span style="color: #993333; font-weight: bold;">FROM</span> table1</pre></div></div>


<p>Now if I am asked to add a column based on some condition it could look like this.</p>


<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>
	column1<span style="color: #66cc66;">,</span>
	column2<span style="color: #66cc66;">,</span>
	column3
<span style="color: #66cc66;">&lt;</span>cfif someCondition EQ true<span style="color: #66cc66;">&gt;,</span> column4<span style="color: #66cc66;">&lt;/</span>cfif<span style="color: #66cc66;">&gt;</span>
<span style="color: #993333; font-weight: bold;">FROM</span> table1</pre></div></div>


<p>So over time I&#8217;ve come around to the SQL syntax where you put commas <strong>before </strong>your column name, making this kind of problem less of an issue.</p>

<p>So in working with old queries I&#8217;ve had to convert a few to this syntax just for readability. Here is a little regular expression I cooked up that can help this along. It&#8217;s not quite perfect, and doesn&#8217;t work in Eclipse (lack of lookahead support perhaps?), but will work in more powerful regex editors (Boxer, for example). It doesn&#8217;t catch the last column, and will double up on commas that already at the beginning of the column. Like I said, not perfect, but helpful nonetheless.</p>


<div class="wp_syntax"><div class="code"><pre class="reg" style="font-family:monospace;"><span style="color: #000000;">&#40;</span>\s*<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#91;</span>a-z0-9\._\<span style="color: #000000;">&#40;</span>\<span style="color: #000000;">&#41;</span>\s',<span style="color: #000000;">&#93;</span>+<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#40;</span>?<span style="color: #000000;">=</span>,<span style="color: #000000;">&#41;</span>,</pre></div></div>


<p>Use this regex as your search condition, and the replace text is &#8220;<strong>$1, $2</strong>&#8220;, without quotes.</p>

<p>Happy coding!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.adampresley.com/2009/regular-expressions-commas-at-the-beginning-of-column-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Challenge: Footprint Optimization</title>
		<link>http://blog.adampresley.com/2009/coldfusion-challenge-footprint-optimization/</link>
		<comments>http://blog.adampresley.com/2009/coldfusion-challenge-footprint-optimization/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 16:18:35 +0000</pubDate>
		<dc:creator>Adam Presley</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Code Challenge]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.adampresley.com/?p=371</guid>
		<description><![CDATA[The heat is on! (note actually, I&#8217;m freezing right now, our office air is on, and it&#8217;s 50 degrees outside). But I digress&#8230; The HEAT IS ON! I have initiated a code challenge at work this week. I work for a software company in Dallas that is in the medical field, and I serve as [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>The heat is on! (<em>note</em> actually, I&#8217;m freezing right now, our office air is on, and it&#8217;s 50 degrees outside). But I digress&#8230; The HEAT IS ON! I have initiated a code challenge at work this week. I work for a software company in Dallas that is in the medical field, and I serve as the Lead Software Architect. Part of my job, aside from governing coding standards and leading architectural design sessions, is education. Our business is very hectic and fast because the business rules are changing&#8230; daily. So it&#8217;s pretty easy to get stuck in a rut doing the same types of coding tasks daily.</p>

<p>In an effort to spur a bit of creativity I have called for a code challenge. All too frequently we as web developers are handed a task to code, a server with TONS of RAM and hard drive space, a big-bad database server, and told &#8220;go to town&#8221;! If that&#8217;s all you know then you&#8217;ve never had the pleasure of dealing with coding for embedded systems, or mobile devices, or any other limited hardware device. So here&#8217;s the challenge.</p>

<p><span id="more-371"></span></p>

<p>I have presented our engineering team a scenario where they have a fictional device with limited memory and disk space. The device has ColdFusion and Apache embedded on it. No SQL database, no fancy Java components, just CF 8 and a web server. ColdFusion is configured to run JRUN at a maximum of 32MB of memory.</p>

<p>The engineer must create an application that allows the user (at a minimum) to view a list of contacts, add a contact, edit a contact, and remove a contact. The data that is stored/tracked must contain the contact&#8217;s first name, last name, address, city, state, zip code, phone number, and email address. All pages created must have a display space of 240px x 400px. The final criteria: you only have 32KB of disk space to store your application. Pages, database, components, whatever&#8230; 32KB.</p>

<p>Code will be judged on a number of factors. Code must be clean and well organized. It should demonstrate some type of re-usability. No, this is not an excercise in OOP, frameworks, or any other type of design pattern. You can use CFCs, custom tags, or good ole&#8217; functions, as long as the code is organized and thought out. The submission demonstrating that they meet the requirements, as well as creativity in solving the problem wins. Yes, there is a prize, but only if you work on our engineering team. If you don&#8217;t I&#8217;m not giving you a gift card, so don&#8217;t ask. <img src='http://blog.adampresley.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>I have about 5 participants at this time, and hope more are interested. I look forward to submissions! (And yes, I&#8217;ve done it already).</p>

<p>Happy coding!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.adampresley.com/2009/coldfusion-challenge-footprint-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using ANT to Automate A Build</title>
		<link>http://blog.adampresley.com/2009/using-ant-to-automate-a-build/</link>
		<comments>http://blog.adampresley.com/2009/using-ant-to-automate-a-build/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 17:24:04 +0000</pubDate>
		<dc:creator>Adam Presley</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.adampresley.com/?p=352</guid>
		<description><![CDATA[Last night I attended the Dallas/Fort Worth ColdFusion User Group meeting held at the Paladin Consulting offices, lead here locally by Dave Shuck. There were three presentations scheduled, though one was cancelled last minute, so we only got two. Although both presentation were good the one I got the most use of our was Dave [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Last night I attended the Dallas/Fort Worth ColdFusion User Group meeting held at the <a href="http://www.paladin-inc.com/" target="_blank">Paladin Consulting</a> offices, lead here locally by Dave Shuck. There were three presentations scheduled, though one was cancelled last minute, so we only got two. Although both presentation were good the one I got the most use of our was Dave Shuck&#8217;s introduction to ANT scripts.</p>

<p>I had heard of <a href="http://ant.apache.org/" target="_blank">ANT</a>, and had already been curious about getting my hand dirty in it to see what it could do, but have never found the time to do it. After his presentation, however, I went home and decided it was time to at least play with it. I did have a real-world test to try it on. A little contract project I just worked needed a small modification on two of the PHP files, and then I needed to redistribute it to the client. What this involved, however, was more than just zipping it up.</p>

<p>First I had to make the modifications to the code and test it. Simple enough. Then I needed to copy only the PHP and CSS files I needed to a temporary directory, clean out my password information from the XML configuration files and copy THOSE over. THEN I had to regenerate my HTML documentation using the always wonderful <a href="http://www.doxygen.org" target="_blank">Doxygen</a>, copy all THOSE files to the temporary directory, ZIP it all up, and THEN send it to the client. ANT to the rescue!</p>

<p><span id="more-352"></span></p>

<p>First things first, create an XML file. Let&#8217;s call it <strong>example-build.xml</strong>. This is the actual script file. The very first things to put in there are the XML header, a project element, and a description. That will look like this.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Example Application&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;build&quot;</span> <span style="color: #000066;">basedir</span>=<span style="color: #ff0000;">&quot;.&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    ANT build script for the example application.
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>


<p>Now what we want to do is consider what locations we need to work with. Firstly we need to know where our source files are coming from, and also where they are going to. For my needs I opted to have the end result go into a sub-folder named <strong>build</strong>. Also consider I&#8217;m building documentation HTML files using Doxygen, so I&#8217;ll need to know where the Doxygen executable is at, as well as the source and target locations for those documents reside. We want a few <em>properties<strong> </strong></em>then. Note that your paths will obviously vary, and will need to be changed. That will look like this.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- Global properties --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;sourceDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;C:\code\example-application&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;buildDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${sourceDir}\build&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;sourceDocDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${sourceDir}\documentation\html&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;targetDocDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${buildDir}\documentation&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;doxygen&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;C:\doxygen\doxygen-1.5.3.exe&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></td></tr></table></div>


<p>In ANT doing some SET of tasks is known as a <strong>target</strong>. Programmers, think of it as a function, or method. At the simplest level a target has a name, and a series of tasks to execute. Let&#8217;s start by defining the target and telling ANT to get a current date and time stamp.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;build&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   	<span style="color: #808080; font-style: italic;">&lt;!-- Get a current date/time stamp --&gt;</span>
   	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tstamp</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></td></tr></table></div>


<p>Now we would like to copy our code and supporting files to the build directory. In my case I wanted all the PHP files EXCEPT for one, all the CSS files, and a clean version of the XML configuration file for our application. The <em>copy</em> task tells ANT to copy files and/or directories. Being versatile you can specify very exacting criteria, and in this example we will have three include patterns, and one exclude. Let&#8217;s look at that.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- Copy our files to the build folder. --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Copying files to build folder...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;copy</span> <span style="color: #000066;">todir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;*.php&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;*.css&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;baseSettings.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exclude</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;dBug.php&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fileset<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/copy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>


<p>Note, however, that our application doesn&#8217;t read &#8220;baseSettings.xml&#8221; which was clearly copied to the build directory. It expects &#8220;settings.xml&#8221;. &#8220;baseSettings.xml&#8221; is the clean version. What we want to do now is rename the file to &#8220;settings.xml&#8221; in the build directory.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- </span>
<span style="color: #808080; font-style: italic;">  	Get clean copies of our application configuration files. Basically</span>
<span style="color: #808080; font-style: italic;">  	we have &quot;base&quot; versions, which are clean configuration files without</span>
<span style="color: #808080; font-style: italic;">  	anything but base data in it. We want to copy those to the build</span>
<span style="color: #808080; font-style: italic;">  	directory and then rename them to what they SHOULD be. </span>
<span style="color: #808080; font-style: italic;">	--&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Building XML configuration files...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;move</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">&quot;${buildDir}\baseSettings.xml&quot;</span> <span style="color: #000066;">tofile</span>=<span style="color: #ff0000;">&quot;${buildDir}\settings.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></td></tr></table></div>


<p>Ok, now it&#8217;s time to build the documentation. In my source directory I have a <em>doxyfile</em> that tells Doxygen how to build the documentation. Here what we want to do is remove the existing documentation files (if any), make a <em>documentation</em> directory in the build location and have Doxygen build the docs in the source documentation folder. After that is done it needs to copy those files to the target documentation folder.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- </span>
<span style="color: #808080; font-style: italic;">  	Build the application documentation. My PHP apps use the JavaDoc</span>
<span style="color: #808080; font-style: italic;">  	syntax, and a wonderful tool called Dogygen for document generation.</span>
<span style="color: #808080; font-style: italic;">  	Once it is built copy the generated HTML files to the target </span>
<span style="color: #808080; font-style: italic;">  	documentation directory. </span>
<span style="color: #808080; font-style: italic;">	--&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Building documentation...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mkdir</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${doxygen}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${sourceDir}\example-application.doxyfile&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;copy</span> <span style="color: #000066;">todir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/copy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>


<p>Now that we have all the code and documentation files necessary to give to the client I&#8217;d like to ZIP all that up into a nice, neat, date and time stamped file.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- Zip up the contents. Date and timestamp the filename. --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Zipping contents...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;zip</span> <span style="color: #000066;">destfile</span>=<span style="color: #ff0000;">&quot;${buildDir}\example-application-${DSTAMP}-${TSTAMP}.zip&quot;</span> <span style="color: #000066;">basedir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></td></tr></table></div>


<p>Cool, so we have a ZIP file. Let&#8217;s clean up the mess. This involves deleting all the files in the build directory EXCEPT for the ZIP file, and deleting the target documentation directory. We&#8217;ll also close off our target and project.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">	<span style="color: #808080; font-style: italic;">&lt;!-- Clean up our mess. --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Cleaning up...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span> <span style="color: #000066;">excludes</span>=<span style="color: #ff0000;">&quot;*.zip&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/delete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>


<p>And that&#8217;s the basics of using ANT to automate build and deployment! Following is the script in its entirity.</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Example Application&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;build&quot;</span> <span style="color: #000066;">basedir</span>=<span style="color: #ff0000;">&quot;.&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      ANT build script for the example application.
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
   <span style="color: #808080; font-style: italic;">&lt;!-- Global properties --&gt;</span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;sourceDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;C:\code\example-application&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;buildDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${sourceDir}\build&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;sourceDocDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${sourceDir}\documentation\html&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;targetDocDir&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;${buildDir}\documentation&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;property</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;doxygen&quot;</span> <span style="color: #000066;">location</span>=<span style="color: #ff0000;">&quot;C:\doxygen\doxygen-1.5.3.exe&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;build&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #808080; font-style: italic;">&lt;!-- Get a current date/time stamp --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tstamp</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
      <span style="color: #808080; font-style: italic;">&lt;!-- Copy our files to the build folder. --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Copying files to build folder...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;copy</span> <span style="color: #000066;">todir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;*.php&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;*.css&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;include</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;baseSettings.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exclude</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;dBug.php&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fileset<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/copy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #808080; font-style: italic;">&lt;!-- </span>
<span style="color: #808080; font-style: italic;">         Get clean copies of our application configuration files. Basically</span>
<span style="color: #808080; font-style: italic;">         we have &quot;base&quot; versions, which are clean configuration files without</span>
<span style="color: #808080; font-style: italic;">         anything but base data in it. We want to copy those to the build</span>
<span style="color: #808080; font-style: italic;">         directory and then rename them to what they SHOULD be. </span>
<span style="color: #808080; font-style: italic;">      --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Building XML configuration files...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;move</span> <span style="color: #000066;">file</span>=<span style="color: #ff0000;">&quot;${buildDir}\baseSettings.xml&quot;</span> <span style="color: #000066;">tofile</span>=<span style="color: #ff0000;">&quot;${buildDir}\settings.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
      <span style="color: #808080; font-style: italic;">&lt;!-- </span>
<span style="color: #808080; font-style: italic;">         Build the application documentation. My PHP apps use the JavaDoc</span>
<span style="color: #808080; font-style: italic;">         syntax, and a wonderful tool called Dogygen for document generation.</span>
<span style="color: #808080; font-style: italic;">         Once it is built copy the generated HTML files to the target </span>
<span style="color: #808080; font-style: italic;">         documentation directory. </span>
<span style="color: #808080; font-style: italic;">      --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Building documentation...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mkdir</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;${doxygen}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;${sourceDir}\example-application.doxyfile&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;copy</span> <span style="color: #000066;">todir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${sourceDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/copy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #808080; font-style: italic;">&lt;!-- Zip up the contents. Date and timestamp the filename. --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Zipping contents...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;zip</span> <span style="color: #000066;">destfile</span>=<span style="color: #ff0000;">&quot;${buildDir}\example-application-${DSTAMP}-${TSTAMP}.zip&quot;</span> <span style="color: #000066;">basedir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
      <span style="color: #808080; font-style: italic;">&lt;!-- Clean up our mess. --&gt;</span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;echo</span> <span style="color: #000066;">message</span>=<span style="color: #ff0000;">&quot;Cleaning up...&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fileset</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${buildDir}&quot;</span> <span style="color: #000066;">excludes</span>=<span style="color: #ff0000;">&quot;*.zip&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/delete<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;delete</span> <span style="color: #000066;">dir</span>=<span style="color: #ff0000;">&quot;${targetDocDir}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.adampresley.com/2009/using-ant-to-automate-a-build/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
