<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Jamie Krug&apos;s ColdFusion Blog - Subversion</title>
			<link>http://jamiekrug.com/blog/index.cfm</link>
			<description>Jamie Krug&apos;s ColdFusion blog, regarding ColdFusion/CFML and other programming adventures as well as some learning experiences. EDB: Event Driven Blogging (in the event that I actually have something worth sharing:)</description>
			<language>en-us</language>
			<pubDate>Wed, 08 Sep 2010 19:37:11 -0400</pubDate>
			<lastBuildDate>Tue, 13 Oct 2009 15:05:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>jamie@jamiekrug.com</managingEditor>
			<webMaster>jamie@jamiekrug.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>jamie@jamiekrug.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Jamie Krug&apos;s ColdFusion Blog</title>
				<link>http://jamiekrug.com/blog/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>SvnAnt Task/Type Definition Import</title>
				<link>http://jamiekrug.com/blog/index.cfm/2009/10/13/svnant-task-type-definition-import</link>
				<description>
				
				I&apos;m finally getting wise and leveraging &lt;a href=&quot;http://ant.apache.org/&quot;&gt;ANT&lt;/a&gt; more, and yesterday was my first attempt at integrating some &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion&lt;/a&gt; tasks. I discovered &lt;a href=&quot;http://subclipse.tigris.org/svnant.html&quot;&gt;SvnAnt&lt;/a&gt; rather quickly, but didn&apos;t have a good sense for the best way to leverage it. Marc Esher kindly helped with a response to my &lt;a href=&quot;http://blog.mxunit.org/2009/09/using-svnant-in-your-ant-build-files.html&quot;&gt;comment here&lt;/a&gt;.

Rather than repeating a bunch of path/fileset/typedef lines in every build file that requires SVN tasks, I decided to create a simple build file that would handle this type definition and allow me to place just one import line into each build file that requires SVN tasks.

To start, I downloaded the proper SvnAnt distribution (&lt;a href=&quot;http://subclipse.tigris.org/svnant.html&quot;&gt;from here&lt;/a&gt;), unzipped the folder under my /opt directory (I&apos;m running &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;), and created a symbolic link to the folder so I can reference it as /opt/svnant.

Then, under my /opt/svnant folder I created a build file called svnant-typedef.xml with the following:

&lt;code&gt;&lt;!--
	This build file serves to map SvnAnt&apos;s task and type names to their implementing classes.
	This file should be located in the SvnAnt distribution folder root (parent directory of /lib).
	It can be imported to any build file, rather than repeating, for example:
	&lt;import file=&quot;/opt/svnant/svnant-typedef.xml&quot; /&gt;
--&gt;
&lt;project name=&quot;svnant-typedef&quot; basedir=&quot;.&quot;&gt;

	&lt;!-- get directory of current build file --&gt;
	&lt;dirname property=&quot;svnant.basedir&quot; file=&quot;${ant.file.svnant-typedef}&quot; /&gt;

	&lt;!-- file set for SVNAnt classpath reference --&gt;
	&lt;path id=&quot;svnant.classpath&quot;&gt;
		&lt;fileset dir=&quot;${svnant.basedir}/lib&quot;&gt;
			&lt;include name=&quot;*.jar&quot; /&gt;
		&lt;/fileset&gt;
	&lt;/path&gt;

	&lt;!-- task/type definitions for SVNAnt library --&gt;
	&lt;typedef resource=&quot;org/tigris/subversion/svnant/svnantlib.xml&quot; classpathref=&quot;svnant.classpath&quot; /&gt;

&lt;/project&gt;&lt;/code&gt;

You can read about the ANT import task and its special properties &lt;a href=&quot;http://ant.apache.org/manual/CoreTasks/import.html&quot;&gt;here&lt;/a&gt;.

Now I need only import the above file in build file&apos;s that will use SVN tasks. Here&apos;s an example:

&lt;code&gt;&lt;project name=&quot;example&quot; default=&quot;main&quot; basedir=&quot;.&quot;&gt;

	&lt;import file=&quot;/opt/svnant/svnant-typedef.xml&quot; /&gt;

	&lt;target name=&quot;main&quot;&gt;
		&lt;svn svnkit=&quot;true&quot; javahl=&quot;false&quot;&gt;
			&lt;export srcurl=&quot;file:///home/svn/example/trunk&quot; destpath=&quot;/tmp/example&quot; /&gt;
		&lt;/svn&gt;
	&lt;/target&gt;

&lt;/project&gt;&lt;/code&gt;
				
				</description>
						
				
				<category>ANT</category>				
				
				<category>Subversion</category>				
				
				<pubDate>Tue, 13 Oct 2009 15:05:00 -0400</pubDate>
				<guid>http://jamiekrug.com/blog/index.cfm/2009/10/13/svnant-task-type-definition-import</guid>
				
			</item>
			
		 	
			</channel></rss>