On 11/6/07, Jim Adams <[EMAIL PROTECTED]> 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? Xavier Jim Adams > [EMAIL PROTECTED] > Principal Systems Developer > SAS Institute > > -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/