[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 メーリングリストの案内