For my Project we currently use a build system with ivy+ant (typical). And as I have understood Ivy over a period of time - I believe for Ivy to do transitive dependency management it needs module descriptors (ivy.xml) for each dependency and a resolver to reach that dependency.
AAPI.jar at runtime needs AImpl.jar
And BAPI.jar needs BImpl.jar at runtime again.
All 'A' dependencies are resolved via YYY url resolver( the reporting tool will not let me say the url address for the resolver :-|) and similarly All 'B' dependencies are resolver via XXX url resolver. also I have ivy.xml for Module A and Module B.
With this understanding of Ivy, I was hoping to use Enterprise Bundle repository - but to my surprise not a single bundle has Module Descriptor (ivy.xml) defined for Ivy to resolve dependencies.
e.g If in ivy.xml For Module A I declare a dependency for JSON Stax implementation
<dependency org="org.codehaus.jettison" name="com.springsource.org.codehaus.jettison" rev="1.0.1" />
Now as per EBR , this bundle has another dependency on com.springsource.javax.xml.stream . Now this is where I am highly confused :
1. How ivy is going to ever know that it needs to fetch StAX Api jar when it fetches AJSON Stax Impl jar?
2. I understand that these jars are OSGi compatible and in the Manifest.mf files the Label Import-packages does this job in OSGi environment
3. Will IVY read Manifest.MF file to locate dependencies?
So if there is a magic happening that I am not aware of, which will let Ivy Fetch all the transitive dependencies for a given module on EBR, please do share it with me.
And if there is no magic, and Ivy will not fetch all the dependencies transitively for a given Module on EBR - than how do we claim that this is IVY Compatible repository?
I am sorry - if this comes across as silly question - but I have exhausted Google searches and I could not find a single explanation on how Enterprise Bundle Repository allows IVY to do transitive dependency management without ivy.xml for any of the bundles.
Thanks for reading and responding. An early response is highly appreciated.