Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://burnlight.blog3.fc2.com/tb.php/437-a320fdbf

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

jenkinsでstylecop の結果表示

jenkinsでC#stylecopの結果表示です。
今回一連の作業の中で一番手間取りました。

jenkinsのインストール
stylecop 4.4のインストール
msbuild extention pack のインストール
jenkins msbuild plugin のインストール
jenkins violation plugin のインストール

まで行います。
stylecop はfxcop と違い、コマンドライン実行が標準でできません。

stylecopが出た当初は、VS2008のprojectファイルに追記して
実行するというのがあったのですが、これは面倒です。

今はmsbuild extention pack を使って、VS2008のプロジェクトファイルに
追記しなくてもできるようになったのでこっちの手順で行うこととしました。

ただし、msbuild を作成が必要です。

また、MSBuild.ExtensionPack.StyleCop.dll ファイルが、
C:\Program Files\MSBuild\Microsoft\StyleCop\v4.4 
に存在することを期待しているらしいのですが stylecop 4.4 をインストールしても
そのファイルはありません。

msbuild extention pack をインストールする
C:\Program Files\MSBuild\ExtensionPack 
に上記ファイルができたので、それをコピーしました。

もしくは、

C:\Program Files\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks


< UsingTask AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\StyleCop\v4.4\MSBuild.ExtensionPack.StyleCop.dll" TaskName="MSBuild.ExtensionPack.CodeQuality.StyleCop"/>

行を書き換えれば良いのかとも思いますがやってません。

ここまでが前準備で、最後に stylecop用のmsbuildファイルを作ります。


< ?xml version="1.0" encoding="utf-8"?>
< Project ToolsVersion="3.5" DefaultTargets="ExecuteStyleCop" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
< Import Project="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.tasks"/>
< UsingTask AssemblyFile="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.StyleCop.dll" TaskName="MSBuild.ExtensionPack.CodeQuality.StyleCop" />
< Target Name="ExecuteStyleCop">
< !-- Create a collection of files to scan -->
< CreateItem Include="$(MSBuildProjectDirectory)\*\*.cs">
< Output TaskParameter="Include" ItemName="StyleCopFiles"/>
< /CreateItem>
< !-- Run the StyleCop MSBuild task -->
< MSBuild.ExtensionPack.CodeQuality.StyleCop
TaskAction="Scan"
SourceFiles="@(StyleCopFiles)"
ShowOutput="false"
ForceFullAnalysis="true" CacheResults="false"
logFile="$(MSBuildProjectDirectory)\StyleCopLog.txt"
SettingsFile="$(MSBuildExtensionsPath)\Microsoft\StyleCop\v4.4\Settings.StyleCop">
< Output TaskParameter="Succeeded" PropertyName="AllPassed"/>
< Output TaskParameter="ViolationCount" PropertyName="Violations"/>
< Output TaskParameter="FailedFiles" ItemName="Failures"/>
< /MSBuild.ExtensionPack.CodeQuality.StyleCop>
< Message Text="Succeeded: $(AllPassed), Violations: $(Violations)"/>
< Message Text="%(Failures.Identity) - Failed on Line %(Failures.LineNumber). %(Failures.CheckId): %(Failures.Message)"/>
< /Target>
< /Project>



これでmsbuildを実行するとStyleCopViolations.xml という名前の結果ファイルができます。

これをjenkinsのviolation plugin結果に指定すれば完了。
スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://burnlight.blog3.fc2.com/tb.php/437-a320fdbf

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

burnlight

  • Author:burnlight
  • 忘れないように色々メモします。

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。