It does have sourceSets though ... it's a normal Java project.  That's
part of my confusion ... it builds, it tests, but I get the bizarre
error when trying to build the JavaDoc.

On Fri, Apr 15, 2011 at 7:42 PM, Steve Ebersole <[email protected]> wrote:
> 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 &copy; 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
>



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


Reply via email to