CodeNarc を Maven ベースのプロジェクトに統合しようとしていますが、問題が発生しています。カスタム ルールセットを使用したいのですが、ルールに違反した場合、Maven ビルドが失敗するようにしたいと考えています。
次のコマンドを実行すると、ルール違反によってエラーが発生するように codenarc を構成するにはどうすればよいですか?
mvn clean install
また、POM で CodeNarc を構成するためのドキュメントには、カスタム ルールセットの場所を参照する方法が説明されていません。それを設定する方法について何かアドバイスはありますか?ありがとう!
以下の構成で mvn clean install を実行すると (ルールセットに従って露骨な違反を含む groovy ファイルがあります)
私のビルドは成功します。:(
自分のルールセットを参照してみましたが、違反は発生していませんでした。POM で rulesetfiles プロパティを削除したところ、違反が発生し始めました。(でも自分で選べない)
カスタムルールセットファイルを実際に読み取らせる方法を知っている人はいますか? 私はxmlとgroovyの両方で試しました。
私のPOMからのルールセットとプラグイン構成は次のとおりです。
<ruleset xmlns="http://codenarc.org/ruleset/1.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://codenarc.org/ruleset/1.0 http://codenarc.org/ruleset-schema.xsd";
xsi:noNamespaceSchemaLocation="http://codenarc.org/ruleset-schema.xsd">;
<description>Dummy rule set</description>
<rule class='org.codenarc.rule.formatting.SpaceAfterIf'>
<property name='priority' value='1'/>
</rule>
<rule class='org.codenarc.rule.basic.EmptyIfStatement'>
<property name='priority' value='1'/>
</rule>
</ruleset>
このルールセットを POM で次のように参照しました。
<groupId>org.codehaus.mojo</groupId> <artifactId>codenarc-maven-plugin</artifactId> <version>0.18-1</version> <configuration> <sourceDirectory>${basedir}/src/test/groovy</sourceDirectory> <maxPriority1Violations>0</maxPriority1Violations> <maxPriority2Violations>0</maxPriority2Violations> <maxPriority3Violations>0</maxPriority3Violations> <rulesetfiles>${basedir}/rulesets/ruleset.xml</rulesetfiles> <xmlOutputDirectory>${basedir}/</xmlOutputDirectory> </configuration> <executions> <execution> <id>execution1</id> <phase>install</phase> <goals> <goal>codenarc</goal> </goals> </execution> </executions>