You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by "Griffith, Michael *" <Mi...@fda.hhs.gov> on 2008/12/18 21:10:57 UTC

Noob Question, Transitive Dependencies?

Please forgive me if this message is posted to the mail list twice, I
did not receive any confirmation when I mailed it previously.
 
Hi everyone, I've been looking over the documentation, and something
basic is eluding me. I have a dependency setup for a library say
Hibernate.  The dependency is defined as:
 
<dependency org="hibernate" name="hibernate" rev="3.2.6"/>
 
The resolver is chained to first look in a local repository hosted by an
Apache server, then ibiblio.  I have a directory in Apache Ivy
repository for hibernate and it contains the hibernate-3.2.6-jar file,
which is resolved just fine, but how do I pull in other jars that reside
in the same directory that hibernate depends on -- (such as
javassist.jar or ejb3-persistence.jar) without explicitly listing each
jar file as a dependency?

There must be some way to do this, and I am sure it is probably
documented, but I can't find it.  Can anyone help me out with a simple
answer and short example?
 
Any help would be much appreciated.
 
Thanks in advance, 

Michael Griffith

Re: Noob Question, Transitive Dependencies?

Posted by Mitch Gitman <mg...@gmail.com>.
The publications passage you cite below would go in the ivy.xml for your
hibernate/hibernate module. The dependency element you cite below would go
in the ivy.xml for the *dependent *module. I think that's the part of the
equation you weren't getting.

On Thu, Dec 18, 2008 at 1:23 PM, Griffith, Michael * <
Michael.Griffith@fda.hhs.gov> wrote:

> Mitch,
>
> Again, I appreciate your reply, although I'm still not getting it. ;-(
>
> Would I use:
>
>  <publications>
>        <artifact name="hibernate" type="jar" />
>     </publications>
>
> Instead of:
>
> <dependency org="hibernate" name="hibernate" rev="3.2.6"/>
>
> What would the whole ivy.xml file look like?  Sorry to be a pest, but
> this seems too abstract to me.
>
> MG
>
>

RE: Noob Question, Transitive Dependencies?

Posted by "Griffith, Michael *" <Mi...@fda.hhs.gov>.
Mitch, 

Again, I appreciate your reply, although I'm still not getting it. ;-(

Would I use:

  <publications>
        <artifact name="hibernate" type="jar" />
    </publications>

Instead of:

<dependency org="hibernate" name="hibernate" rev="3.2.6"/>

What would the whole ivy.xml file look like?  Sorry to be a pest, but
this seems too abstract to me.

MG

-----Original Message-----
From: Mitch Gitman [mailto:mgitman@gmail.com] 
Sent: Thursday, December 18, 2008 3:17 PM
To: ivy-user@ant.apache.org
Subject: Re: Noob Question, Transitive Dependencies?

The distinction is that the dependency is on a *module*, say
org="hibernate," name="hibernate," rather than on an actual publication
artifact. Depending on modules provides an abstraction layer so you're
not depending on artifacts directly.

Now, it's only with configurations where you get into the cool ways of
picking and choosing which artifacts you want to publish when, and which
parts of a module you want to depend on when. Admittedly, it takes a
while for all this to sink in, but once it does, it makes perfect sense.

On Thu, Dec 18, 2008 at 12:50 PM, Griffith, Michael * <
Michael.Griffith@fda.hhs.gov> wrote:

> Mitch,
>
> Thanks for the reply. It seems as though I still have to go through 
> and add each jar as an artifact. I'm not sure what the distinction is 
> between a publication and a dependency...
>
> MG
>
> -----Original Message-----
> From: Mitch Gitman [mailto:mgitman@gmail.com]
> Sent: Thursday, December 18, 2008 2:45 PM
> To: ivy-user@ant.apache.org
> Subject: Re: Noob Question, Transitive Dependencies?
>
> If you're putting those other JARs in the same location in your Ivy 
> repository, then the easiest approach is to also make them 
> publications in the ivy.xml in that location. Something like:
>
>    <publications>
>        <artifact name="hibernate" type="jar" />
>        <artifact name="javassist" type="jar" />
>        <artifact name="ejb3-persistence" type="jar" /> ...
>        <artifact name="hibernate-src" type="source" ext="zip"/>
>    </publications>
>
> Note that when your dependency specifies name="hibernate"--it's 
> specifying the *module*, not the actual artifact. So that 
> hibernate/hibernate dependency will pick up not just the hibernate JAR

