2

質問

ソースコードにキーワード/正規表現が含まれている場合、maven ビルドを失敗させる方法は?

ボーナス

  • チェックするパスを指定できる
  • チェックする「種類」のパスを指定できます。
    • 「KEYWORD が「メイン」リソースに含まれていないことを確認したい。「テスト」は気にしない」
    • 「KEYWORD が 'test' リソースに含まれていないことを確認したい。'main' は気にしない」
    • ...
  • テストを実行するフェーズを指定できる (例: コンパイル前)

解決

(現在の回答 2013-09-26 に基づく)

最良の解決策は、Mavenと完全に統合され、プラットフォームに依存しない@BaptisteMathusの回答であるようです。

私のユースケースでは、@ GregWhitakerの回答は良いものです。プラットフォームの独立性を気にしないため、実装する方が安価だからです(<=必要なコマンドはすべてのホストで利用可能です)。以下のコード サンプルは、この回答に基づくソリューションです。「FIXME」または「自動生成されたメソッド スタブ」の使用を禁止していますが、利用可能であると想定していegrepます。

「SONAR対応」プロジェクトでよりクリーンな@MarkOConnorの回答も参照してください

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <phase>process-sources</phase>
                    <configuration>
                        <executable>egrep</executable>
                        <successCodes>
                            <successCode>1</successCode>
                        </successCodes>
                        <arguments>
                            <argument>-rqm</argument>
                            <argument>1</argument>
                            <!-- Forbidden Keywords -->
                            <argument>FIXME|Auto-generated method stub</argument>
                            <!-- search path -->
                            <argument>src/main</argument>
                        </arguments>
                    </configuration>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
4

4 に答える 4

1

taglist -maven-pluginはまさにあなたが望むものだと思います。

于 2013-08-08T15:13:41.427 に答える
1

Sonar にはtaglistプラグインがあり、コメント ブロック内の文字列を検索して重大度の処理を指定できます。それがあなたが探しているものだと思います...ソースコード自体を解析するには、checkstyle などのツールのカスタムルールが必要になる場合があります。このアプローチは試していませんが、Sonar サイトに記載されています

これは、ビルド ブレーカープラグインと組み合わせることができます。このプラグインは、プロジェクトの品質プロファイルでアラート基準に違反した場合にビルドを失敗させます。

于 2013-08-08T19:14:48.097 に答える
1

これらのチェックを実行する小さなプログラムを作成し、exec-maven-pluginを介して実行します。メイン リソースでキーワードが見つかった場合は、プラグインがビルドに失敗する原因となるゼロ以外のリターン コードを返すだけです。

于 2013-08-08T15:06:27.463 に答える