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