Hi Nacho,
On Tue, Jan 19, 2010 at 1:09 PM, Nacho Coloma <[email protected]> wrote:
> I am defining this task in my master project:
>
> subprojects {
>
> task 'cleanGenlib' << {
> ant.delete(dir: "${projectDir}/src/main/genlib")
> ant.delete(dir: "${projectDir}/src/test/genlib")
> }
> clean.dependsOn cleanGenlib
>
> }
>
> Now, invoking "gradle clean" in a subproject triggers cleanGenlib on
> all subprojects, not just the one I am working in (which is the
> expected behavior).
>
> Is this the way it's supposed to be, or am I missing something?
>
No, it is not supposed to work like this. And I can't reproduce this with
Gradle trunk. I have added your code to the
GRADLE_HOME/samples/java/multiproject build.
Executing gradle clean within the api dir gives me the following:
:api:cleanGenlib
:api:clean
The same is true for executing gradle :api:clean from the root dir.
Executing clean from the root dir gives me (as expected)
:api:cleanGenlib
:api:clean
:services:cleanGenlib
:services:clean
:shared:cleanGenlib
:shared:clean
:services:webservice:cleanGenlib
:services:webservice:clean
I'm interested in what's going on there. The newest Gradle provides a
built-in solution for this:
subprojects {
clean {
from "$projectDir/src/main/genlib", "$projectDir/src/test/genlib"
}
}
- Hans
--
Hans Dockter
Founder, Gradle
http://www.gradle.org, http://twitter.com/gradleorg
CEO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz
>
> Regards,
>
> Nacho.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>