[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ivy-user
Subject:    Re: newbie configuration question
From:       "Xavier Hanin" <xavier.hanin () gmail ! com>
Date:       2007-08-22 8:06:42
Message-ID: 635a05060708220106r362d62b6ybbd8700b91f4f427 () mail ! gmail ! com
[Download RAW message or body]


On 8/21/07, bhatia <Bhatia@ofac.ch> wrote:
>
>
> Hello,
>
> I want to specify that module OFACDI can participate in a compile and/or
> run
> configuration of its caller module. For compilation, we have circular
> dependencies so I am setting transitive="true" to be able to compile my
> project despite circular deps. Am I on the right track here ?


transitive="true" is the default, and won't help you solve your circular
dependency problem. If you want to disable transitivity, use
transitive="false" and you won't have any circular dependency problem. But
I'm not sure to get what you really want, so here are some ideas about how
to handle circular dependencies:
- break the circular dependencies between your modules: cleanest, but not
always achievable
- break the circular dependencies in configurations, for instance A->B->A
breaked in A(conf1)->B(conf1);B(conf2)->A(conf2): sometimes easier to
achieve than first solution, but not very easy to maintain
- use a circular dependency strategy adapted to your needs: you can allow
circular dependencies, thus not requiring any change in your modules: use
this when you can't break your circular dependencies at all.

HTH,

Xavier

The basic idea is that to compile my project, I want to use "compile" config
> with transitive="true" (for circular deps) and to publish I want a "run"
> config.
>
> **********************************************
> <ivy-module version="1.0">
> <info organisation="ofac" module="OFACDI" revision="prod"/>
> <configurations>
>    <conf name="compile" description="compile-time deps only, transitive
> since we have spaghetti type dependencies" transitive="true"
> visibility="public"/>
>    <conf name="run" description="run-time deps only, also used for
> creating
> and publishing an artifact" transitive="false" visibility="public"/>
> </configurations>
> <publications>
>         <artifact name="OFACDI" type="jar"/>
>         <artifact name="OFACDI" type="source" ext="src.jar"/>
> </publications>
> <dependencies>
>     <dependency org="ofac" name="OFACPool" rev="prod" changing="true"
> conf="compile, run"/>
> </dependencies>
> <conflicts>
>     <manager name="ofac-cm" org="ofac"/>
>     <manager name="latest-revision" org="(?!ofac).*"/>
> </conflicts>
> </ivy-module>
>
> **********************************************
>
> thanks a lot
>
>
> --
> View this message in context:
> http://www.nabble.com/newbie-configuration-question-tf4304746.html#a12253284
> Sent from the ivy-user mailing list archive at Nabble.com.
>
>


-- 
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://incubator.apache.org/ivy/
http://www.xoocode.org/


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic