I've looked at the Javadoc task and added classes to support all Javadoc
core options and all the options of the standard Javadoc doclet (this is
currently not yet committed to svn trunk as I need to add a bunch of unit
tests - it is however available on my gradle.javadoc branch if you want to
have a look) options in these classes are based on the reference
documentation of the javadoc 1.5 executable.

I've also made so that we don't depend on the Ant Javadoc task and added
base classes so we can execute a child process (api.gradle.util.exec - not
sure if this is the best place but thats where they are for now).

This is what is currently in the build.gradle file of Gradle:

javadoc {
    title = "Gradle API $version"
    destinationDir = explodedDistJavadocsDir
    options.subPackages('org.gradle')
           .exclude('org.gradle.api.internal')
}

The used options are writting to an file that is passed as an @ argument to
the javadoc executable, written javadoc option file contents for Gradle:

-sourcepath /home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy
-classpath
/home/teyckmans/.gradle/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-1.5.6.jar:/home/teyckmans/.gradle/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.0.jar:/home/teyckmans/.gradle/cache/dom4j/dom4j/jars/dom4j-1.6.1.jar:/home/teyckmans/.gradle/cache/org.mortbay.jetty/jetty/jars/jetty-6.1.14.jar:/home/teyckmans/.gradle/cache/org.mortbay.jetty/jetty-plus/jars/jetty-plus-6.1.14.jar:/home/teyckmans/.gradle/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.14.jar:/home/teyckmans/.gradle/cache/javax.servlet/servlet-api/jars/servlet-api-2.5.jar:/home/teyckmans/.gradle/cache/net.sf.jopt-simple/jopt-simple/jars/jopt-simple-2.4.1.jar:/home/teyckmans/.gradle/cache/org.apache.ant/ant/jars/ant-1.7.0.jar:/home/teyckmans/.gradle/cache/ch.qos.logback/logback-classic/jars/logback-classic-0.9.9.jar:/home/teyckmans/.gradle/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.5.3.jar:/home/teyckmans/.gradle/cache/ch.qos.logback/logback-core/jars/logback-core-0.9.9.jar:/home/teyckmans/.gradle/cache/commons-io/commons-io/jars/commons-io-1.4.jar:/home/teyckmans/.gradle/cache/commons-lang/commons-lang/jars/commons-lang-2.3.jar:/home/teyckmans/.gradle/cache/slide/webdavlib/jars/webdavlib-2.0.jar:/home/teyckmans/.gradle/cache/biz.aQute/bndlib/jars/bndlib-0.0.255.jar:/home/teyckmans/.gradle/cache/org.apache.ivy/ivy/jars/ivy-2.0.0-rc2.jar:/home/teyckmans/.gradle/cache/org.apache.maven/maven-ant-tasks/jars/maven-ant-tasks-2.0.9.jar:/home/teyckmans/lib/org/gradle/git/gradle/build/classes
-subpackages org.gradle
-exclude **/*.groovy:org.gradle.api.internal
-quiet
-d
/home/teyckmans/lib/org/gradle/git/gradle/build/distributions/exploded/docs/javadoc
-windowtitle "Gradle API 0.6"

Output (defaults to executing Javadoc with the -quiet option):

:init
:resources
:compile
:javadoc
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/Task.java:111:
warning - Project#PATH_SEPARATOR (referenced by @value tag) is an unknown
reference.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/tasks/ide/eclipse/EclipseClasspath.java:168:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/tasks/javadoc/Groovydoc.java:82:
warning - @return tag cannot be used in method with void return type.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/tasks/javadoc/Groovydoc.java:116:
warning - @return tag cannot be used in method with void return type.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/tasks/testing/Test.java:287:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/tasks/compile/GroovyCompile.java:248:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/logging/StandardOutputCapture.java:43:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/artifacts/DependencyContainer.java:103:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/artifacts/maven/PomFilterContainer.java:54:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/artifacts/report/IvyDependencyGraph.java:57:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/artifacts/report/IvyDependencyGraphBuilder.java:58:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/plugins/jetty/AbstractJettyRunTask.java:224:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/plugins/jetty/AbstractJettyRunTask.java:438:
warning - @return tag has no arguments.
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/plugins/jetty/JettyPluginServer.java:129:
warning - Tag @see:illegal character: "64" in "@see
Jetty6PluginServer#addWebApplication"
/home/teyckmans/lib/org/gradle/git/gradle/src/main/groovy/org/gradle/api/plugins/jetty/JettyPluginServer.java:129:
warning - Tag @see: reference not found: @see
Jetty6PluginServer#addWebApplication
15 warnings

BUILD SUCCESSFUL

Total time: 15.943 secs

Only 15 warnings and no errors not bad :)

Kr,

Tom

Reply via email to