こんにちは、maruchangです。
前回の続きで、今回もJenkinsのレポートプラグインをご紹介します。
PMD Plugin
PMD Pluginは、Javaソースコードを検査して、下記にあげる問題になりそうな箇所をレポートするプラグインです。
- 何も記述されていない、無記入のtry/catch/finally/switchステートメント
- 未使用のローカル変数、パラメーター、プライベートメソッド
- 非効率な使い方をしているString/StringBuffer
- 不要なif文、for文、while文
- コピー&ペーストされた重複コード
サンプルを掲載したかったのですが、警告を出せるコードを持ちあわせていませんでした。実際に設定してみて、結果をご確認いただければと思います。
PMD Pluginのレポートを出力するには、pom.xmlに以下の内容を追加します。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ・・・ <build> ・・・ <pluginManagement> <plugins> ・・・ <plugin> <groupIdorg.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.7.1</version> </plugin> ・・・ </plugins> </pluginManagement> </build> ・・・ <reporting> <plugins> ・・・ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <reportSets> <reportSet> <reports> <report>pmd</report> <report>cpd</report> </reports> </reportSet> </reportSets> </plugin> ・・・ </plugins> </reporting> ・・・ </project>
次に、プラグインの管理画面で、”PMD Plug-in”と”Static Analysis Utilities”をインストールします。インストール後、ジョブの設定画面を開くと、ビルド設定の中に”PMD警告の集計”があるので、チェックをいれます。高度な設定の中にある”常に実行”にチェックを入れると、ビルドの成功失敗に関わらずレポーティングされるようになります。
最後に、ビルドの”ゴールとオプション”に”clean pmd:pmd”を設定して、保存ボタンを押します。ビルドを実行すると、結果としてPMD警告が出力されます。
他に、Rule Setsというものを設定すると、レポーティング対象とする条件を変更することができます。詳しくは、下記のサイトをご参照ください。
http://maven.apache.org/plugins/maven-pmd-plugin/examples/usingRuleSets.html
DRY Plugin
DRY PluginのDRYは、Don’t repeat yourselfの略でDRY原則と呼ばれています。要は、同じこと(コーディングやドキュメンテーションなど)を繰り返さないということです。このプラグインでは、重複コードをレポートしてくれます。下記にサンプルを掲載しておきます。
DRY Pluginのレポートを出力するには、プラグインの管理画面で、”Duplicate Code Scanner Plug-in”と”Static Analysis Utilities”をインストールします。また、前項で説明したPMD Pluginをインストールしておき、reportSet内でcpdを出力するように設定しておきます。インストール後、ジョブの設定画面を開くと、ビルド設定の中に”重複コード分析の集計”があるので、チェックをいれます。高度な設定の中にある”常に実行”にチェックを入れると、ビルドの成功失敗に関わらずレポーティングされるようになります。
最後に、ビルドの”ゴールとオプション”に”clean site”を設定して、保存ボタンを押します。ビルドを実行すると、結果として重複コード警告が出力されます。
Task Scanner Plugin
Task Scanner Pluginは、Javaコード中にあるTODOやFIXME、@deprecatedをレポートするプラグインです。サンプルを掲載したかったのですが、警告を出せるコードを持ちあわせていませんでした。実際に設定してみて、結果をご確認いただければと思います。
Task Scanner Pluginのレポートを出力するには、プラグインの管理画面で、”Task Scanner Plug-in”と”Static Analysis Utilities”をインストールします。インストール後、ジョブの設定画面を開くと、ビルド設定の中に”未解決タスクの集計”があるので、チェックをいれます。高度な設定の中にある”常に実行”にチェックを入れると、ビルドの成功失敗に関わらずレポーティングされるようになります。また、集計対象や集計対象外にファイルパターンを設定しておくことができます。集計対象に”**/*.java”、集計対象外に”**/*Test.java”に設定しておけば、Testクラス以外のクラスファイルがレポート対象になります。
最後に、ビルドの”ゴールとオプション”に”clean site”を設定して、保存ボタンを押します。ビルドを実行すると、結果として重複コード警告が出力されます。
最後に。
いかがでしたか?2回にわたってJenkinsのレポート系プラグインを紹介させていただきました。Jenkinsにはたくさんのプラグインが登録されています。その数、実に400個以上です!レポート系プラグインも数多く登録されています(JMeterの結果を集計するプラグインや、ディスクスペースの利用状況など)。みなさんのプロジェクトに必要なプラグインをいろいろインストールして試してみてください。きっと、さらに便利に効率的に、みなさんの開発作業をサポートしてくれるはずです。
それではまた!