コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】「[Unite Japan 2013]Unity × Jenkins:一歩進んだ使い方」感想

[Unite Japan 2013]Unity × Jenkins:一歩進んだ使い方 from Unity Technologies Japan G.K. on Vimeo.

Unity × Jenkins:一歩進んだ使い方

静的解析

  • Gendarme
    Monoプロジェクトの静的解析ツール
  • Gendarme for Unity(unity-gendarme)
    GitHubで公開中
  • Monoは.Net Framework互換
    .NetFramework用の静的解析ツールも使用可能
    • FxCop(Microsoft製)
    • Coverity(C#解析)

静的解析(Mono)

準備

1.Library/ScriptAsemblies/Assembly-Csharp.dll
2.Gendarme for Unity

3.解析結果の集約

  • Warnings Plugin
  • Violations

必要な手順

1.Assembly-Csharp.dllの生成
2.解析コマンドの実行

Assembly-CSharp.dllの生成

1.Unityプロジェクトを開けば生成される

空のメソッドをバッチから実行すればいい

-batchmode -projectPath "ProjectName" -executeMethod 適当な何か

2.解析コマンド実行

# Macでの例
mono ~/Unity-Gendarme-2.10/gendarme.exe Library/ScriptAssemblies/Assembly-CSharp.dll --set unity-full --severity all --confidence all --xml gendarme-out.xml | echo OK.

Gendarmeの仕様で検出が1件でもあるとエラーコードが返ってくるのでパイプして回避
htmlの出力も見易いので合わせてやっておくと良い

その他

ワークスペースの共通化

1.プロジェクトの高度なオプション
2.カスタムワークスペースを使用にチェック
3.絶対パスでディレクトリを設定