For what it's worth, here is what I use:

task alldocs(type: Javadoc) {

  title = "Meta-JB version $version Project API Documentation"
  destinationDir = new File(project.buildDir, 'docs/javadoc')
  optionsFile = new File( 'build/tmp/javadoc.txt' )

  subprojects.each {subproject ->
    source subproject.sourceSets.main.java
  }

  subprojects.each { subproject ->
    if( classpath )
classpath += subproject.sourceSets.main.classes + subproject.sourceSets.main.compileClasspath
    else
classpath = subproject.sourceSets.main.classes + subproject.sourceSets.main.compileClasspath
  }
}

I have a note that the last part can be reduced to just use subprojects {} instead of the .each but I'm loathe to "fix" already working build config.

The above may be non-optimal for some gradle-reason, but it works for my project. Maybe it gives you some ideas. <shrug>

-Paul

Geronimo M. H. wrote:
On Tuesday 23 March 2010 06:20:14 Adam Murdoch wrote:
task apidocs(type: Javadoc) {
      // Add the java source from all subprojects
      subprojects.each {
          source it.sourceSets.main.allJava
      }
      ....
}

Thank you for that hint. It sounded pretty reasonable, but did not change anything.

The complete task-definition is:

task apidocs(type: Javadoc) {
   title = "SR JRC-Framework - API $version"
   destinationDir = new File(rootProject.buildDir, 'javadoc')
destinationDir.mkdirs() classpath = files(subprojects.collect { project-> [ project.sourceSets.main.compileClasspath, project.sourceSets.main.classes ] })
   subprojects.each {
      source it.sourceSets.main.allJava
   }
   include 'de.schwarzrot/**'
   tmpDir = new File(buildDir, 'tmp')
   tmpDir.mkdirs()
   optionsFile = file("$tmpDir/javadoc.options")
//   println "optionsfile: $optionsFile"
   if (!optionsFile.exists()) {
      optionsFile.append("-doctitle '$title'\n")
      optionsFile.append("-d '$destinationDir'\n")
      optionsFile.append("-classpath '$classpath'\n")
      optionsFile.append("-windowtitle '$title'\n")
      optionsFile.append("-quiet\n")
      rootProject.subprojects.each { prj ->
         prj.sourceSets.main.allJava.each { entry ->
            optionsFile.append("'$entry'\n")
         }
      }
   }
}

... and the output of gradle apidocs is:
$ gradle apidocs
:SRDALib:compileJava UP-TO-DATE
:SRDALib:processResources UP-TO-DATE
:SRDALib:classes UP-TO-DATE
:SRDALib:jar UP-TO-DATE
:SRGuiLib:compileJava UP-TO-DATE
:SRGuiLib:processResources UP-TO-DATE
:SRGuiLib:classes UP-TO-DATE
:SRGuiLib:jar UP-TO-DATE
:SRAppBaseLib:compileJava UP-TO-DATE
:SRAppBaseLib:processResources UP-TO-DATE
:SRAppBaseLib:classes UP-TO-DATE
:SRAppBaseLib:jar UP-TO-DATE
:SRAppStarter:compileJava UP-TO-DATE
:SRAppStarter:processResources UP-TO-DATE
:SRAppStarter:classes UP-TO-DATE
:SRSampleSrv:compileJava UP-TO-DATE
:SRSampleSrv:processResources UP-TO-DATE
:SRSampleSrv:classes UP-TO-DATE
:SRServiceManager:compileJava UP-TO-DATE
:SRServiceManager:processResources UP-TO-DATE
:SRServiceManager:classes UP-TO-DATE
:apidocs UP-TO-DATE

BUILD SUCCESSFUL

but the destination directory stays empty.
Any idea?

kind regards

Geronimo

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

    http://xircles.codehaus.org/manage_email




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

   http://xircles.codehaus.org/manage_email


Reply via email to