[Seasar-user:21447] Re: [DBFlute] 特定のパッケージを checkstyle のチェックから除去
Masao Suda
[E-MAIL ADDRESS DELETED]
2012年 9月 4日 (火) 10:46:10 JST
須田と申します。
> 久保(jflute)です。
>
> hattiさん、こんばんは
>
> この件、自分も興味ありますね。
> (EclipseでせっせとIgnoreはしていましたが...)
> ぜひ、この手の経験もしくは知識のある方、
> コメント頂ければと思います。
>
jenkinsに関しては知らないので適用可能かは判らないのですが、
以下のような感じで対応してます。
1. Antのcheckstyleタスクを利用する
<fileset><exclude>でチェックを除外するパッケージを指定する
--- build.xmlの例 ---
(中略)
<taskdef resource="checkstyletask.properties"
classpath="lib/checkstyle-5.5-all.jar"/>
<target name="checkstyle" description="checkstyle">
<checkstyle config="sun_checks.xml"
failureProperty="checkstyle.failure"
failOnViolation="false">
<formatter type="xml" tofile="checkstyle_report.xml"/>
<fileset dir="src">
<include name="**/*.java"/>
<exclude name="**/hoge/**/*.java"/>
</fileset>
</checkstyle>
</target>
(中略)
--- build.xmlの例ここまで ---
この例では hogeパッケージ以下のクラスはcheckstyleタスクから除外
2. SuppressionFilterを利用する。
http://checkstyle.sourceforge.net/config.html
上記URLのSuppressionFilterを参考にして設定します。
--- sun_checks.xml の例 ---
(中略)
<module name="Checker">
<module name="SuppressionFilter">
<property name="file" value="./suppressions.xml"/>
</module>
(以下略)
--- sun_checks.xmlの例ここまで ---
--- suppressions.xmlの例 ---
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress checks="Javadoc*"
files="[\\/]action[\\/]"/>
</suppressions>
--- suppressions.xmlの例ここまで ---
この suppressions.xmlの例なら action パッケージ中のクラスに対しては
Javadoc関連のチェックが行われなくなります。
私はsuppressions.xmlで設定する場合、(特に細かく設定を行うと)ミスする事が
よくあるので、設定前のcheckstyle結果と設定後のcheckstyle結果のdiff取って
確認してからプロジェクトに適用させています。
> 2012/9/1 HATTI <hatti33 @ gmail.com>:
>> お世話になります。hatti と申します。
>>
>> 表の件、どちらかというと checkstyle の話題なのですが、
>> もしご存知であればご教示いただければ大変助かります。
>>
>> 現在 DBFlute を使ったアプリケーションを作成しているのですが、
>> checkstyle によるコード規約チェックも同時に行っています。
>> その際、DBFlute によって自動生成されたパッケージ配下のクラスが、
>> 取り決めているコーディング規約と異なるため、多くの警告が表示されてしまいます。
>>
>> Eclipse であれば、プロジェクトの設定で、特定パッケージを checkstyle の対象から除去できるかと思うのですが、
>> 現在 jenkins(Hudson) による、外部環境でのビルドとチェックを行うことを考えています。
>> その際には、特定パッケージのチェック除去方法が見つかっていない状況です。
>>
>> 自動生成周りでひっかかるコードチェックは外そうかと考えているのですが
>> 本末転倒となってしまうかなと思い、、
>>
>> もし、こうしたらいい、こんな風に運用してるよ、などあれば
>> ご教示よろしくお願いいたします。
>>
>> 以上
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内