This works fine in my multiprojects, and all dependencies of dependency projects get copied. Perhaps you need configurations.compile.transitive = true
Philip On Fri, May 14, 2010 at 4:36 AM, Walter Di Carlo <[email protected]> wrote: > Hi Philip, > > thank you for your link, but I think it can be useful only after I > have found the lib folders of ALL DEPENDENTS projects. Let me extend > my example. Suppose there are 3 projects > > prjA > lib > dist > prjB > lib > dist > prjC > lib > dist > > where dependencies are > prjA -> prjB > prjA -> prjC > > prjB -> prjC > > Note that the prjC's jar is needed by prjA and prjB. Hence, I would > like the :prjC:uploadArchives task to copy its prjC/dist/prjC.jar into > the lib folder of ALL DEPENDENTS projects, i.e. into prjA/lib and > prjB/lib. I need this because all project must be self-consistent if > they are checked out from the repository. > > The java plugin has the task buildDependents. So, I suppose there is a > way to know which project need the jar produced by the current > project. I have tried to use the following but it returns only the > current project. > > def t = task.project.tasks.buildDependents > def myset = t.taskDependencies.getDependencies(t)*.path as Set > > Ciao > > Walter > > On 13 May 2010 16:22, Philip Crotwell <[email protected]> wrote: >> Hi >> >> See the cookbook: >> http://gradle.codehaus.org/Cookbook#Cookbook-GatheringalldependencieslibrariesJARsinonefolder >> >> Philip >> >> On Thu, May 13, 2010 at 9:31 AM, Walter Di Carlo <[email protected]> wrote: >>> Hi, >>> >>> I am trying to customize the uploadArchives task in order to copy the >>> generated jar into the lib folder of the dependents project. So, >>> having the follwoing structure >>> >>> prjA >>> lib >>> dist >>> prjB >>> lib >>> dist >>> >>> where prjA depends on prjB. Then I would like to copy the generated >>> jar in the prjB/dist into the prjA/lib. >>> >>> As first step I am trying to figure out ho to obtain the list of >>> depentents project using the following task >>> >>> subprojects { >>> apply plugin: 'java' >>> .... >>> task list_dependents << { task -> >>> def t = task.project.tasks.buildDependents >>> def myset = t.taskDependencies.getDependencies(t)*.path as Set >>> myset.each { o -> println o } >>> } >>> } >>> >>> The problem is the it returns only the current project. What am I >>> missing? Note that I am using the gradle 0.9-preview >>> >>> Regards, >>> >>> Walter >>> >>> --------------------------------------------------------------------- >>> 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 >> >> >> > > --------------------------------------------------------------------- > 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
