ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Buck, Robert" <rb...@verisign.com>
Subject RE: Relationship between branches, revisions; integration, and release.
Date Thu, 07 Jun 2007 10:58:45 GMT
Hi Xavier,

It might be that you simply missed it in all that xml code. But on the
integration side I thought the branch was handled:

 <artifact
pattern="http://localhost:20080/ivyrep/integration/[organisation]/[modul
e]/[branch]/[type]s/[artifact]-[revision].[ext]"/>

Or am I missing something?

Bob

> -----Original Message-----
> From: Xavier Hanin [mailto:xavier.hanin@gmail.com] 
> Sent: Thursday, June 07, 2007 3:22 AM
> To: ivy-user@incubator.apache.org
> Subject: Re: Relationship between branches, revisions; 
> integration, and release.
> 
> On 6/6/07, Buck, Robert <rbuck@verisign.com> wrote:
> >
> > In an earlier thread on "best repository layout" a 
> suggestion was made 
> > by Xavier where I should consider how to handle branches, 
> and also how 
> > to handle integation and releases.
> >
> > From what I can determine this comes down to two settings:
> >
> > A. the status fields in the ivys files in the repository B. the 
> > [branch] vs [release] attributes in the patterns
> >
> > Would then it make sense to do something like the following? 
> > (wondering if I pulled the concepts together correctly).
> >
> > <?xml version="1.0"?>
> > <ivyconf>
> >   <resolvers>
> >     <url name="public-resolver">
> >       <ivy
> > 
> pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > /[
> > revision]/ivys/ivy-[revision].xml"/>
> >       <artifact
> > 
> pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > /[
> > revision]/[type]s/[artifact].[ext]"/>
> >       <artifact
> > 
> pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > /[ revision]/[type]s/[artifact]-[revision].[ext]"/>
> >       <artifact
> > 
> pattern="http://localhost:20080/ivyrep/integration/[organisation]/[mod
> > ul e]/[branch]/[type]s/[artifact].[ext]"/>
> >       <artifact
> > 
> pattern="http://localhost:20080/ivyrep/integration/[organisation]/[mod
> > ul e]/[branch]/[type]s/[artifact]-[revision].[ext]"/>
> >     </url>
> >   </resolvers>
> > </ivyconf>
> >
> > Here, nothing is released unless it has a number, otherwise it is 
> > always on a branch, even if the branch were "mainline". And, we 
> > partition the ivyrep between release and integration, which 
> may make 
> > it easier to manage.
> >
> > Thoughts?
> 
> 
> This sounds like a good layout according to your development 
> rules. If you never release things on a branch it's fine. 
> There is one thing you should take into account though: the 
> way you declare your dependencies and how they evolve over 
> time. When you depend on a branch in integration, you will 
> have something like this:
> <dependency org="acme" name="foo" branch="bar" 
> rev="latest.integration"/>
> 
> The problem you might have is that if you have release which 
> is yougest than the integration version on branch 'bar', Ivy 
> will pick it up, because you have no branch information in 
> your release repository. Thus having a [branch] token in your 
> release layout could make sense, even if the value is always 
> 'mainline' for instance. This would let Ivy know that release 
> can only be used when the branch is 'mainline'.
> 
> Xavier
> 
> Thanks in advance,
> >
> > Bob
> >
> 
> 
> 
> --
> Xavier Hanin - Independent Java Consultant Manage your 
> dependencies with Ivy!
> http://incubator.apache.org/ivy/
> 

Mime
View raw message