> but also the other ones, assuming you're not doing any filtering out 
> of certain artifacts based on configuration.
>
> On Thu, Dec 18, 2008 at 12:10 PM, Griffith, Michael * < 
> Michael.Griffith@fda.hhs.gov> wrote:
>
> > Please forgive me if this message is posted to the mail list twice, 
> > I did not receive any confirmation when I mailed it previously.
> >
> > Hi everyone, I've been looking over the documentation, and something

> > basic is eluding me. I have a dependency setup for a library say 
> > Hibernate.  The dependency is defined as:
> >
> > <dependency org="hibernate" name="hibernate" rev="3.2.6"/>
> >
> > The resolver is chained to first look in a local repository hosted 
> > by an Apache server, then ibiblio.  I have a directory in Apache Ivy

> > repository for hibernate and it contains the hibernate-3.2.6-jar 
> > file,
>
> > which is resolved just fine, but how do I pull in other jars that 
> > reside in the same directory that hibernate depends on -- (such as 
> > javassist.jar or ejb3-persistence.jar) without explicitly listing 
> > each
>
> > jar file as a dependency?
> >
> > There must be some way to do this, and I am sure it is probably 
> > documented, but I can't find it.  Can anyone help me out with a 
> > simple
>
> > answer and short example?
> >
> > Any help would be much appreciated.
> >
> > Thanks in advance,
> >
> > Michael Griffith
> >
>

Re: Noob Question, Transitive Dependencies?

Posted by Mitch Gitman <mg...@gmail.com>.
The distinction is that the dependency is on a *module*, say
org="hibernate," name="hibernate," rather than on an actual publication
artifact. Depending on modules provides an abstraction layer so you're not
depending on artifacts directly.

Now, it's only with configurations where you get into the cool ways of
picking and choosing which artifacts you want to publish when, and which
parts of a module you want to depend on when. Admittedly, it takes a while
for all this to sink in, but once it does, it makes perfect sense.

On Thu, Dec 18, 2008 at 12:50 PM, Griffith, Michael * <
Michael.Griffith@fda.hhs.gov> wrote:

> Mitch,
>
> Thanks for the reply. It seems as though I still have to go through and
> add each jar as an artifact. I'm not sure what the distinction is
> between a publication and a dependency...
>
> MG
>
> -----Original Message-----
> From: Mitch Gitman [mailto:mgitman@gmail.com]
> Sent: Thursday, December 18, 2008 2:45 PM
> To: ivy-user@ant.apache.org
> Subject: Re: Noob Question, Transitive Dependencies?
>
> If you're putting those other JARs in the same location in your Ivy
> repository, then the easiest approach is to also make them publications
> in the ivy.xml in that location. Something like:
>
>    <publications>
>        <artifact name="hibernate" type="jar" />
>        <artifact name="javassist" type="jar" />
>        <artifact name="ejb3-persistence" type="jar" /> ...
>        <artifact name="hibernate-src" type="source" ext="zip"/>
>    </publications>
>
> Note that when your dependency specifies name="hibernate"--it's
> specifying the *module*, not the actual artifact. So that
> hibernate/hibernate dependency will pick up not just the hibernate JAR
> but also the other ones, assuming you're not doing any filtering out of
> certain artifacts based on configuration.
>
> On Thu, Dec 18, 2008 at 12:10 PM, Griffith, Michael * <
> Michael.Griffith@fda.hhs.gov> wrote:
>
> > Please forgive me if this message is posted to the mail list twice, I
> > did not receive any confirmation when I mailed it previously.
> >
> > Hi everyone, I've been looking over the documentation, and something
> > basic is eluding me. I have a dependency setup for a library say
> > Hibernate.  The dependency is defined as:
> >
> > <dependency org="hibernate" name="hibernate" rev="3.2.6"/>
> >
> > The resolver is chained to first look in a local repository hosted by
> > an Apache server, then ibiblio.  I have a directory in Apache Ivy
> > repository for hibernate and it contains the hibernate-3.2.6-jar file,
>
> > which is resolved just fine, but how do I pull in other jars that
> > reside in the same directory that hibernate depends on -- (such as
> > javassist.jar or ejb3-persistence.jar) without explicitly listing each
>
> > jar file as a dependency?
> >
> > There must be some way to do this, and I am sure it is probably
> > documented, but I can't find it.  Can anyone help me out with a simple
>
> > answer and short example?
> >
> > Any help would be much appreciated.
> >
> > Thanks in advance,
> >
> > Michael Griffith
> >
>

