On Thu, Feb 19, 2009 at 9:24 PM, Alexis Midon <[email protected]> wrote:
> Let's base the discussion on a real use case, so we can be specific: > I'm currently developing a new feature for ODE. This development is done in > a separate branch named FOO based on version 1.3.0-SNAPSHOT. When I'll > think > my development is good enough for testing, I'd like to release and share > this version of my branch. > But if we look at the buildfiles, both branches, 1.X and FOO, are about to > release with the same version: 1.3.0. This is really confusing and does not > denote the code differences > > so how should we handle this case? > Different branches, different base names. One is ODE, the other is ODE-FOO. Keeps life simple :) > > A few of points: > Personnally I think the SNAPSHOT suffix is completely useless. To me, a > snapshot is not different from a release and is just additional complexity. > A 3-digit version is enough. > I'm fine with snapshot as long as it stays on your machine. Make it just an optional marker to know it's a local build. You should be free to not use it though. > > Qualifiers should be supported obviously. But they do not solve our case: > parallel developments. the conventiont is that 1.3.0 is newer than > 1.3.0-FOO. And this describes a sequence anyway. > > Assaf has suggested that the package name should discriminate parallel > developments. The branch FOO should release artifacts named like > ode-compiler-FOO-1.3.0, while 1.x (the main branch) releases > ode-compiler-1.3.0. The difference is clearly stated and do not interfer > with version comparaison. > I'd agree although I would do ode-FOO-compiler-1.3.0. First because FOO qualifies the whole stuff, not just a module and second because it's easier to change: the root definition doesn't have any directory associated with it. Matthieu > > > On Mon, Feb 9, 2009 at 4:53 PM, Alex Boisvert <[email protected]> > wrote: > > > Oh, right, you mean the "qualifier". > > > > Here's what Better Builds with > > Maven<http://repo.exist.com/dist/maestro/1.7.0/BetterBuildsWithMaven.pdf > > >says, > > > > With regard to ordering, the elements are considered in sequence to > > determine which is newer - first by major version, second - if the major > > versions were equal - by minor version, third by bug fix version, fourth > by > > qualifier (using string comparison), and finally, by build number. A > > version > > that contains a qualifier is older than a version without a qualifier; > for > > example, 1.2-beta is older than version 1.2. A version that also contains > a > > build number is considered newer than a version without a build number; > > for example, 1.2-beta-1 is newer than 1.2-beta. > > > > But my point still stands, Buildr should drop the SNAPSHOT qualifier (and > > only SNAPSHOT) during a release. > > > > alex > > > > > > > > On Mon, Feb 9, 2009 at 4:36 PM, Assaf Arkin <[email protected]> wrote: > > > > > > > > > > > On Feb 9, 2009, at 4:16 PM, Alex Boisvert <[email protected]> > wrote: > > > > > > Ugh? If beta is not a release but a pre-release, how do you > > pre-release > > >> a > > >> beta? > > >> > > > > > > Then maybe it's called something else, either way the fourth part is > > > constrained. > > > > > > > > > > > > > > > > > >> > > >> > > >> On Sun, Feb 8, 2009 at 10:43 PM, Assaf Arkin <[email protected]> > wrote: > > >> > > >> On Fri, Feb 6, 2009 at 2:51 PM, Alex Boisvert <[email protected]> > > >>> wrote: > > >>> > > >>> The Maven conventions don't restrict the version to only numbers, so > > >>>> > > >>> yeah, > > >>> > > >>>> buildr should only strip a "-SNAPSHOT" suffix. > > >>>> > > >>> > > >>> > > >>> Actually it does: releases must end with numbers, pre-releases (rc, > > beta, > > >>> etc) with alphanumerics, and therefore 0 by virtue of being a release > > is > > >>> higher than beta2. OSGi uses alphanumerics on the fourth part, other > > >>> package managers have their own conventions. Buildr doesn't follow > > >>> anything > > >>> more complicated than numerical. > > >>> > > >>> Assaf > > >>> > > >>> > > >>> > > >>> > > >>>> > > >>>> alex > > >>>> > > >>>> > > >>>> On Fri, Feb 6, 2009 at 2:35 PM, Matthieu Riou < > [email protected] > > >>>> > > >>>>> wrote: > > >>>>> > > >>>> > > >>>> Hi guys, > > >>>>> > > >>>>> The logic in release strips out any letter that comes after the > last > > >>>>> > > >>>> ('.' > > >>> > > >>>> + > > >>>> > > >>>>> digit) in a project release number. So something like 1.2-beta will > > >>>>> actually > > >>>>> be released as 1.2. Sounds to me like a bug but I just wanted to > > check > > >>>>> before that it wasn't by design, an adoption of the 'no letter in > > >>>>> > > >>>> releases' > > >>>> > > >>>>> RubyGem doctrine. > > >>>>> > > >>>>> Given that the actual goal is only to strip an ending "-SNAPSHOT", > > the > > >>>>> > > >>>> fix > > >>>> > > >>>>> is pretty straightforward. > > >>>>> > > >>>>> Cheers, > > >>>>> Matthieu > > >>>>> > > >>>>> > > >>>> > > >>> > > >
