Java CoG Kit Guide to the Java CoG Kit Release Process for Developers

Gregor von Laszewski

Software Version: 4_1_3
Url: http://www.cogkit.org/release/4_1_3/manual/release-dev.pdf
Url: http://www.cogkit.org/release/4_1_3/manual/release-dev/release-dev.html
Last update: September 3, 2005

Contents

1 About this Document
 1.1 Viewing
 1.2 Format
2 Registration
3 Introduction
4 Decide for a release
5 Code Freeze
6 Naming the Version
7 Tagging the CVS archive
8 Generate a release bundle
9 Update the Wiki
10 Generate the Web pages
 10.1 Set the current directory
11 Generate the Documentation
 11.1 Checkout
 11.2 Compile and Publish
12 Update
13 Selective update
14 Announcements
 14.1 Anouncement Opportunities
  14.1.1 freshmeat
15 Other Announcements
16 Release tags: jglobus
Appendix
A Documentation
 A.1 Java CoG Kit Guides
 A.2 Java CoG Kit Guides Under Construction
 A.3 API Documentation
B Downloads
C Availability of the Document
D Bugs
E Administrative Contact

 

1 About this Document

This document includes basic information about the Java CoG Kit release process.

1.1 Viewing

The best way to read this document is to use the PDF version and read it with Adobe Acrobat Reader. Please make sure you configure Adobe Acrobat Reader appropriately so you can follow hyperlinks. This is the case if you follow the default installation. Acrobat Reader is available at http://www.adobe.com/products/acrobat/readermain.html. Because the hyperlinks are not available in the printed form of this manual and we support saving our environment we strongly discourage printing this document.

We recommend that you save this manual locally on your machine and use Acrobat Reader. This has the advantage that you do not lose your anchor points while switching back and forth between different hyperlinks. An HTML version of this manual is planed, but not available yet.

1.2 Format

We have augmented the document with some comments at places where we found issues. Our intend is to address these issues in a future release. The comments are marked by the icon  to do  and the name of the person that will work on the removal of the issue.

2 Registration

Please be a team player and support us indirectly by registering with us or reporting your use of the Java CoG Kit. Although this software is free, we still need to justify to our funders the usefulness of the projects. If you want to help us with our efforts please take a few seconds to complete this information. We do not use this information for other purposes. If you have special needs or concerns please contact gregor@mcs.anl.gov. The registration form can filled out in a variety of formats. The online form can be found at

http://www.cogkit.org/register

This form is available also as ASCII text at

http://www.cogkit.org/register/form.txt

which you can FAX to

Gregor von Laszewski, Fax: 630 252 1997

3 Introduction

As we are an open source project, we like to present you with some information about our release process. This is important as we like you to contribute to our efforts and help us streamlining the process and be part of it.

The following list specifies the aproximate steps of our release process.

  1. decide that a release is necessary
  2. decide for a relase version
  3. freeze the code, documentation, and Web development
  4. derive a release tag for the CVS for the release version.
  5. tag the CVS with a RC version
  6. do a release candidate of the release and verify that the dryrun of the release works. This is done in a preliminary non public release space.

    1. generate the new bundles
    2. generate the new web page
    3. generate the new documentation
    4. test the release candidate
    5. goto Step 4 in case of failure
  7. tag the CVS archives
  8. remove the release candidate tags
  9. publish the new code
  10. add to the old release page the message that a new version has been released
  11. publish the documentation
  12. update the Web page
  13. test the release
  14. make announcements

4 Decide for a release

We will make a joint decission in the Java CoG Kit team when a release is necessary. Usually, we expect one major release per year, but in case major upgrades are done we will make additional releases available. Additionally, we like to allign our release wit the Globus Toolkit releases. However, in the past these releases have been irregular. Once a toolkit is release we attempt our best to produce a Java CoG Kit release within two month.

Even numbers at the end are considered to be production releases. Uneven numbers are considered development versions.

In the year 2005 we are currently planing the following releases:

(done) Mar: Java CoG Kit version 4.0.a
(done) June: A non public Java CoG kit version 4.0.1 for friends
(done) July: Java CoG Kit version 4.1.2
Oct: Java CoG Kit version 4.2

More information about the release plans are formulated within our development wiki http://www.cogkit.org/dev/index.php/Release_Status

5 Code Freeze

Before a release tag is assigned to the CVS a development freeze is announced to the development list at

gridnauts@globus.org and developers@cogkit.org

6 Naming the Version

The Java CoG Kit version number follows currently a simple pattern. We distinguish major, minor, and tiny release numbers. Major release numbers are done when major changes occur.

<major>.<minor>.<tiny>  
<major>:= [4-9][0-9]*  
<minor>:= [0-9]+  
<tiny>:= [a-d]*[1-9][0-9]*

These numbers are also tags within the CVS and can be used to download the code.

The tags are created as follows:

cog_<major>_<minor>_<tiny>

However, not every tag will be distributed as packages. All other versions must be retrieved from CVS at this time.

7 Tagging the CVS archive

