Chris, My practice is to never explicitly use the revConstraint attribute-dynamic revision requirements can be put in the rev attribute, and in the default resolve mode, the revConstraint attribute is ignored; on the other hand, if the revConstraint attribute is not specified, it defaults to being the same as the rev attribute, so if you use the dynamic resolve mode, it should still work fine if only the rev attribute is specified. So I would replace the spring dependency in your ivy file with this:
<dependency org="spring" name="context" rev="2.0.+" conf="compile" /> In my experience, that has always worked fine, so I would say that if you're having problems with it, it's probably an issue in your ivy settings or the repository rather than with the ivy file itself. I would start by removing defaultResolveMode="dynamic" from your ivysettings.xml file-the dynamic resolve mode can cause problems with build reproducibility, and from your description of what you're trying to do, I'm pretty sure you do not need to use it. Doug Glidden Software Engineer The Boeing Company [email protected] -----Original Message----- From: Nappin, Chris (IT Services) [mailto:[email protected]] Sent: Wednesday, October 21, 2009 04:34 To: [email protected] Subject: RE: How to use dynamic revisions Hi, My project's ivy.xml file is as follows: <ivy-module version="2.0"> <info organisation="example" module="example"/> <configurations> <conf name="compile" description="Libs used at compilation time"/> <conf name="runtime " description="Libs used at runtime"/> <conf name="test" description="Libs used to compile and run tests"/> </configurations> <dependencies> <dependency org="spring" name="context" rev="2.0.8" revConstraint="2.0.+" conf="compile"/> ..etc.. </dependencies> </ivy-module> And the module descriptor for this dependency is as follows: <?xml version="1.0" encoding="UTF-8"?> <ivy-module version="1.0" xmlns:m="http://ant.apache.org/ivy/maven"> <info organisation="spring" module="context" revision="2.0.8"/> <configurations> <conf name="compile"/> <conf name="runtime"/> </configurations> <publications> <artifact name="spring-context" type="jar" ext="jar"/> </publications> <dependencies> ..etc.. </dependencies> </ivy-module> I was following the documentation (http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.h tml#revision) which I read to mean exact version numbers must go in "rev" attributes, and dynamic ones in "revConstraint" attributes. Anyway, I've tried both "rev" and "revConstraint" and they both fail with the same message. If I use an exact number (e.g. 2.0.8) then it works fine. Best Regards, Chris Nappin Technical Architect, Application Services Mob: 07824 473044 -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Joshua Tharp Sent: 20 October 2009 17:21 To: [email protected] Subject: Re: How to use dynamic revisions Where are you putting revConstraint="2.0.+"? To use dynamic versions, I put rev="2.0.+" in my ivy.xml file. On Tue, Oct 20, 2009 at 8:53 AM, Nappin, Chris (IT Services) < [email protected]> wrote: > Hi, > > I have a very simple ivy setup working (using exact version numbers > for everything). I'm now trying to move to dynamic revision resolution, > but it isn't working. > > My ivy-settings.xml contains the following: > > <settings defaultResolver="internal" defaultResolveMode="dynamic" > validate="true"/> > > My ant build.xml contains the following: > > <ivy:retrieve pattern="${libs}/[conf]/[artifact]-[revision].[ext]" /> > > My local repository contains artifacts such as "spring" (org) "context" > (module) "2.0.8" (revision). > > When I reference this dependency using rev="2.0.8", it is found. When I > use revConstraint="2.0.+" it fails as follows: > > [ivy:retrieve] > [ivy:retrieve] :: problems summary :: > [ivy:retrieve] :::: WARNINGS > [ivy:retrieve] module not found: spring#context;2.0.+ > [ivy:retrieve] ==== internal: tried > [ivy:retrieve] > C:\limaloa-svn\code\trunk/ivy-repo/spring/context/ivy.xml > [ivy:retrieve] [work...@internal] > [ivy:retrieve] -- artifact spring#context;2.0.+!context.jar: > [ivy:retrieve] > C:\limaloa-svn\code\trunk/ivy-repo/spring/context/context-[rev > ision].jar > [ivy:retrieve] :::::::::::::::::::::::::::::::::::::::::::::: > [ivy:retrieve] :: UNRESOLVED DEPENDENCIES :: > [ivy:retrieve] :::::::::::::::::::::::::::::::::::::::::::::: > [ivy:retrieve] :: spring#context;2.0.+: not found > [ivy:retrieve] :::::::::::::::::::::::::::::::::::::::::::::: > [ivy:retrieve] > [ivy:retrieve] > [ivy:retrieve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS > > Best Regards, > > Chris Nappin > Technical Architect, Application Services > OPSERV - IT Services > Mob: 07824 473044 > Part of the Capita Group plc www.capita.co.uk <http://www.capita.co.uk/> > www.capita-its.co.uk <http://www.capita.co.uk/> > > 'Evolving a great Operational IT Service through OPSERV' > > > > This email and any attachment are intended solely for the addressee, are > strictly confidential and may be legally privileged. If you are not the > intended recipient any reading, dissemination, copying or any other use or > reliance is prohibited. If you have received this email in error please > notify the sender immediately by email and then permanently delete the > email. Copyright reserved. > > All communications, incoming and outgoing, may be recorded and are > monitored for legitimate business purposes. > > The security and reliability of email transmission cannot be guaranteed. It > is the recipient's responsibility to scan this e-mail and any attachment for > the presence of viruses. > > The Capita Group plc and its subsidiaries ("Capita") exclude all liability > for any loss or damage whatsoever arising or resulting from the receipt, use > or transmission of this email. > > Any views or opinions expressed in this email are those of the author only. This email has been scanned for all viruses by the MessageLabs SkyScan service. This email and any attachment are intended solely for the addressee, are strictly confidential and may be legally privileged. If you are not the intended recipient any reading, dissemination, copying or any other use or reliance is prohibited. If you have received this email in error please notify the sender immediately by email and then permanently delete the email. Copyright reserved. All communications, incoming and outgoing, may be recorded and are monitored for legitimate business purposes. The security and reliability of email transmission cannot be guaranteed. It is the recipient?s responsibility to scan this e-mail and any attachment for the presence of viruses. The Capita Group plc and its subsidiaries ("Capita") exclude all liability for any loss or damage whatsoever arising or resulting from the receipt, use or transmission of this email. Any views or opinions expressed in this email are those of the author only.
