minimize

通常、CheckstyleはEclipseのプラグインとして
使用する事が多いと思いますが
Ant(コマンドライン)から使用することも可能です。

チェック結果をHTMLに出力したい場合などは
こちらから使用した方が使い勝手が良いでしょう。
Antから使用するときのサンプルをいくつか紹介します。

チェック結果を標準出力に出力

build.xml を以下のように作成します。

<project name="sample-project" default="checkstyle">

  <taskdef resource="checkstyletask.properties"
           classpath="/path/to/checkstyle-all-4.1.jar"/>

  <target name="checkstyle">

    <checkstyle config="/path/to/site/sun_checks.xml">
      <fileset dir="src/checkstyle" includes="**/*.java"/>
    </checkstyle>      

  </target>

</project>

CheckstyleはAntのデフォルトタスクでは無いので、
使用にはtaskdef要素による宣言が必要です。

taskdef#classpath の部分は、
checkstyle-all-4.1.jar が格納された場所に応じて変更して下さい。

checkstyle#config には、Checkstyleの設定ファイル(XML形式)を指定します。
Checkstyleにデフォルトで付属するものでも
プロジェクト独自の設定ファイルでも何でも構いません。
fileset 要素で、チェックするJavaファイルを指定します。

コンパイルに外部ライブラリ(jar)が必要な場合は、
checkstyle#classpathref で定義済みのクラスパスを指定します。
ここら辺の詳しい説明は他のページに任せます。

これで、コマンドラインから

% ant

を実行すればJavaがチェックされ、結果が標準出力に出力されます。

チェック結果をXML形式で出力

基本的な部分は前項と同じです。
checkstyle要素を以下のように修正します。

<checkstyle config="docs/sun_checks.xml"
            failureProperty="checkstyle.failure"
            failOnViolation="false">
  <formatter type="xml" tofile="checkstyle_report.xml"/>
  <fileset dir="src" includes="**/*.java"/>
</checkstyle>

formatter 要素があると、チェック結果がファイルに出力されます。

XML形式で出力されたファイルは、そのままで利用することはまずありません。
通常、次のステップへ進むための中間ファイルとして利用されます。

チェック結果をHTML形式で出力

以下の要素をbuild.xmlに記述します。

<style in="checkstyle_report.xml" out="checkstyle_report.html" style="checkstyle.xsl"/>

style#in には、先程XML形式で出力したファイルを指定します。
style#style で指定されたxslファイルの内容に従って
整形されたHTMLファイルが出力されることになります。
xslファイルはCheckstyleバイナリの中にサンプルが含まれているので
これを使うと良いでしょう。

% ant

これで、HTMLファイルが(複数)出力されます。

なお、style#out で指定したファイルに結果が出力されるように見えますが
実際に実行するとこのファイルはサイズ0で生成されるだけです。
これは今回使ったxslファイルによるものなので
初めは「あれ?何も生成されてない」と思うかもしれませんがこれで成功なのです。
index.html ファイルをブラウズすれば、チェック結果がHTMLで表示されます。

[コメント(0)]
[PR] b b Cvgb nEXN[jOb FXb Cvgb ]ETCgb SEOb ANZXb nEX[J[b ^ItBXb SEO΍b ҋZb sYSۃ[b vb b nCb AXNb ]Eb یb ev[gb ꗷsb b Ƌhb b zb ҋZb ŗmb Stb wb [VbNb }bT[Wb FXb Mb 365b AtBGCgb эb FXb z[y[Wb fCg[hb FXb COnb ^Cb oRNb nC@^J[b xXg nC ze [cb ob NNnnCb Hawaii hotelsb Hawaii Activitiesb bhhrb zm}\b
y^cЁup_CVtgvT[rXz nCnIvVicA[ibN}j - rWlXNXq - iq(1) - iq(2) - COze - ؍s
z[y[W쐬 - ^T[o[ - gуz[y[W - uO - ze \ - ^CVFA - B - nC@Rh~jA - o@ze - nC@sY - v[Pbg@ze