<?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>Development Blog &#187; NAnt</title>
	<atom:link href="http://blog.yeticode.co.uk/tag/nant/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.yeticode.co.uk</link>
	<description>John Tindell's Blog For Development Related Things</description>
	<lastBuildDate>Wed, 23 Jun 2010 18:17:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>NAnt.ToDo a NAnt Plugin</title>
		<link>http://blog.yeticode.co.uk/2010/01/nant-todo-a-nant-plugin/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=nant-todo-a-nant-plugin</link>
		<comments>http://blog.yeticode.co.uk/2010/01/nant-todo-a-nant-plugin/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 19:02:25 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Development Log]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CruiseControl.NET]]></category>
		<category><![CDATA[NAnt]]></category>

		<guid isPermaLink="false">http://blog.yeticode.co.uk/?p=611</guid>
		<description><![CDATA[This simple plugin for NAnt parses your source code and creates a report of all the TODO and comment tags in your source code. The code is hosted over at google code. Comments The task automatically identify comments in the following style //TODO: First Test to do Item //FIXME: First Fix me Item //HACK: First [...]]]></description>
			<content:encoded><![CDATA[<p>This simple plugin for NAnt parses your source code and creates a report of all the TODO and comment tags in your source code. The code is hosted over at <a href="http://code.google.com/p/nant-todo/">google code</a>.</p>
<h2>Comments</h2>
<p>The task automatically identify comments in the following style</p>
<pre name="code" class="c-sharp">
//TODO: First Test to do Item
//FIXME: First Fix me Item
//HACK: First Hack Item
</pre>
<p>Additional matches can be made by adding in Token elements to the NAnt task. </p>
<h2>Sample</h2>
<pre name="code" class="xml">
&lt;ToDo source="path/to/source" output="report.xml" searchpattern="*.cs;*.txt"&gt;
 &lt;Tokens&gt;
 &lt;Tokens Value="BUGFIX" /&gt;
 &lt;/Tokens&gt;
&lt;/ToDo&gt;
</pre>
<h2>Output</h2>
<pre name="code" class="xml">
&lt;ToDo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
 &lt;Items&gt;
 &lt;Item&gt;
 &lt;Message&gt;First Test to do Item&lt;/Message&gt;
 &lt;File&gt;NAnt.ToDo\ToDoTask.cs&lt;/File&gt;
 &lt;Line&gt;0&lt;/Line&gt;
 &lt;Type&gt;TODO&lt;/Type&gt;
 &lt;/Item&gt;
 &lt;Item&gt;
 &lt;Message&gt;First Hack Item&lt;/Message&gt;
 &lt;File&gt;NAnt.ToDo\ToDoTask.cs&lt;/File&gt;
 &lt;Line&gt;0&lt;/Line&gt;
 &lt;Type&gt;HACK&lt;/Type&gt;
 &lt;/Item&gt;
 &lt;Item&gt;
 &lt;Message&gt;First Fix me Item&lt;/Message&gt;
 &lt;File&gt;NAnt.ToDo\ToDoTask.cs&lt;/File&gt;
 &lt;Line&gt;0&lt;/Line&gt;
 &lt;Type&gt;FIXME&lt;/Type&gt;
 &lt;/Item&gt;
 &lt;/Items&gt;
&lt;/ToDo&gt;
</pre>
<h2>Cruise Control Xsl</h2>
<p>Below is a basic xsl style sheet that can be used with CruiseControl.NET to display the output from NAnt.ToDo.</p>
<pre name="code" class="xml">
&lt;?xml version="1.0"?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt;
 &lt;xsl:output method="html"/&gt;
 &lt;xsl:param name="applicationPath"/&gt;
 &lt;xsl:template match="/"&gt;
 &lt;div id="ToDo"&gt;
 &lt;h1&gt;ToDo List&lt;/h1&gt;
 &lt;div id="Summary"&gt;
 &lt;h3&gt;To Do&lt;/h3&gt;
 &lt;table&gt;
 &lt;tbody&gt;
 &lt;xsl:for-each select="//ToDo/Items/Item"&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;xsl:value-of select="Type/text()"/&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;xsl:value-of select="Message/text()"/&gt;
 &lt;/td&gt;
 &lt;td&gt;
 &lt;xsl:value-of select="File/text()"/&gt;
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;/xsl:for-each&gt;
 &lt;/tbody&gt;
 &lt;/table&gt;
 &lt;/div&gt;    
 &lt;/div&gt;
 &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre>]]></content:encoded>
			<wfw:commentRss>http://blog.yeticode.co.uk/2010/01/nant-todo-a-nant-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
