openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: Questions about cutting another snapshot release
Date Tue, 31 Oct 2006 17:49:39 GMT
Hi Kevin,

I'd suggest writing down the process for releasing so others can  
follow what is going on. The questions below will repeat for each  
release, so we might as well get started.

In the JDO project, we put a file HowToRelease.txt into the top level  
(parallel to site, trunk, branches) that goes through what is in the  
trunk, how to create the branch, and a bit of policy. That is, when  
the community is ready for a release or shapshot, create a branch, etc.

On Oct 31, 2006, at 8:00 AM, Kevin Sutter wrote:

> This is probably most directed at Marc since he did the first snapshot
> release, but others may have input as well...
> I'm looking to cut another snapshot release so that we can include the
> updates for the WebSphere ExtendedJTATransaction interface, along  
> with other
> changes that have recently been integrated.  I was looking at what  
> Marc did
> so that I could follow suit, but I have a few questions.
> 1.  Shouldn't the LICENSE.txt file contain the Apache 2.0 License  
> text?  I
> checked a couple of other Apache projects and they include the  
> complete
> Apache license.  We probably should as well, unless there's some  
> rule as to
> what an incubating project should include versus a graduated Apache  
> project.

I agree that the LICENSE.txt should contain the license text. There  
should not be any difference between an incubating and a graduated  
> 2.  Our HEAD is currently at version 0.9.6.  The only SVN Revision  
> that is
> available (438338) in the repository

I'm confused by the terminology. I just updated to revision 469550  
and the pom.xml in trunk and trunk/* projects are all 0.9.6. Could  
you be more precise in terms of what has 0.9.0 versus the trunk?

> has version 0.9.0 in the
> pom.xml files.  I thought we had created a
> 0.9.5 at one time, but I can no longer find it.

Anyway, I think the snapshot might have fallen victim to the recent  
physical move of It would be an interesting  
experiment if we could actually duplicate the 0.9.5 that was created.

> Anyway, I'm assuming that
> we will want to cut a 0.9.6 version and then HEAD becomes 0.9.7.

Sounds like a plan.

> 3.  I'm also assuming that we will want to name this revision  
> something like
> 0.9.6-incubating-SNAPSHOT so that it is easier to identify (rather  
> than
> relying on the SVN revision number).
> 4.  Should we just be creating a Tagged version (vs a Branch)?  I  
> believe a
> Tagged version can always be converted into a Branch, if support is
> required, so I would think a Tag should be sufficient.

I'm not an expert in svn, so this might be totally wacky.

Both tags and branches use the same svn command, right? svn copy ...

I think of a branch as a living thing that you can continue to modify  
as you try to create a release, and might continue to evolve to  
maintain the code or even to create a branch from the branch. I think  
of a tag as a point in time that you never actually change. You  
branch to create a release, you tag to mark the point at which you  
created the final bits out the door.

So I'd think we should create a branches/0.9.6 now from the trunk and  
start the snapshot release process on the branch. And change the  
trunk to be 0.9.7. Once we have the branch 0.9.6 in shape, tag it.

The branch process is more interesting once we create real releases  
instead of snapshots. Then, when we create a branches/1.0, we can  
internally mark the poms as 1.0-beta. Alternatively, we can create a  
branches/1.0-beta. I don't know which of these makes more sense.  
Maybe from the branches/1.0 we create the 1.0-alpha, 1.0-beta, 1.0- 
rc1, 1.0-rc2, ... 1.0, each time we put out a release for testing we  
tag the current branch.

All of this can be done without disturbing the trunk for new  
development experiments. And if we want to maintain 1.0, create a  
branches/1.0.1 and start all over with the -beta, -rc1 etc.
> 5.  Are we making previous build versions available to our  
> "customers"?  I
> see where we are providing nightly builds for the current 0.9.6  
> version, but
> I don't see 0.9.0 or 0.9.5 builds.  If we provide the SVN  
> Revisions, the
> previous versions can always be built if necessary.  Maybe that's
> sufficient.  We also have the maven repository.

I don't have sufficient feedback to know whether "customers" at this  
point can just use the nightly. That's sort of what the SNAPSHOT  
designation in maven is for. I think our builds got lost in the move  
of, but in future I think it's good to keep them  
around. Which means that we need to maintain instructions on how to  
build them.
> Once we get these incubation release steps repeatable,

The only way we know is to document it and have people try to repeat  

> then a wiki page
> would probably be worthwhile.

So I'd recommend starting the wiki page now. Should it be put under  
the Development navbar called "Release Process"?

> I currently don't seem to have update access
> to the cwiki, but that can be resolved.

I can update pages but I don't know how to add a navbar.

> Anything else I am forgetting?
> Thanks,
> Kevin

Craig Russell

View raw message