2017-07-14 10 views
2

コードベースのコードをコードベースでどのように開始するのかチェックスタイル設定を追加しようとしています。私が望むフォーマットはjava-^package .*\n\n.*のパターンで記述することができます。しかし、このパターンはRegexpHeaderと一緒に使用すると動作しないようです。Checkstyle RegexpHeaderで正規表現が正しく検出されない

<module name="RegexpHeader"> 
    <property name="header" value="^package .*\n\n.*"/> 
    <property name="fileExtensions" value="java"/> 
</module> 

そして、このために失敗していないようです - - ここに私のconfigがある

package my.checkstyle.frustrations; 
/** 
* Hello world! 
* 
*/ 
public class ShouldFail 
{ 
} 

私は、サンプルプロジェクトhereを作成しました。

+0

野生の推測:正規表現チェックを行う前にcheckstyleがコメントを削除していますか? –

+0

問題を共有するには、checkstyleチームが問題を報告するために推奨する形式です。CLIで再現できない場合は、http://checkstyle.sourceforge.net/report_issue.html#How_to_report_a_bugプラグインの設定は問題ありません。 –

+0

@RomanIvanov - 私は新しいここのバグ - https://github.com/checkstyle/checkstyle/issues/4735 –

答えて

1

このチェックは、私が使用している方法で使用するためのものではないようです。これは、ファイル内のコード(パッケージの宣言を含む)の前に、ヘッダーにのみ使用されるはずです。私はそれを使用して正規表現を^package\n^$に変更することでそれを動作させるためにそれをハックすることに成功しました。

PACKAGE_DEFトークンでEmptyLineSeparatorCheckを使用しても試しましたが、そのチェックでコメント行が無視されるため、どちらも機能しませんでした。もし誰かが別の小切手を知っているのであれば、それは私の使用のためのものです。

関連する問題