NAntContrib Help Task Reference <grep> | v0.85 |
Searches files for a regular-expression and produces an XML report of the matches.
Attribute | Type | Description | Required |
---|---|---|---|
output | file | Specifies the name of the output file. | True |
pattern | string | Specifies the regular-expression to search for. | True |
failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False |
if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False |
unless | bool | Opposite of if . If false then the task will be executed; otherwise, skipped. The default is false. |
False |
verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False |
Extract all TODO:, UNDONE: or HACK:- comment-tags from C# source files and write them to a file out.xml. (A xslt-stylesheet could then transform it to a nice html-page for your project-homepage, but that is beyond the scope of this example.)
Path, File and LineNumber are automatically generated elements.
<grep output="out.xml" pattern="// (?'Type'TODO|UNDONE|HACK): (\[(?'Author'\w*),(?'Date'.*)\])? (?'Text'[^\n\r]*)"> <fileset> <include name="*.cs" /> </fileset> </grep>
The resulting XML file for a comment-tag 'TODO: [md, 14-02-2004] comment this method' will look like
<?xml version="1.0" encoding="utf-8" ?> <Matches> <Match> <Type>TODO</Type> <Text>comment this method</Text> <Path>C:\MyProjects\MyPath</Path> <File>MyFile.cs</Filename> <LineNumber>146</LineNumber> <Author>md</Author> <Date>14-02-2004</Date> </Match> ... </Matches>