StyleCop是微软的代码规范检查工具,如何将这个工具集成到CruiseControl.NET中呢?
一种方式是利用CruiseControl.NET的MSBUILD。
第一步: 新建msbuild.proj,
跟solution文件位于同个目录,它的内容如下:
<?xml version="1.0" encoding="utf-8"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> <!-- StyleCop --> <UsingTask AssemblyFile="C:\Program Files (x86)\StyleCop 4.7\StyleCop.dll" TaskName="StyleCopTask"/> <ItemGroup> <!-- Add Project to Analyze with StyleCop here --> <Project Include="$(SolutionRoot)\**\*.csproj" /> </ItemGroup> <Target Name="StyleCop"> <Message Text="Running StyleCop..." /> <CreateItem Include="%(Project.RootDir)%(Project.Directory)**\*.cs" Exclude="%(Project.RootDir)%(Project.Directory)**\*.Designer.cs"> <Output TaskParameter="Include" ItemName="StyleCopFiles" /> </CreateItem> <StyleCopTask ProjectFullPath="$(MSBuildProjectFile)" SourceFiles="@(StyleCopFiles)" AdditionalAddinPaths="@(StyleCopAdditionalAddinPaths)" ForceFullAnalysis="true" DefineConstants="DEBUG TRACE CODE_ANALYSIS" TreatErrorsAsWarnings="true" CacheResults="false" OverrideSettingsFile="$(SolutionRoot)\Client\Settings.StyleCop" OutputFile="$(CCNetWorkingDirectory)\stylecop-results.xml" MaxViolationCount="500"> </StyleCopTask> <Message Text="StyleCop executed" /> </Target> </Project> |
我安装的是Stylecop4.7.11,默认安装在“C:\Program Files (x86)\StyleCop 4.7”目录下。
第二步,在ccnet.config文件里的StyleCop配置:
<msbuild> <executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> <workingDirectory><!—absolute path--></workingDirectory> <projectFile><!—absolute path-->\msbuild.proj</projectFile> <buildArgs>/p:Configuration=Debug /v:diag</buildArgs> <priority>High</priority> <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> <timeout>600</timeout> </msbuild> |