I would agree that aggregated javadocs should be more concise to set up. I know some of the Gradle dev team think so as well.
That being said, Jason is right. If a module does not have sourceSets I can't imagine you need it included in javadoc generation. Just exclude that module seems easiest. On Apr 15, 2011 8:40 PM, "Jason Porter" <[email protected]> wrote: > Howard, try including the JavaBasePlugin in your plastic project, that'll > give you sourceSets, or you could exclude that project from your iteration > if it doesn't need the javadoc task to be run. > > On Fri, Apr 15, 2011 at 19:25, Howard Lewis Ship <[email protected]> wrote: > >> I'm attempting to create aggregated JavaDoc for my multi-module >> project. In the top-level build.gradle I've added the following: >> >> // Cribbed from >> >> https://github.com/hibernate/hibernate-core/blob/master/release/release.gradle#L19 >> >> javadocBuildDir = dir( buildDirName + "/documentation/javadocs" ) >> >> task aggregateJavadocs(type: Javadoc) { >> description = "Build the aggregated JavaDocs for all modules" >> maxMemory = '512m' >> destinationDir = javadocBuildDir.dir >> configure(options) { >> // overview = new File( projectDir, 'src/javadoc/package.html' ) >> // stylesheetFile = new File( projectDir, >> 'src/javadoc/stylesheet.css' ) >> windowTitle = 'Tapestry API Documentation' >> docTitle = "Tapestry JavaDoc ($project.version)" >> bottom = "Copyright © 2003-2011 <a >> href=\"http://tapestry.apache.org\">The Apache Software >> Foundation</a>." >> use = true >> links = [ 'http://download.oracle.com/javase/6/docs/api/', >> 'http://download.oracle.com/javaee/6/api/' ] >> } >> >> subprojects.each { subProject-> >> >> println subProject >> >> subProject.sourceSets.each { set -> >> if (!"test" == set.name) { >> source set.java >> >> if (classpath) { >> classpath += set.classes + set.compileClasspath >> } >> else { >> classpath = set.classes + set.compileClasspath >> } >> } >> } >> } >> } >> >> This fails immediately: >> >> $ gr agg >> project ':plastic' >> >> FAILURE: Build failed with an exception. >> >> * Where: >> Build file '/Users/hlship/workspaces/tapestry/tapestry5/build.gradle' line: >> 37 >> >> * What went wrong: >> A problem occurred evaluating root project 'tapestry5'. >> Cause: Could not find property 'sourceSets' on project ':plastic'. >> >> * Try: >> Run with --stacktrace option to get the stack trace. Run with --info >> or --debug option to get more log output. >> >> BUILD FAILED >> >> Total time: 1.697 secs >> ~/workspaces/tapestry/p >> $ >> >> I'm on Gradle 1.0-milestone-1 >> >> Full source here: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/ >> >> With debug, not any more helpful: >> >> 18:18:58.997 [INFO] [org.gradle.BuildLogger] Projects loaded. Root >> project using build file >> '/Users/hlship/workspaces/tapestry/tapestry5/build.gradle'. >> 18:18:58.999 [INFO] [org.gradle.BuildLogger] Included projects: [root >> project 'tapestry5', project ':plastic', project >> ':tapestry-annotations', project ':tapestry-beanvalidator', project >> ':tapestry-core', project ':tapestry-func', project >> ':tapestry-hibernate', project ':tapestry-hibernate-core', project >> ':tapestry-ioc', project ':tapestry-jmx', project ':tapestry-json', >> project ':tapestry-spring', project ':tapestry-test', project >> ':tapestry-upload', project ':tapestry-yuicompressor'] >> 18:18:59.000 [INFO] [org.gradle.configuration.BuildScriptProcessor] >> Evaluating root project 'tapestry5' using build file >> '/Users/hlship/workspaces/tapestry/tapestry5/build.gradle'. >> 18:18:59.354 [QUIET] [system.out] project ':plastic' >> 18:18:59.363 [DEBUG] [org.gradle.configuration.BuildScriptProcessor] >> Timing: Running the build script took 0.362 secs >> 18:18:59.378 [ERROR] [org.gradle.BuildExceptionReporter] >> 18:18:59.380 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: >> Build failed with an exception. >> 18:18:59.382 [ERROR] [org.gradle.BuildExceptionReporter] >> 18:18:59.383 [ERROR] [org.gradle.BuildExceptionReporter] * Where: >> 18:18:59.383 [ERROR] [org.gradle.BuildExceptionReporter] Build file >> '/Users/hlship/workspaces/tapestry/tapestry5/build.gradle' line: 37 >> 18:18:59.384 [ERROR] [org.gradle.BuildExceptionReporter] >> 18:18:59.385 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: >> 18:18:59.386 [ERROR] [org.gradle.BuildExceptionReporter] A problem >> occurred evaluating root project 'tapestry5'. >> 18:18:59.389 [ERROR] [org.gradle.BuildExceptionReporter] Cause: Could >> not find property 'sourceSets' on project ':plastic'. >> 18:18:59.390 [ERROR] [org.gradle.BuildExceptionReporter] >> >> >> I'm kind of at a loss here. This feels like something I should just be >> able to do with a line of configuration somewhere. >> >> The plastic module does have no dependencies at all. What's strange >> is that the error is that the sourceSets property doesn't exist ... >> not that its value is null or empty. Seems like an order of >> evaluation problem, but I don't get it. >> >> >> >> >> -- >> Howard M. Lewis Ship >> >> Creator of Apache Tapestry >> >> The source for Tapestry training, mentoring and support. Contact me to >> learn how I can get you up and productive in Tapestry fast! >> >> (971) 678-5210 >> http://howardlewisship.com >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > > > -- > Jason Porter > http://lightguard-jp.blogspot.com > http://twitter.com/lightguardjp > > Software Engineer > Open Source Advocate > Author of Seam Catch - Next Generation Java Exception Handling > > PGP key id: 926CCFF5 > PGP key available at: keyserver.net, pgp.mit.edu
