Yes, you are right. I discovered I have setup the dependencies between
the project in a wrong way.
I have used
dependencies {
if( prjExist('prjY') ) {
dependsOn(":prjY")
else
compile "prjY:prjY:jar"
}
while the correct one is
dependencies {
if( prjExist('prjX') ) {
compile project(":prjY")
else
compile "prjY:prjY:jar"
}
Sorry for that :( Too many upgrades and experiments ;). It is a pitty
that dependsOn is not reporting any issue :(
Thank you again for your time
Now I can try to copy the built jar into the lib of the project of interest.
Ciao
Walter
On 14 May 2010 13:47, Philip Crotwell <[email protected]> wrote:
> 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
>
>
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email