0
0

checkstyleをコマンドラインから実行し、循環的複雑度のレポートをXML形式で作成する

Posted at

表題の通り、checkstyleをコマンドラインから実行し、循環的複雑度のレポートをXML形式で作成する手順を示します。

① checkstyleのjarファイルの取得

GitHubのcheckstyleレポジトリのリリースページからcheckstyleのjarファイルをダウンロードします。

image.png

② 設定XMLファイルの作成

以下のような設定XMLファイルを準備します。

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name = "Checker">
  <module name="TreeWalker">
    <module name="CyclomaticComplexity">
      <property name="max" value="0"/>
    </module>
  </module>
</module>

循環的複雑度以外の情報は不要なため、循環的複雑度用の設定だけを記載しています。また、max=0とすることで、循環的複雑度の値にかかわらず、すべてのメソッドの循環的複雑度を取得できます。

③ checkstyleの実行

checkstyleコマンドラインから実行して、XML形式のレポートを作成します。

java -jar path\to\checkstyle-10.12.5-all.jar ^
     -c   path\to\config.xml ^
     -f   xml ^
     -o   path\to\cc_report.xml ^
     path\to\source

実行結果は次のようになります

path\to\report.xml
<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="10.12.5">
  <file name="path\to\source\package001\A001.java">
    <error line="11" column="1" severity="error" message="循環的複雑度が 1 (最大 0 まで)です。" source="com.puppycrawl.tools.checkstyle.checks.metrics.CyclomaticComplexityCheck"/>
  </file>
  <file name="path\to\source\package002\B002.java">
    <error line="22" column="2" severity="error" message="循環的複雑度が 2 (最大 0 まで)です。" source="com.puppycrawl.tools.checkstyle.checks.metrics.CyclomaticComplexityCheck"/>
    <error line="33" column="3" severity="error" message="循環的複雑度が 3 (最大 0 まで)です。" source="com.puppycrawl.tools.checkstyle.checks.metrics.CyclomaticComplexityCheck"/>
  </file>
</checkstyle>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0