On Feb 14, 2009, at 1:15 AM, Tom Eyckmans wrote:

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 :)

Excellent stuff. And most of the warnings seem to be easy to fix. org.gradle.api.util.exec looks like a reasonable place to me. Usually I split stuff up in org.gradle.api.util.exec for the public interfaces/ classes and org.gradle.api.internal.util.exec for internal implementations. I try to have a look at your Git branch this weekend.

- Hans

--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to