As we have a number of CVS modules we need to carefully tag them. This should only be done by Gregor and Mike and should be coordinated with them. Below we give the example on how to tag the release for the version 4_1_3.

USER=‘whoami‘
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  www
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  doc
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  src/cog
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  src/tools
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  src/jglobus-fx
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  src/matlab
cvs -d$USER@cvs.cogkit.org:/cvs/cogkit rtag cog_4_1_3  jglobus

1

8 Generate a release bundle

Release file are generated using the makefile in src/cog/bin/release. In order to get a release going, do the following:

9 Update the Wiki

We need to update our Wiki to reflect the new release. The following pages on the Wiki need to be modified:

10 Generate the Web pages

_________________________________________________________________________________________
 to do 

Gregor: need to spend more time on cleaning the web pages. Wwe may have a significant number of outdated pages on globus.org that need to be revisited. We have not made sure if all updates are in the CVS yet. Have some pages been modified directly such as the php scripts?
___________________________________________________________________________________________________________________________________

The Java CoG Kit Web pages can be checked out as follows where where cog_4_1_3is the release tag

  1. cvs -d:pserver:anonymous@cvs.cogkit.org:/cvs/cogkit login
  2. cvs -d:pserver:anonymous@cvs.cogkit.org:/cvs/cogkit checkout -r cog_4_1_3  www/www-cogkit-org
  3. cvs -d:pserver:anonymous@cvs.cogkit.org:/cvs/cogkit checkout -r cog_4_1_3  www/www-cogkits-org
  4. cvs -d:pserver:anonymous@cvs.cogkit.org:/cvs/cogkit checkout -r cog_4_1_3  www/www-globus-org-cog

www-cogkit-org
This Web page contains the main cogkit web page at http://www.cogkit.org. However we maintain the current contents mostly in the Wiki at http://www.cogkits.org/wiki
www-cogkits-org
http://www.cogkits.org is just a forward link to http://www.cogkits.org
www-globus-org-cog
This is the very first CoG Kit web page which points mostly to http://www.cogkit.org

Most updates should be made on the Wiki. You can apply for accounts on the Wiki with gregor@mcs.anl.gov. _____________________________________________________________________________________________________________________________________________

 to do 

Gregor: write about make publish
___________________________________________________________________________________________________________________________________

10.1 Set the current directory

The Web page contains a soft link to the current release. This softlink needs to be updated To do so

11 Generate the Documentation

The Java CoG Kit guides can be easily generated form scratch by using the following commands:

11.1 Checkout

First check out the documentation


1  #! /bin/bash
2  TAG=cog_‘head -1 ../VERSION.txt‘
3  CVS=‘whoami‘@cvs.cogkit.org:/cvs/cogkit
4  mkdir cogkit
5  cd cogkit
6  cvs -d:pserver:$CVS login
7  cvs -d:pserver:$CVS checkout -r $TAG manual/guide
8  cvs -d:pserver:$CVS checkout -r $TAG papers/bib

11.2 Compile and Publish

Now you can compile the code. We assume you have changed to the cogkit directory and have checked out the code correctly


1  cd manual/guide
2  make clean
3  make release
4  make publish

12 Update


1  cd manual/guide
2  emacs VERSION.txt # change appropiatly
3  make local

inspect changes.

13 Selective update


1  cd <guide dir>
2  make local
3  inspect by browsing guide.pdf
4  cd ..
5  see Section Compile and Publish


1  emacs VERSION.txt
2  
3  publish a new index
4  make index
5  make publish
6  
7  publish just one a new guide
8  make clean
9  cd <guidedir>
10  make remote
11  cd ..
12  make publish
13  
14  publish all guides
15  make clean
16  make remote
17  make publish
18  

14 Announcements

The following is a suggestion for an announcement:

The CoG Kit team is happy to announce a new version of the Java CoG Kit. The version is 4_1_3. More information about this version can be found at

http://www.cogkit.org/release/4_1_3

Some of the features included in this release are:

This release was tested with Java version 1.4.2.

14.1 Anouncement Opportunities

14.1.1 freshmeat

The information for freshmeat is as follows:

Generic project information  
 
Section to submit to:  
Unix [x]  
 
Full project name:  
Java CoG Kit  
 
 
Short project name:  
cogkit  
 
 
Full description:  
The Java CoG Kit is provides convenient access to Grid  
middleware through the Java framework. It contains a Grid  
workflow programming paradigm, Grid middleware abstractions,  
a Grid shell, and graphical components. It can be used to  
build grid portals.  
 
It is most useful for Grid users that focus on file transfer, job  
submission, and authentication.  
 
Short description:  
Simple access to Grid workflows and middleware through Java  
 
Name of author: Gregor von Laszewski & CoG Team  
 
Email address:  
gregor@mcs.anl.gov  
 
Default branch information  
 
Branch name:  
Branch description:  
 
License:  
Apache License  
 
Homepage:  
http://www.cogkit.org  
 
Tar/GZ:  
Tar/BZ2:  
Zip:  
 
