On 3/9/07, Nascif Abousalh-Neto <[EMAIL PROTECTED]> wrote:
Sorry I was not clear. Here is the scenario: in a large corporation, you have the concept of a major release. At that milestone, you want to ship hundreds of jars in dozens of products. Many of those jars are common dependencies accross projects, OK? The scenario is: you don't want to ship different versions of those shared dependencies - you want only the latest version of each one. So while you can allow some flexibility during the development phase (different projects using different versions), as you get closer to the release you want to enforce some "convergence" so that X weeks before launching everbody is on the same page. This is what I meant by "failing the resolve task if ivy.xml has more then X% old dependencies..." But perhaps the right answer is to just make sure everybody is building against the integration version at that point.
Even if there's nothing automated to do what you want, I think that using reports can be useful: You can for example create an ivy file for your major release, declaring dependencies on all your products. Then if you resolve the dependencies you will see in the report how many conflicts you have. You can even define your own conflict manager to make the build fail if you have too many conflicts. Or parse the xml report to create a warning if dependencies are not aligned. Is it the kind of thing you were thinking about? - Xavier Thanks,
Nascif -----Original Message----- From: Dmitriy Korobskiy [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 07, 2007 9:53 PM To: Nascif Abousalh-Neto Subject: Re: Eclipse integration Hi, Nascif Re: your e-mail from Wednesday, March 7, 2007 5:47 PM NAN> Another newbie question - does Ivy provide any support to alert the NAN> user that it is time to update the dependency versions in ivy.xml? NAN> For example, an IDE view of the repository with decorators showing which dependencies are "out-of-date"? NAN> One of the most common fears I encounter when "evangelizing" the NAN> dependency management approach is that developers will stay too NAN> long on their "island of code" while their dependencies drift away NAN> to newer and newer versions. I am trying to think of ways that NAN> would make it easier to enforce some kind of motility - and a NAN> visual indication that your dependencies are getting old would be a great help. NAN> Perhaps some way of failing the resolve task if ivy.xml has more then X% old dependencies... NAN> Does anybody has a similar use case? If you are simply trying to "get the latest version" you can use dynamic revisions in your Ivy files (for example, <dependency name="commons-logging" rev="latest.integration" conf="default"/> Perhaps, I am not quite understanding what you are trying to achieve. Dmitriy <1-127-441 @ICQ, DKroot @Skype, DKroot1 @AIM, dkroot1_at_gmail_dot_com @Google Talk>
