<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>thecrumb.com &#187; Ant</title>
	<atom:link href="http://www.thecrumb.com/category/code/ant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thecrumb.com</link>
	<description>ColdFusion, Ant, jQuery and other geeky stuff with the occasional motorcycle post.</description>
	<pubDate>Fri, 04 Jul 2008 02:52:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
		<item>
		<title>Why Is Fusion Authority Quarterly Update So Good?</title>
		<link>http://www.thecrumb.com/2008/06/09/why-is-fusion-authority-quarterly-update-so-good/</link>
		<comments>http://www.thecrumb.com/2008/06/09/why-is-fusion-authority-quarterly-update-so-good/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 23:02:54 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=459</guid>
		<description><![CDATA[Haven&#8217;t subscribed yet to Fusion Authority Quarterly Update?
Why you ask should I do that?

Because it&#8217;s the only ColdFusion centric publication out there?
Because it&#8217;s always full of top notch content written by the best in the ColdFusion community?
Because it has a top notch editing staff that makes writing for them easy?
Because the content to ad ratio [...]]]></description>
			<content:encoded><![CDATA[<p>Haven&#8217;t subscribed yet to <a href="http://www.fusionauthority.com/quarterly/">Fusion Authority Quarterly Update</a>?</p>
<p>Why you ask should I do that?</p>
<ul>
<li>Because it&#8217;s the only ColdFusion centric publication out there?</li>
<li>Because it&#8217;s always full of top notch content written by the best in the ColdFusion community?</li>
<li>Because it has a top notch editing staff that makes writing for them easy?</li>
<li>Because the content to ad ratio is leaning in the right direction?</li>
<li>Because that really was Judith Dinowitz stalking you in the office parking lot with her red pen of doom&#8230;</li>
</ul>
<p>No!!! Those are all lame reasons! The main reason you should subscribe &#8230; is because I&#8217;m in it - dorky photograph and everything!</p>
<p><img class="aligncenter size-full wp-image-460" title="faqu-jim" src="http://www.thecrumb.com/wp-content/uploads/2008/06/faqu-jim.jpg" alt="Fusion Authority Quarterly Update" width="500" height="132" /></p>
<p>I&#8217;d like to thank Judith and Dana who edited my sloppy prose and turned it into something fit for the printed page.</p>
<p>And BTW the issue I&#8217;m in, Vol.II Issue IV, is jam packed with goodness on SVN, Apache, Beans, Ant (of course) and more!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li>No Related Posts Found</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/06/09/why-is-fusion-authority-quarterly-update-so-good/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Send Me Your Favorite Ant Tasks</title>
		<link>http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/</link>
		<comments>http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 13:38:50 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=455</guid>
		<description><![CDATA[I setup a new page on my Ant wiki for additional tasks.  I&#8217;ve got several listed that I frequently use but I&#8217;m sure there are more&#8230; :)   So leave a comment with your favorite Ant tasks and I&#8217;ll add them!
You May Also Enjoy Reading:I&#8217;m In Fusion Authority Quarterly Update!Keeping Up With My Ant WikiAnt ConditionalsQuickly [...]]]></description>
			<content:encoded><![CDATA[<p>I setup a new page on my Ant wiki for <a href="http://www.thecrumb.com/wiki/ant/tasks">additional tasks</a>.  I&#8217;ve got several listed that I frequently use but I&#8217;m sure there are more&#8230; :)   So leave a comment with your favorite Ant tasks and I&#8217;ll add them!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/04/08/ant-conditionals/" title="Ant Conditionals">Ant Conditionals</a></li><li><a href="http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/" title="Quickly Setup New Projects Using SVN ">Quickly Setup New Projects Using SVN </a></li><li><a href="http://www.thecrumb.com/2008/04/02/wacky-wiki/" title="Wacky Wiki">Wacky Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>jsLex and Bromine</title>
		<link>http://www.thecrumb.com/2008/05/27/jslex-and-bromine/</link>
		<comments>http://www.thecrumb.com/2008/05/27/jslex-and-bromine/#comments</comments>
		<pubDate>Wed, 28 May 2008 02:34:14 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[CFEclipse]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=451</guid>
		<description><![CDATA[jsLex looks neat (it&#8217;s an Eclipse plugin):
jsLex gives developers a complete picture of the performance issues with-in thier Ajax application. By auto injecting profiling code using jsLex ant task, developers don&#8217;t need to modify their code to track down bottlenecks, minimizing coding erros and saving time.
Looks like it does quite a bit more than that [...]]]></description>
			<content:encoded><![CDATA[<p>jsLex looks neat (it&#8217;s an Eclipse plugin):</p>
<blockquote><p><strong>jsLex</strong> gives developers a complete picture of the performance issues with-in thier Ajax application. By auto injecting profiling code using jsLex ant task, developers don&#8217;t need to modify their code to track down bottlenecks, minimizing coding erros and saving time.</p></blockquote>
<p>Looks like it does quite a bit more than that look at the <a href="http://www.rockstarapps.com/pmwiki/pmwiki.php?n=JsLex.Features">features page</a>.</p>
<p>I&#8217;ve been so busy but I need to find some time to tinker with these tools.  I still have tried out  <a href="http://cubictest.openqa.org/">CubicTest</a> either! And today I noticed <a href="http://bromine.openqa.org/">Bromine</a>!</p>
<blockquote><p>Bromine is a fully fledged QA tool that integrates with Selenium Core and Selenium Remote Control. It makes the life of testers, test managers, developers and other people who would have an interest in how the development of a web application is progressing.</p></blockquote>
<p>Too many tools and not enough time!!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li>No Related Posts Found</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/05/27/jslex-and-bromine/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>I&#8217;m In Fusion Authority Quarterly Update!</title>
		<link>http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/</link>
		<comments>http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/#comments</comments>
		<pubDate>Sun, 18 May 2008 02:20:40 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[faqu]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=448</guid>
		<description><![CDATA[I&#8217;ve got an Ant article in the upcoming issue of Fusion Authority Quarterly Update!
It looks like a great issue:

Setting Up Your Development Environment From A to Z by Terrence Ryan
Getting Started with Subversion by Jim Pickering
Subversion in the Workflow by Boyan Kostadinov
Advanced Subversion by Kevin Jones
Automating Your Development with ANT by Jim Priest
Apache Essentials for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got an Ant article in the upcoming issue of <a href="https://secure.houseoffusion.com/vol2issue4.cfm">Fusion Authority Quarterly Update</a>!</p>
<p>It looks like a great issue:</p>
<ul>
<li>Setting Up Your Development Environment From A to Z by Terrence Ryan</li>
<li>Getting Started with Subversion by Jim Pickering</li>
<li>Subversion in the Workflow by Boyan Kostadinov</li>
<li>Advanced Subversion by Kevin Jones</li>
<li>Automating Your Development with ANT by Jim Priest</li>
<li>Apache Essentials for the ColdFusion Developer by Aaron West</li>
<li>Getting to Know Mr. Wizard by Brian Rinaldi</li>
<li>Beans and DAOs and Gateways, Oh My! by Sean Corfield</li>
<li>Formal Code Reviews by Terrence Ryan</li>
<li>Improving Your Estimates by Peter Bell</li>
<li>FusionReactor: ColdFusion Server Healthcare by Charlie Arehart</li>
</ul>
<p>I&#8217;ll be in the parking lot at Barnes and Noble signing copies. Stop by!!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/04/08/ant-conditionals/" title="Ant Conditionals">Ant Conditionals</a></li><li><a href="http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/" title="Quickly Setup New Projects Using SVN ">Quickly Setup New Projects Using SVN </a></li><li><a href="http://www.thecrumb.com/2008/04/02/wacky-wiki/" title="Wacky Wiki">Wacky Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Keeping Up With My Ant Wiki</title>
		<link>http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/</link>
		<comments>http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/#comments</comments>
		<pubDate>Thu, 01 May 2008 01:12:43 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=441</guid>
		<description><![CDATA[I recently overhauled my wiki - switching from Mediawiki back to Dokuwiki.  Lots of reasons for the switch but one of the big benefits is there is now a RSS feed for recent changes!
You can add this link to your feedreader and easily find out when I update something.
I&#8217;m regularly adding links that either I [...]]]></description>
			<content:encoded><![CDATA[<p>I recently overhauled my <a href="http://www.thecrumb.com/wiki/">wiki</a> - switching from Mediawiki back to Dokuwiki.  Lots of reasons for the switch but one of the big benefits is there is now a <a title="RSS feed" href="http://www.thecrumb.com/wiki/feed.php">RSS feed for recent changes</a>!</p>
<p>You can add this link to your feedreader and easily find out when I update something.</p>
<p>I&#8217;m regularly adding links that either I find, or people email me so if you are interested in Ant this is an easy way to keep up to date.</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/04/02/wacky-wiki/" title="Wacky Wiki">Wacky Wiki</a></li><li><a href="http://www.thecrumb.com/2008/02/23/ant-wiki/" title="Ant Wiki">Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/08/ant-conditionals/" title="Ant Conditionals">Ant Conditionals</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Ant Conditionals</title>
		<link>http://www.thecrumb.com/2008/04/08/ant-conditionals/</link>
		<comments>http://www.thecrumb.com/2008/04/08/ant-conditionals/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 12:46:44 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=411</guid>
		<description><![CDATA[I'm finally getting around to integrating Ant and my Selenium scripts... 
Right now I have a suite of tests to run in Selenium - but before running each test I'd like to revert the database back to a know state.  I have an Ant buildfile that does this but it also includes a target [...]]]></description>
			<content:encoded><![CDATA[<p>I'm finally getting around to integrating Ant and my Selenium scripts... </p>
<p>Right now I have a suite of tests to run in Selenium - but before running each test I'd like to revert the database back to a know state.  I have an Ant buildfile that does this but it also includes a target that require user input.   So I dug around trying to figure out how I could reuse this buildfile without duplicating any code.</p>
<p>Turns out this is quite easy in Ant.</p>
<p>I have my build-sql.xml:</p>
<div class="igBar"><span id="lcode-5"><a href="#" onclick="javascript:showPlainTxt('code-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-5">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;target name=<span style="color:#CC0000;">"prepare"</span> depends=<span style="color:#CC0000;">"init"</span> description=<span style="color:#CC0000;">"Setup properties"</span>&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;input message=<span style="color:#CC0000;">"Where do you want to deploy to?"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; validargs=<span style="color:#CC0000;">"ESDEV,ESTST,ESPRD"</span> </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; addproperty=<span style="color:#CC0000;">"script.schema"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; defaultvalue=<span style="color:#CC0000;">"ESDEV"</span>/&gt; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;query name=<span style="color:#CC0000;">"sql.password"</span> message=<span style="color:#CC0000;">"Enter the schema password"</span> password=<span style="color:#CC0000;">"true"</span>/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;!-- define oracle login - using info provided above --&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;property name=<span style="color:#CC0000;">"script.login"</span> value=<span style="color:#CC0000;">"${sql.username}/${sql.password}@${script.schema}.WORLD"</span> /&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/target&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Upon execution this asks me which server to I want to deploy to and also prompts me for my SQL password.  Then it uses that information to build a new property 'script.login' which we then use later to kick off our SQL scripts.</p>
<p>Turns out it is very easy to bypass this by using the <em>UNLESS</em> attribute within the target:</p>
<div class="igBar"><span id="lcode-6"><a href="#" onclick="javascript:showPlainTxt('code-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-6">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;target name=<span style="color:#CC0000;">"prepare"</span> unless=<span style="color:#CC0000;">"script.login"</span> depends=<span style="color:#CC0000;">"init"</span> description=<span style="color:#CC0000;">"Setup properties"</span>&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>By simply adding <strong>unless="script.login"</strong> - Ant will now check to see if a property called 'script.login' has already been defined.  If it has, it will bypass running this target.  </p>
<p>To reverse this logic and only run this task if the property has been defined use <em>IF</em>:</p>
<div class="igBar"><span id="lcode-7"><a href="#" onclick="javascript:showPlainTxt('code-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-7">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;target name=<span style="color:#CC0000;">"prepare"</span> if=<span style="color:#CC0000;">"script.login"</span> depends=<span style="color:#CC0000;">"init"</span> description=<span style="color:#CC0000;">"Setup properties"</span>&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Now in my test buildfile I simply define 'script.login'  (set in testing.properties) before running my build-sql.xml  buildfile.</p>
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showPlainTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;target name=<span style="color:#CC0000;">"prepare"</span> description=<span style="color:#CC0000;">"Prepare environment for build"</span>&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;!-- include external properies - common values for build file --&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;property file=<span style="color:#CC0000;">"common.properties"</span>/&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;property file=<span style="color:#CC0000;">"auth.properties"</span>/&gt;&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;property file=<span style="color:#CC0000;">"testing.properties"</span>/&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &lt;property file=<span style="color:#CC0000;">"${user.name}.properties"</span>/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/target&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;target name=<span style="color:#CC0000;">"buildSQL"</span> depends=<span style="color:#CC0000;">"prepare"</span> description=<span style="color:#CC0000;">"Clean db"</span>&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &lt;ant antfile=<span style="color:#CC0000;">"build-sql.xml"</span>/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/target&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>This example uses simple conditionals as attributes of the target.  There is also a dedicated <a href="http://ant.apache.org/manual/CoreTasks/condition.html">condition task</a> for even more control.</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/" title="Quickly Setup New Projects Using SVN ">Quickly Setup New Projects Using SVN </a></li><li><a href="http://www.thecrumb.com/2008/04/02/wacky-wiki/" title="Wacky Wiki">Wacky Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/04/08/ant-conditionals/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Quickly Setup New Projects Using SVN</title>
		<link>http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/</link>
		<comments>http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 16:00:20 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Blog]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=409</guid>
		<description><![CDATA[We have a standard directory structure for each of our projects:
PLAIN TEXT
CODE:




projectname


/docs


/testing


/build


/priv


/pub 






Testing contains our Selenium scripts (and in the future - unit testing scripts).  Build contains our Ant scripts.   
At the office I'm in charge of setting up new SVN repositories and one of the things I've done to speed up [...]]]></description>
			<content:encoded><![CDATA[<p>We have a standard directory structure for each of our projects:</p>
<div class="igBar"><span id="lcode-11"><a href="#" onclick="javascript:showPlainTxt('code-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-11">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">projectname</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/docs</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/testing</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/build</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/priv</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/pub </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><em>Testing</em> contains our Selenium scripts (and in the future - unit testing scripts).  <em>Build</em> contains our Ant scripts.   </p>
<p>At the office I'm in charge of setting up new SVN repositories and one of the things I've done to speed up setting up new projects is to create a 'template' project directory.  This contains all the folders listed above along with some default buildfile and testing scripts.</p>
<p>I first created this layout in a new repository.  I then added our standard buildfiles and testing suite files.  I then created a SVN dumpfile using the <a href="http://svnbook.red-bean.com/en/1.1/re31.html">svnadmin dump</a> command.  You end up with a dumpfile containing the contents of your repository.</p>
<p>Now when I create a new project I simple create the new project's repository, and then use the <a href="http://svnbook.red-bean.com/en/1.0/re36.html">svnadmin load</a> command to import my 'default' dumpfile contents.  </p>
<div class="igBar"><span id="lcode-12"><a href="#" onclick="javascript:showPlainTxt('code-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-12">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">/usr/bin/svnadmin create --fs-type fsfs /var/www/svn/projectname </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">sudo chown -R apache:apache /var/www/svn/projectname </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">sudo svnadmin load /var/www/svn/projectname &lt;/var/www/svn/tmp/template.<span style="">dumpfile</span> --ignore-uuid -q </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Now when the first person checks out the project - they already have the required directory structure, buildfiles and testing templates.</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2007/12/13/cfmeetup-pragmatic-coldfusion-build-test-deploy-2/" title="CFMeetup:  Pragmatic ColdFusion: Build, Test, Deploy">CFMeetup:  Pragmatic ColdFusion: Build, Test, Deploy</a></li><li><a href="http://www.thecrumb.com/2008/06/19/subversion-15-released/" title="Subversion 1.5 Released">Subversion 1.5 Released</a></li><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/04/07/quickly-setup-new-projects-using-svn/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Wacky Wiki</title>
		<link>http://www.thecrumb.com/2008/04/02/wacky-wiki/</link>
		<comments>http://www.thecrumb.com/2008/04/02/wacky-wiki/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 19:33:41 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/?p=405</guid>
		<description><![CDATA[OK.  The wiki may be a bit wacky for the next few days.  Awhile ago I switched from Dokuwiki to Mediawiki.  Mainly just to try out Mediawiki and get familiar with how it worked.  
It is very powerful - but it's a bit of a pain to update, and extensions seem [...]]]></description>
			<content:encoded><![CDATA[<p>OK.  The wiki may be a bit wacky for the next few days.  Awhile ago I switched from Dokuwiki to Mediawiki.  Mainly just to try out Mediawiki and get familiar with how it worked.  </p>
<p>It is very powerful - but it's a bit of a pain to update, and extensions seem a bit hit or miss.  So it's back to Dokuwiki for me!   I've been meaning to do some housecleaning on the wiki anyway so it's a good time to do that as well.   HOPEFULLY the links won't change but I'm not 100% sure of that yet.  </p>
<p>I get a lot of good feedback on the Ant wiki page and also have a few more things planned to make it easier to get Ant up and running for application development.   Stay tuned!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/02/23/ant-wiki/" title="Ant Wiki">Ant Wiki</a></li><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/08/ant-conditionals/" title="Ant Conditionals">Ant Conditionals</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/04/02/wacky-wiki/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Ant. The Missing Files&#8230;</title>
		<link>http://www.thecrumb.com/2008/03/22/ant-the-missing-files/</link>
		<comments>http://www.thecrumb.com/2008/03/22/ant-the-missing-files/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 01:39:50 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[cfmeetup]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/2008/03/22/ant-the-missing-files/</guid>
		<description><![CDATA[I wanted to post a follow up after my ColdFusion Meetup Ant presentation, especially for those who couldn't attend.  In addition to the example files and Powerpoint slides included in the ZIP download I have bundled all the 'extra' files that don't come with Ant by default...  Files to provide additional Ant tasks [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to post a follow up after my <a href="http://www.thecrumb.com/wiki/Ant#Presentations">ColdFusion Meetup Ant presentation</a>, especially for those who couldn't attend.  In addition to the example files and Powerpoint slides included in the ZIP download I have bundled all the 'extra' files that don't come with Ant by default...  Files to provide additional Ant tasks for email, FTP, interaction with Oracle, Subversion, etc... </p>
<p>If you download the files there is a /jar directory included as well as some instructions on where to copy these files and how to add the directory to your path.  </p>
<p>All of these libraries are released under fairly flexible licenses so I feel it's OK to bundle them like this.  If someone yells at me I'll remove the offending tasks but until then this will make getting up and running with Ant much easier.  I'll also try to keep that updated if I run into any additonal tasks that prove useful.   I've also added a link to the recording as well!</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/03/20/what-time-is-it-cfmeetup/" title="What Time Is It?  CFMeetup?">What Time Is It?  CFMeetup?</a></li><li><a href="http://www.thecrumb.com/2008/02/29/meet-me-on-cfmeetup/" title="Meet Me on CFMeetup!">Meet Me on CFMeetup!</a></li><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/03/22/ant-the-missing-files/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>What Time Is It?  CFMeetup?</title>
		<link>http://www.thecrumb.com/2008/03/20/what-time-is-it-cfmeetup/</link>
		<comments>http://www.thecrumb.com/2008/03/20/what-time-is-it-cfmeetup/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 22:08:19 +0000</pubDate>
		<dc:creator>Jim</dc:creator>
		
		<category><![CDATA[Ant]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[cfmeetup]]></category>

		<guid isPermaLink="false">http://www.thecrumb.com/2008/03/20/what-time-is-it-cfmeetup/</guid>
		<description><![CDATA[Well - it's 6:00pm but unfortunately I can't get on the CFMeetup Connect site.  Charlie mentioned he had a busy schedule today so I imagine he's running late or possibly had some technical difficulties...    I'm going to stick around for 30 minutes or so because I don't have anything else to [...]]]></description>
			<content:encoded><![CDATA[<p>Well - it's 6:00pm but unfortunately I can't get on the CFMeetup Connect site.  Charlie mentioned he had a busy schedule today so I imagine he's running late or possibly had some technical difficulties...    I'm going to stick around for 30 minutes or so because I don't have anything else to do <img src='http://www.thecrumb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Update:</em>  Ray showed up and the meeting was a success.  Well, it was for me...  Hopefully everyone else enjoyed it.  That was my first "online" presentation so I hope I did OK <img src='http://www.thecrumb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Update #2</em> Sorry for the delay! Lost was on last night <img src='http://www.thecrumb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Files are located on the <a href="http://www.thecrumb.com/wiki/Ant#Presentations">Ant page of my wiki</a>   Thanks again to Ray Camden who got the meeting starting, Charlie Arehart who runs the CFMeetup and everyone else who came out to attend!!  </p>
<p>Doing the online meeting was a bit odd.  It was weird not having an audience there. When speaking in front of an audience it's easy to tell if they are 'getting it' or if you need to slow down and go over more detail.  Online there is no feedback other than the chat window.   But overall it was fun and maybe I can come up with something else to present in the future!</p>
<p>I DID forget to mention yWorks Ant Explorer - check out this <a href="http://www.thecrumb.com/2007/11/13/ant-explorer/">older post</a>.  It's a helpful tool that gives you some visuals of your buildfiles.</p>
<h3>You May Also Enjoy Reading:</h3><ul class="related_post"><li><a href="http://www.thecrumb.com/2008/03/22/ant-the-missing-files/" title="Ant. The Missing Files&#8230;">Ant. The Missing Files&#8230;</a></li><li><a href="http://www.thecrumb.com/2008/02/29/meet-me-on-cfmeetup/" title="Meet Me on CFMeetup!">Meet Me on CFMeetup!</a></li><li><a href="http://www.thecrumb.com/2008/06/06/send-me-your-favorite-ant-tasks/" title="Send Me Your Favorite Ant Tasks">Send Me Your Favorite Ant Tasks</a></li><li><a href="http://www.thecrumb.com/2008/05/17/im-in-fusion-authority-quarterly-update/" title="I&#8217;m In Fusion Authority Quarterly Update!">I&#8217;m In Fusion Authority Quarterly Update!</a></li><li><a href="http://www.thecrumb.com/2008/04/30/keeping-up-with-my-ant-wiki/" title="Keeping Up With My Ant Wiki">Keeping Up With My Ant Wiki</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thecrumb.com/2008/03/20/what-time-is-it-cfmeetup/feed/</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/us/</creativeCommons:license>
	</item>
	</channel>
</rss>
