On Sep 24, 2009, at 10:42 PM, Adam Murdoch wrote:
Steve Appling wrote:
I think I understand the javadoc issues a little more, but still
don't know exactly what to do about it.
It's actually fixed in trunk. I'm in the process of upgrading to a
new snapshot, but I wanted to investigate the heap usage before
doing so.
The java plugin doesn't seem to set up the classpath correctly for
the javadoc task.
Currently core:javadoc fails, but if I add
javadoc {
configuration = files(source.main.compileClasspath,
source.main.classes)
}
to core.gradle, it works.
This is the default in trunk now.
I copied this pattern from the root build.gradle, but I don't
understand where the configuration property of the JavaDoc task
comes from. It seems like this should be the classpath property,
but if I don't set configuration it gives an error. I don't see a
setConfiguration in JavaDoc or any of its ancestors.
I renamed it yesterday. It was configuration, now its classpath.
Should the output directory (source.main.classses) just be added to
the classpath convention in JavaPlugin.configureJavaDoc? I'm a
little confused about the connection between the classpath
convention and the configuration property.
I'm also confused about why running 'gradlew javadoc' runs javadoc
on both the root project and all the subprojects, but running
'gradlew explodedDist' which depends on the root javadoc, does not
run javadoc on the subprojects.
explodedDist doesn't depend on the subproject's javadoc tasks
because it does not include their output in the distribution. It
depends only on :javadoc, which generates a single javadoc batch
which documents all the subprojects.
So, when you run 'gradle explodedDist', you will only end up
executing :javadoc
When you run 'gradle javadoc', you're asking Gradle to execute any
task named 'javadoc' it finds in the current project and all
subprojects. Which is why it ends up executing all the javadoc tasks.
We don't care about the output of the individual subproject's
javadoc tasks, and it would be much better if they did not exist.
Ditto the groovydoc tasks.
Right, we don't care (yet) about the output of the individual
subproject's. But is it really a problem to have this functionality?
If so, what can we do?
- We could disable the javadoc tasks.
- We could provide functionality for removing tasks.
- Reconsider the name matching strategy for multi-project build
execution.
- Hans
--
Hans Dockter
Gradle Project Manager
http://www.gradle.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email