Changelog:  
http://www.cogkit.org/viewcvs/viewcvs.cgi/src/cog/CHANGES.txt?rev=HEAD&content-type=text/vnd.viewcvs-markup  
 
RPM package:  
Debian package:  
OS X package:  
BSD Ports URL:  
 
Purchase:  
free  
 
CVS tree (cvsweb):  
http://www.cogkit.org/viewcvs/viewcvs.cgi/src/cog/  
 
Bug tracker:  
http://www-unix.globus.org/cog/contact/bugs/  
 
Mailing list archive:  
http://www-unix.globus.org/mail_archive/java/maillist.html  
 
Mirror site:  
 
Demo site:  
http://www.cogkit.org  
 
Version:  
\COGVERSION  
 
Release focus: 1  
 
Changes:  
* THIS NEEDS TO BE FILLED OUT  
 
Hide from frontpage: no  

15 Other Announcements

source forge

java@globus.org

cog-news@globus.org

discuss@globus.org

in case gt4 changes took place also

gt4-freinds@globus.org

2

16 Release tags: jglobus

Jglobus has two tags generated. those starting with globus_ are globus toolkit related releases. Those starting with cog_ correspond to releases that are related to the Java CoG Kit and are documented in this release guide.

Every time we decide for a release, we must also tag the jglobus library. This must be done in coordination with Gregor as he is ethe only one allowed to set the jglobus release tags.

The release tag for jglobus is done as follows:


1  TAG=cog_‘head -1 ../VERSION.txt‘
2  cvs -d:pserver:$CVS checkout -r $TAG papers/bib

References

[1]   G. von Laszewski, I. Foster, J. Gawor, and P. Lane, “A Java Commodity Grid Kit,” Concurrency and Computation: Practice and Experience, vol. 13, no. 8-9, pp. 643–662, 2001. [Online]. Available: http://www.mcs.anl.gov/~gregor/papers/vonLaszewski--cog-cpe-final.pdf

[2]   “Java CoG Kit Wiki,” 2004. [Online]. Available: http://www.cogkit.org/wiki

[3]   “Java CoG Kit Registration,” 2004. [Online]. Available: http://www.cogkit.org/register

Additional publications about the Java CoG Kit can be found as part of the vita of Gregor von Laszewski http://www-unix.mcs.anl.gov/~laszewsk/vita.pdf. Most documents are avalable online if you follow the links. In future we intend to provide this information without Gregors vita data.

If you need to cite the Java CoG Kit, please use [1].

Appendix

A Documentation

The Java CoG Kit documentation is distributed as a series of guides. These guides for version 4.1.3  include:

A.1 Java CoG Kit Guides





Short TitleAudienceDescription Format




Install All A guide to the different ways of installing the Java CoG Kit[PDF] [HTML]




Commands User A guide to the command line tools of the Java CoG Kit [PDF] [HTML]




Workflow User A guide to the Karajan Workflow [PDF] [HTML]




AbstractionsUser A guide to the Java CoG Kit abstractions API [PDF] [HTML]




MPI User A guide to execute MPI programs on the TeraGrid [PDF] [HTML]




Coding Developer A guide to the Coding rules for the Java CoG Kit [PDF] [HTML]




A.2 Java CoG Kit Guides Under Construction

More guides are under development. The following guides are not yet completed, but are listed here to help us improving these guides. Please, explore them and send us e-mail about improvement suggestions. If you like to contribute a guide yourself, please contact gregor@mcs.anl.gov.





Short Title AudienceDescription Format




Writing Guides Developer A preliminary guide to document writing guides [PDF] [HTML]




Examples User A preliminary guide to examples [PDF] [HTML]




Release ProcessDeveloper A preliminary guide to document the release process[PDF] [HTML]




A.3 API Documentation

B Downloads

Before downloading the Java CoG Kit, users should read the “Guide to Installing the Java CoG Kit” [PDF] [HTML]. We hope that you will find this guide useful to decide which bundles you need. For the more experienced user, we provide the following index.

Binary Distributions
Source Distributions
API Documentation
Module List
CVS

C Availability of the Document

The newest version of this document can be downloaded by the developers from

  1. cvs -d:pserver:anonymous@cvs.cogkit.org:/cvs/cogkit checkout manual/guide

It is not allowed to reproduce this document or the source. This documentation is copyrighted and is not distributed under the CoG Kit license.

D Bugs

We use Bugzilla for tracking bugs and for enhancement suggestions. It is located in the bugzilla.globus.org, but you may find it easier to use one of the following quick links:

E Administrative Contact

The Java CoG Kit project has been initiated and is managed by Gregor von Laszewski. To contact him, please use the information below.

Gregor von Laszewski
Argonne National Laboratory
Mathematics and Computer Science Division
9700 South Cass Avenue
Argonne, IL 60439
Phone: (630) 252 0472
Fax: (630) 252 1997
gregor@mcs.anl.gov

Index

0 TASKS
    To do
        Gregor, 6

Administrative Contact, 13

Contact, 13

Registration, 2