[Mondrian] Mondrian branch & release process

Julian Hyde jhyde at pentaho.com
Sat Jun 21 18:44:53 CDT 2008


Will,
 
I have created a mondrian branch that we can make release 3.0.4 from. In
change 11204, I have initially copied over as of change 11016 (the change
corresponding to the 3.0.3 release).
 
Can you check through the changes between 11016 and now and see whether
there are some bug fixes from the main line we want to include in 3.0.4? We
can do this by selectively integrating files. It's not hard - and perforce
remembers what revisions we have integrated to/from so it's difficult to
screw things up.
 
Branching details
 
The path is //open/mondrian-release/3.0 (meaning that we could make a
succession of releases 3.0.4, 3.0.5 etc. from this branch). Perforce doesn't
have branches as such (that path is just a path), but the 'p4 branch'
command allows you to define a mapping between two subdirectories that you
want to integrate between on a regular basis.
 
I have done the following:
 
# Create the branch specification
p4 branch mondrian_dev_to_release_3.0
 
# Get the files that are in the 3.0.3 release
p4 sync //open/mondrian/... at 11016
 
# Integrate according to the branch specification, that is, each file under
# //open/mondrian is mapped to the corresponding file under
# //open/mondrian-release/3.0.
p4 integrate -t -b mondrian_dev_to_release_3.0
 
If you want to integrate bug fixes back to main line, you can use the '-r'
flag to integrate in the reverse direction:
 
p4 integrate -t -b mondrian_dev_to_release_3.0 -r
 
You will need to issue 'p4 resolve' to resolve any conflicts before
submitting the change.
 
Developing against a branch
 
Type 'p4 client' and include the line
 
    //open/mondrian-release/3.0/... //<yourclient>/mondrian-3.0/...
 
in your client specification. Keep the existing line
 
    //open/mondrian/... //<yourclient>/mondrian/...
 
as it will make integrating between the branches possible.
 
 
To make a mondrian release
 
>From memory, here are the steps to create a mondrian release. I suppose we
should wikify these once we have debugged the process.

*	Make sure that the regression suite succeeds. 

*	Make sure that jpivot builds from source against the latest mondrian
source code. 

*	Make sure that all bugs/RFEs flagged 'must fix this release' are
fixed. 

*	Change the release number in build.xml. 

*	Modify buildJdk16.{sh,bat} to point to your JDK 1.6 home. 

*	Create CHANGES.txt using 'p4 changes -l ...'. For a point release
such as this, it should probably include changes since the first production
major release (i.e. 3.0.3). 

*	Create or modify RELEASE.txt. Keep lines to 60 chars wide (SF.net
uses a huge font for some reason). Be sure to include details of public APIs
you have changed. 

*	Do a 'p4 diff ...' and 'p4 diff -se ...' to make sure that
mondrian.properties, build.properties, log4j.properties etc. are not
modified. 

*	Using JDK 1.5 (not 1.4 or 1.6), do 'ant clean' then 'ant release'.
This will create files lib/mondrian-<release>.zip and
lib/mondrian-<release>-derby.zip. 

*	Do one or two test installs from these files. Make sure that jpivot
and xmla server work. 

*	Create a release at sf.net. Upload CHANGES.txt and RELEASE.txt, and
the two .zip files above. Set each file type to '.zip file' and 'Platform
independent'. Check the box to notify people. 

*	Send a message announcing the release to developers. 

*	Run doc/doc2web.sh to post the latest documentation (including
javadoc) to http://mondrian.pentaho.org. You will need a login to that site
(ask Lee) and set up ssh key pairs so you can ssh and scp without entering
passwords. 

*	Work with Andreas to make a new jpivot release if necessary.

Julian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.157946-web2.www.pentaho.org/pipermail/mondrian/attachments/20080621/f1a46bf1/attachment.html


More information about the Mondrian mailing list