RE: Noob Question, Transitive Dependencies?

Posted by "Griffith, Michael *" <Mi...@fda.hhs.gov>.
Mitch, 

Thanks for the reply. It seems as though I still have to go through and
add each jar as an artifact. I'm not sure what the distinction is
between a publication and a dependency...

MG 

-----Original Message-----
From: Mitch Gitman [mailto:mgitman@gmail.com] 
Sent: Thursday, December 18, 2008 2:45 PM
To: ivy-user@ant.apache.org
Subject: Re: Noob Question, Transitive Dependencies?

If you're putting those other JARs in the same location in your Ivy
repository, then the easiest approach is to also make them publications
in the ivy.xml in that location. Something like:

    <publications>
        <artifact name="hibernate" type="jar" />
        <artifact name="javassist" type="jar" />
        <artifact name="ejb3-persistence" type="jar" /> ...
        <artifact name="hibernate-src" type="source" ext="zip"/>
    </publications>

Note that when your dependency specifies name="hibernate"--it's
specifying the *module*, not the actual artifact. So that
hibernate/hibernate dependency will pick up not just the hibernate JAR
but also the other ones, assuming you're not doing any filtering out of
certain artifacts based on configuration.

On Thu, Dec 18, 2008 at 12:10 PM, Griffith, Michael * <
Michael.Griffith@fda.hhs.gov> wrote:

> Please forgive me if this message is posted to the mail list twice, I 
> did not receive any confirmation when I mailed it previously.
>
> Hi everyone, I've been looking over the documentation, and something 
> basic is eluding me. I have a dependency setup for a library say 
> Hibernate.  The dependency is defined as:
>
> <dependency org="hibernate" name="hibernate" rev="3.2.6"/>
>
> The resolver is chained to first look in a local repository hosted by 
> an Apache server, then ibiblio.  I have a directory in Apache Ivy 
> repository for hibernate and it contains the hibernate-3.2.6-jar file,

> which is resolved just fine, but how do I pull in other jars that 
> reside in the same directory that hibernate depends on -- (such as 
> javassist.jar or ejb3-persistence.jar) without explicitly listing each

> jar file as a dependency?
>
> There must be some way to do this, and I am sure it is probably 
> documented, but I can't find it.  Can anyone help me out with a simple

> answer and short example?
>
> Any help would be much appreciated.
>
> Thanks in advance,
>
> Michael Griffith
>

Re: Noob Question, Transitive Dependencies?

Posted by Mitch Gitman <mg...@gmail.com>.
If you're putting those other JARs in the same location in your Ivy
repository, then the easiest approach is to also make them publications in
the ivy.xml in that location. Something like:

    <publications>
        <artifact name="hibernate" type="jar" />
        <artifact name="javassist" type="jar" />
        <artifact name="ejb3-persistence" type="jar" />
...
        <artifact name="hibernate-src" type="source" ext="zip"/>
    </publications>

Note that when your dependency specifies name="hibernate"--it's specifying
the *module*, not the actual artifact. So that hibernate/hibernate
dependency will pick up not just the hibernate JAR but also the other ones,
assuming you're not doing any filtering out of certain artifacts based on
configuration.

On Thu, Dec 18, 2008 at 12:10 PM, Griffith, Michael * <
Michael.Griffith@fda.hhs.gov> wrote:

> Please forgive me if this message is posted to the mail list twice, I
> did not receive any confirmation when I mailed it previously.
>
> Hi everyone, I've been looking over the documentation, and something
> basic is eluding me. I have a dependency setup for a library say
> Hibernate.  The dependency is defined as:
>
> <dependency org="hibernate" name="hibernate" rev="3.2.6"/>
>
> The resolver is chained to first look in a local repository hosted by an
> Apache server, then ibiblio.  I have a directory in Apache Ivy
> repository for hibernate and it contains the hibernate-3.2.6-jar file,
> which is resolved just fine, but how do I pull in other jars that reside
> in the same directory that hibernate depends on -- (such as
> javassist.jar or ejb3-persistence.jar) without explicitly listing each
> jar file as a dependency?
>
> There must be some way to do this, and I am sure it is probably
> documented, but I can't find it.  Can anyone help me out with a simple
> answer and short example?
>
> Any help would be much appreciated.
>
> Thanks in advance,
>
> Michael Griffith
>