Hi,
I think if you replace dependsOnChildren() with evaluationDependsOn() or
dependsOnChildren(true) things will work as you want them to.
Have a look at:
http://gradle.org/0.7/docs/userguide/multi_project_builds.html#sub:configuration_time_dependencies
http://gradle.org/0.7/docs/javadoc/org/gradle/api/Project.html
It looks like we don't have an evaluationDependsOnChildren() method.
That might be nice for us to add.
Levi Hoogenberg wrote:
Hi,
I would like to add a task that has a configuration dependency on all
of its declaring project's subprojects. Is this possible?
The reason I'm asking: I'm browsing through the user guide to find
ways to improve my build scripts. One thing that I thought would be
nice to improve upon is the way that archives are built. Right now, my
root project contains the following:
dependsOnChildren()
task('dists') << {
ant {
zip(destfile: ...) {
subprojects.each {project ->
subproject.configurations.distribution.resolve().each
{dependency ->
zipfileset(prefix: 'lib', file: dependency)
}
}
}
}
}
I'd like to change this to
task distribution(type: Zip, dependsOn: subprojects*.dists) {
// same subproject.each {...}
}
but I may not call the resolve() method. I think that I am allowed to
use it after all subprojects have been configured - is that correct?
And if it is, how do I declare that I would like to add the task at
that point? I've been looking at project evaluation listeners, which
felt like they solved a related but different use case, and a build
listener, which I couldn't get to work.
Thanks in advance,
Levi