geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Re: Spec development/release process documentation
Date Thu, 24 Jan 2008 09:49:25 GMT
David Jencks wrote:
> The specs tree seems to be in a mess with stuff in branches and waay 
> too much stuff in trunk, and many trunk poms having a xxx-SNAPSHOT 
> version where the latest tag is xxx.
>
> I've attempted to document our previous decisions on spec development 
> and release in specs/branches/README:
>
> WARNING
>
> DO NOT DEVELOP ANY SPECS UNDER BRANCHES OR COPY ANY VERSIONS INTO 
> BRANCHES
>
> ALL DEVELOPMENT MUST TAKE PLACE UNDER TRUNK
>
> ANY CODE UNDER BRANCHES IS AN ERROR AND SHOULD BE CLEANED UP AS SOON 
> AS POSSIBLE
>
> and specs/trunk/README.txt:
>
> Structure
> ========
>
> Only specs under active development should be in trunk.  Once you 
> release, delete the trunk.  If you need to make a change or bugfix, 
> copy the latest tag into trunk and work with that.
>
> Be certain that all dependencies are marked "provided"
>
> Do not copy any code into branches under any circumstances.
I'm not sure I agree with this.  The documented procedures for releasing 
involves moving the trunk version into branches using the eventual final 
release name.  Once moved, the poms are updated to remove the -SNAPSHOT 
and the release candidates are built.  Any changes resulting from the 
voting process get made in the branch, and only once the release vote 
has passed is the branched moved into the tag. 

I do like that aspect of the process, since it allows you to see at a 
glance what stage you're in.  The other principles I agree with.  All 
development should take place in trunk.  No changes should be made to 
any files once it is tags.  Branches should be reserved just for that 
transitional zone between termination of active development and 
finalization of the release.

Rick


>
> Building
> ========
>
> The is normally no root pom, so you need to build specs individually.
>
> To build you will need:
>
>  * J2SE SDK 1.5+ (http://java.sun.com/j2se/1.4.2)
>  * Maven 2.0.7+ (http://maven.apache.org)
>
> To build all changes incrementally:
>
>     mvn install
>
> To perform clean builds, which are sometimes needed after some changes 
> to the
> source tree:
>
>     mvn clean install
>
>
> Releasing
> =========
>
> Use the maven-release-plugin.
>
> Stage to your people.apache.org account or to your local machine and 
> scp to people.apache.org.
>
> After a release vote has passed use the maven-stage-plugin to transfer 
> the voted artifacts to the apache release repo.
>
>
> -----------------------------------
>
> Please review, fix, and if you think this isn't what we agreed on 
> complain.
>
> thanks
> david jencks
>
>


Mime
View raw message