3

私は目標siteで私のMavenプロジェクトをビルドしています。出力にはJavadocの警告があります。 この場合、私のMavenビルドは失敗する必要があります。それを行う方法はありますか?このためMavenのビルド(目標サイト)をJavadocの警告で失敗させるには?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-site-plugin</artifactId> 
    <version>3.5</version> 
    <configuration> 
     <generateReports>true</generateReports> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.10.3</version> 
    <configuration> 
     <show>private</show> 
     <failOnError>true</failOnError> 
    </configuration> 
</plugin> 
+1

何が可能ですか? – Hrabosch

+0

@Hrabosch Javadocが問題に遭遇した場合にビルドが失敗することを確認する可能性があります。たとえば、ジェンキンスのビルドを失敗させてデベロッパーがメールなどを受け取るようにします –

+1

JDK 8ではデフォルトでdoclintが有効ですが、 7時? – Hrabosch

答えて

2

警告時にビルドに失敗するようにmaven-javadoc-pluginを設定することはできません(パラメータがfailOnErrorのエラーの場合のみ)。

あなたが実際に望むのは、maven-checkstyleプラグインを使用することです。これは、コードが所定のスタイルに準拠しているかどうかを確認するプラグインです。この場合、スタイルはJavadocが存在しなければならず、警告を受け取ってはならないということです。そのため、このようのCheckstyleプラグインを設定します。

<plugin> 
    <artifactId>maven-checkstyle-plugin</artifactId> 
    <version>2.17</version> 
    <reportSets> 
     <reportSet> 
      <reports> 
       <report>checkstyle</report> 
      </reports> 
     </reportSet> 
    </reportSets> 
    <configuration> 
     <failsOnError>true</failsOnError> 
     <configLocation>checkstyle.xml</configLocation> 
    </configuration> 
</plugin> 

それは(プロジェクトのベースディレクトリからの相対位置)checkstyle.xmlを参照します。

<?xml version="1.0"?> 
<!DOCTYPE module PUBLIC 
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN" 
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> 

<module name="Checker"> 
    <module name="TreeWalker"> 
     <module name="JavadocMethod"/> 
     <module name="JavadocType"/> 
     <module name="JavadocVariable"/> 
     <module name="JavadocStyle"/> 
    </module> 
</module> 

これは、ビルドは任意のJavadocの警告のために失敗になります:Javadocのかどうかを確認するには、次の簡単なCheckstyle構成ファイルを持つことができます。 Javadocモジュールare highly configurable;上記のサンプル構成では、すべてのメソッド、すべての型およびすべての変数についてJavadocとその正しさをチェックします。例として、あなたはJavadocMethodJavadocVariableモジュールにscopeプロパティを設定することでのみpublic方法とpublicフィールドにこれを制限することができ

<module name="JavadocMethod"> 
    <property name="scope" value="public"/> 
</module> 
<module name="JavadocVariable"> 
    <property name="scope" value="public"/> 
</module> 
1

、あなたはSonarqubeのようなものを使用する必要があります。ここでは

は私のPOMのコードスニペット(私はMavenの3.3を使用しています)です。ここでCIの一部としてチェックする必要はありません。だから、これはSonarQubeの仕事ですが、まだJenkinseで何かをチェックしたい場合は、 Text Finder Plugin for Jenkinseを試してみてください。次に、java doc警告のuniqeu部分を含む文字列を設定することができます。その後、ビルドはダウングレードされます。

1

あなたはそれがその後、ビルド要素にmaven-javadoc-pluginために次のコードを使用している場合警告があっても自動的に失敗します。

<executions> 
    <execution> 
     <id>attach-javadocs</id> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
    </execution> 
</executions> 
関連する問題