在集成这个工具DuplicateFinder之前,已经研究过很久simian这个工具了,但是不晓得为何写的nant脚本总也通不过,最终以失败告终。如果有跟simian集成成功的高手路过到此,还请停下指点下,目前暂时比较迷茫呀。先谢谢呢!
失之东隅收之桑榆,机缘巧合看到了DuplicateFinder 这个工具,功能类似,工具很小,仅36K。
虽然,CruiseControl.Net官方的文档中已经给出了集成DuplicateFinder的任务块,但是似乎缺少一个参数output,按照文档上的说明写好之后连语法检查也通不过呀。所以只好另辟蹊径了。使用EXEC块完成此工具的集成。文中所使用的参数均来自DuplicateFinder官方文档的说明,可点击这里查看。
需要配置的文件同样有三(与Gendarme集成方式和FxCop集成方式类似)。
A.ccnet.config(C:\Program Files\CruiseControl.NET\server)
B.dashboard.config(C:\Program Files\CruiseControl.NET\webdashboard)
C.packages.xml(C:\Program Files\CruiseControl.NET\webdashboard\packages)
++++++++++++++++++++分别介绍每个文件的配置方法的分割线++++++++++++++++++++++++++
1.在ccnet.config文件中加入以下内容 <exec>
<executable>E:\ccnet\DuplicateFinder1.5\DupFinder.exe</executable>
<baseDirectory>D:\Code</baseDirectory>
<buildArgs>-r -i -t"12" -w"5" -x"using System." -x"//" -e"AssemblyInfo.cs" -o"D:\ccnet\DuplicateFinder.xml" "*.cs"</buildArgs>
<buildTimeoutSeconds>36000</buildTimeoutSeconds>
</exec>
……
<merge>
<files>
……
<file>D:\ccnet\DuplicateFinder.xml</file>
<!-- Other files to merge for your build would also be included here -->
</files>
</merge>
2.在dash.board中加入以下内容
<buildPlugins>
<buildReportBuildPlugin>
<xslFileNames>
……
<xslFile>xsl\dupfinder.xsl</xslFile>
</xslFileNames>
</buildReportBuildPlugin>
<buildLogBuildPlugin />
<finalBuildStatusPlugin />
……
<xslReportBuildPlugin description="Duplicate Finder Results" actionName="DuplicateFinderPlugin" xslFileName="xsl\dupfinder.xsl" />
</buildPlugins>
3.在package.xml文件中的配置
<package name="Duplicate Finder Results" description="Display the results of a duplicate finder analysis." type="Plugin" file="DupFinder.zip" installed="yes" />
需要保证 installed="yes" 即可。
DuplicateFinder 工作结果的截图:
美中不足的是,没有把重复的内容显示在分析报告中
完!