Hi Rene, On Wed, Feb 16, 2011 at 4:20 PM, Rene Groeschke <[email protected]> wrote:
> Hi Brett, > I don't see any question in your post. In your provided example, you > define a pmd task for each subproject. running "gradle pmd" executes all > of them. for details have a look at > > http://gradle.org/0.9.2/docs/userguide/userguide_single.html#multi_project_builds > Sorry, the question was left out "Why does gradle run ALL custom tasks in subprojects, whether I call them or not" - as mentioned in my original email, "When I run ANYTHING on the parent, all subprojects execute PMD" My understanding of grade is that only invoked tasks will be called if there are no task dependencies. I have just tested by replacing my build.gradle with a much simpler one, is this behaviour correct below (i.e. the defined tasks are always called, even when I only call the 'tasks' task)? subprojects { apply plugin: 'java' version = project.parent.version task customOne { println "ONE: I am $project.name" } task customTwo { println " - TWO: My parent is $project.parent.name" } } Thats all that I have in my build.gradle. When I run "gradle tasks", i get the following output: [me@host proj1]$ gradle tasks ONE: I am project-api - TWO: My parent is proj1 ONE: I am project-client - TWO: My parent is proj1 ONE: I am project-model - TWO: My parent is proj1 ONE: I am project-server - TWO: My parent is proj1 :tasks ------------------------------------------------------------ Root Project ------------------------------------------------------------ /// The rest of "tasks" output is displayed. So the question is: how should I correctly configure tasks so they are not executed by every gradle call, but only when passed as an argument to gradle? > > regards, > René > > Am 16.02.11 15:04, schrieb Brett Cave: > > I have a multi project gradle project, and have defined a task in the > > parent: > > > > // start > > subprojects { > > apply plugin: 'java' > > apply plugin: 'code-quality' > > > > configurations { pmdConf } > > dependencies { pmdConf 'pmd:pmd:4.2.5' } > > > > task pmdCheck { > > println "Running PMD code check on " + project.name > > ant { > > // the ant definition for pmd in here: a taskdef with name > pmdTask > > and then invoking the task. > > } > > } > > } > > > > // end build.gradle > > > > > > When I run anything on the parent, PMD is executed: > > e.g. gradle compileJava > > "Running PMD code check on subproject1" > > "Running PMD code check on subproj2" > > "Running PMD code check on subproj3" > > > > > -- > ------------------------------------ > Rene Groeschke > > [email protected] > http://www.breskeby.com > http://twitter.com/breskeby > ------------------------------------ > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >
