Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Note: Article currently under development

This article describes the steps to follow when building a mapbuilder-lib release.

Notify developers that you are about to make a release and request users for the LICENSE file.

At least 24 hours before building a release. This should allow them to ensure their fixes are in the code base. The email should also request a list of new developers to add to the LICENSE file.

Here is a sample email.

Code Block
We will start the process of building a new Mapbuilder release in 24 hours. Could everyone please ensure that all code is committed. Once we start, please don't commit any files until the release is completed.

I will also be updating the LICENSE file. The LICENSE file assigns copywrite to all developers with commit access who have contibuted to mapbuilder. It currently lists:
<insert list from LICENSE file>

If you have commit access, and have committed code, could you please let me know your name and Login ID so that I can add you to this list.

Update the LICENSE file
Once people respond, update the LICENSE file and commit to subversion.

Code Block
svn commit -m "Added users to LICENSE" <filenames>

Check all code back into Subversion

If you have not done so already, check all the code you have been editing into Subversion.

Code Block
svn commit -m "Fixed xxx bugs" <filenames>

Update the CHANGES file

Update and commit CHANGES file with updates between the last release and this one. These files should be in the base directory.

These can be found in the Project Plan

Commit CHANGES back into SVN

Code Block
svn commit -m "Prepared CHANGES for release <release-number>" CHANGES

Set release version in properties.xml
in mapbuilder/properties.xml set the app.version value to the current release. This should look something like:

Code Block
<property name="app.version" value="1.1-rc1"/>

Commit the new build.xml back into SVN.
Get latest updates from SVN

Ensure you have the latest files from SVN.

Code Block
$ cd /<mapbuilder development directory>
$ svn update -r HEAD

 Tag the release

Tag the files that should be in the release. (Usually, not all files in SVN are included in a release).

The <tag> should be of the form: mapbuilder-lib-[number]-[status]

For example:

  • mapbuilder-lib-0_1
  • mapbuilder-lib-0_1-rc3
  • mapbuilder-lib-0_2-alpha
    Create the space for the remote tag and then copy over:
Code Block
$ mkdir -m "Creation of tag." svn+ssh://svn.codehaus.org/home/projects/mapbuilder/scm/tags/<tag>
$ mkdir -m "" svn+ssh://svn.codehaus.org/home/projects/mapbuilder/scm/tags/<tag>/mapbuilder
$ copy -rHEAD svn+ssh://svn.codehaus.org/home/projects/mapbuilder/scm/trunk/mapbuilder/mapbuilder svn+ssh://svn.codehaus.org/home/projects/mapbuilder/scm/tags/<tag>

Export the release

This may be performed as the anonymous SVN user.

No Format
$ mkdir ~/tmp
$ cd ~/tmp
$ svn export https://svn.codehaus.org/mapbuilder/tags/<tag>/mapbuilder mapbuilder

Install JSDoc dependancies
JSDoc builds javadoc like documentation for all the Mapbuilder classes and it requires a Perl module not available by default. You will know you don't have it installed because when you try to build the distribution (next step) you will see an error in your output which looks something like: "Can't locate HTML/Template.pm in @INC".
I haven't done this step in windows, but in linux do the following (as described at http://jsdoc.sourceforge.net/ ).

Code Block
sudo perl -MCPAN -e 'install HTML::Template'

Then provide default answers to all questions. (Yes, it is a pain).

Build the distribution

No Format
$ cd ~/tmp/mapbuilder/
$ ant -f build/build.xml dist

Test the release
Run through the manual testing process described at Testing.

Get signoff from mapbuilder developers
Copy the release to a tmp directory (where?) and give mapbuilder-devel 24 hours to check. Ask developers to check against the criteria at Testing.

Upload to Sourceforge
Upload all the .zip files in /dist to upload.sf.net/incoming

Make Sourceforge Release
Log into https://sourceforge.net/projects/mapbuilder/
Select: Admin->File Releases
mapbuilder-lib select "Add Release"

Input the title of the release.

Paste the Release Notes In.
Paste the Change Log In.
Select each of the 3 files.
Set processor type to "Any" and file type to "Zip" (hit update/refresh after each)
Send notice

Update release tags in JIRA
http://jira.codehaus.org/secure/project/ManageVersions.jspa?pid=11060

Set the release date for the current release. Any issues which were tagged to be fixed in this release should be moved to the next release.

Update Web Pages
Update notice at: http://docs.codehaus.org/display/MAP/Downloads and http://docs.codehaus.org/display/MAP/Home

Announce
Notify:

  • mapbuilder-announce at lists.sourceforge.net
  • mapbuilder-users at lists.sourceforge.net
  • mapbuilder-devel at lists.sourceforge.net

Notify OSGeo as per https://www.osgeo.org/content/news/submit_news.html. For significant announcements, the following URL might also be relevant: http://wiki.osgeo.org/index.php/Press_Release_Process