mrt181 :
I am generating some code in my gradle build through a 3rd party plugin. The generated codes javadoc is malformed.
So i tried to exclude that path from gradles javadoc task but it does not work. I looked through similar questions but none offers a helpful answer.
$> ./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
This is my build.gradle
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
}
Has no effect.
$> ./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 documentation is lacking any specifics: https://docs.gradle.org/current/dsl/org.gradle.api.tasks.javadoc.Javadoc.html
Louis Jacomet :
The problem is that your pattern refers to the path of the source directory.
Javadoc patterns are matched against the package of the classes.
So you need instead to use a pattern that refers to the package(s) you need to exclude, something like:
exclude 'com/app/com4j/api/**'
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=465359&siteId=1