2017-12-07 21 views
2

私のグラデルビルドでサードパーティのプラグインを使ってコードを生成しています。 生成されたコードjavadocの形式が正しくありません。gradle javadocタスクから生成されたファイルを除外する方法は?

私はgradles javadocタスクからそのパスを除外しようとしましたが、動作しません。 私は同様の質問を見ましたが、役に立たない答えはありません。

$> ./gradlew --version 
------------------------------------------------------------ 
Gradle 4.3 
------------------------------------------------------------ 

Build time: 2017-10-30 15:43:29 UTC 
Revision:  c684c202534c4138b51033b52d871939b8d38d72 

Groovy:  2.4.12 
Ant:   Apache Ant(TM) version 1.9.6 compiled on June 29 2015 
JVM:   1.8.0_121 (Oracle Corporation 25.121-b13) 
OS:   Windows 7 6.1 amd64 

これは

sourceSets { 
    main { 
    compileClasspath += java.srcDir("${buildDir}/generated/src/main/com4j") 
    runtimeClasspath += java.srcDir("${buildDir}/generated/src/main/com4j") 
    } 
    test { 
    compileClasspath += java.srcDir("${buildDir}/generated/src/main/com4j") 
    runtimeClasspath += java.srcDir("${buildDir}/generated/src/main/com4j") 
    } 
} 

javadoc { 
    exclude "**/generated/**" 
    source = sourceSets.main.allJava 
} 

も効果はありません、私のbuild.gradleです。

$> ./gradlew javadoc 
:javadocC:\cygwin64\home\username\sourcecode\COMJurer\build\generated\src\main\com4j\com\app\com4j\api\ClassFactory.java:15: warning: no @return 
    public static com.app.com4j.api.IAPI createAPI() { 
                ^
C:\cygwin64\home\username\sourcecode\COMJurer\build\generated\src\main\com4j\com\app\com4j\api\IAPI.java:99: error: malformed HTML 
    * @param xmlReturn Mandatory Holder<java.lang.String> parameter. 
           ^
C:\cygwin64\home\username\sourcecode\COMJurer\build\generated\src\main\com4j\com\app\com4j\api\IAPI.java:99: error: bad use of '>' 
    * @param xmlReturn Mandatory Holder<java.lang.String> parameter. 
               ^

2 errors 
1 warning 
:javadoc FAILED 

gradlesのドキュメントには、任意の詳細を欠いている:https://docs.gradle.org/current/dsl/org.gradle.api.tasks.javadoc.Javadoc.html

答えて

2

問題は、あなたのパターンがソースディレクトリのパスを指していることです。

Javadocパターンは、クラスのパッケージと照合されます。

だから、あなたは除外する必要がパッケージ(複数可)を参照するパターンを使用する代わりに、必要がある、のようなもの:

exclude 'com/app/com4j/api/**'