ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <>
Subject Re: Using buildlist to generate a repo
Date Tue, 06 Nov 2007 21:21:41 GMT
On 11/6/07, Jim Adams <> wrote:
> We have a set of external resources/jars that we need to put into a repo
> to build our products. This set consists of more than one version of
> some third party jars because some of our products use different
> versions of these jars. I created ivy.xml files and build..xml files for
> each of these in a directory structure that would allow me to use
> buildlist to generate an Ant path that would allow me to publish them in
> the correct order. Another by product of this is that I will end up with
> a reproducible process that we can use to add new versions and new jars
> to the repo.
> This all seemed pretty straightforward to me so I was surprised when one
> of the publishes failed because the other jars it depended on were not
> in the repo. In examining the output I found that I had 2 versions of
> Hibernate and one version of Hibernate_tools that I needed in the repo.
> Only the latest version of Hibernate showed up in the repo.
> Hibernate_tools required the older version and thus failed to resolve.
> When I looked that the Buildlist task in ivy 2.0 (fairly current was we
> are actually using a build from the trunk to try out another bug fix) I
> found that Buildlist uses a linkedHashMap where the key is the name of
> the module. Version is lost. Thus there is no way to do what I want to
> do. Can you think of another way to do this or do I have to re-write
> buildlist to handle this case?

I'm not sure to get the full picture of what you want to do but it sounds
like what you want to do would be better achieved with the install task
rather than the buildlist task. buildlist is meant to order a set of modules
according to their dependencies, but wasn't meant to deal with multiple
versions of the same module, since often ivy files to order (which are
development ivy files) do not have version information (as opposed to
repository ivy files). The install task is meant to install a set of modules
including (or not) their dependencies, from one repo to another one. This
sounds much closer to what you want from what I understand. Is there a
limitation of the install task that prevent you from using it in your case?


Jim Adams
> Principal Systems Developer
> SAS Institute

Xavier Hanin - Independent Java Consultant

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message