## JUNG Build Process

This file clarifies the method for running a build & releasing the current software version, using Eclipse.

Select the 1.4.2 JRE, and make sure that this JRE is used for the build process; also make sure that the compiler compliance level is set to 1.4.
Run all unit tests and confirm that they all pass.
Delete, if they are present, the /doc, /build2, /release, and /coverage directories.
Go to build.xml (in project directory).
In build.xml: make sure that links to other packages' documentation are up to date.
Edit build.xml, go to the definition of the "version" property (near the top), and modify the value to reflect the current version.
Check any changes into the CVS repository.
Tag the release with the new version number: Team->Tag As Version.
Make sure that there are no old JUNG-related jars in the "jardir" directory (see below). Otherwise Javadoc will (for some obscure reason) try to get the package information from them (rather than from the source files) and fail.
Right-click on build.xml, select "Run->Ant Build..." .
Make sure that the following configuration elements are set up (this should only need to be done once for a given installation of Eclipse):

classpath: junit.jar must be included (not there by default)
properties: "distdir" must be set to the location of the eclipse jcoverage plugin, "jardir" must be set to the location of the jars used to build JUNG (remove old versions of jars to eliminate possible conflicts)
note that current build process works with jcoverage 1.0.5, but not with the latest version (1.9.280, as of this writing)

Select "main (default target)" task, run; this builds the docs and the jcoverage
Do this again: this time, select "jar-src" and "release", then run.
Go to the workspace/jung directory.
Create an archive of the doc directory, and name it jung-X-doc.zip (where X is the current version number, as above). Copy this file to the release directory. The release directory should now contain the following files:

jung-X-src.jar
jung-X-doc.zip
jung-X.jar
jung-X.zip

Go to http://sourceforge.net/projects/jung/
Go to Admin
File Releases->Add Release
Release name: jung-X
Paste in release notes (excerpt from ReleaseNotes.html)
click "submit" for this section (step 1)
Follow directions for adding files listed under step 2:

jung-X-src.jar
jung-X-doc.zip
jung-X.jar
jung-X.zip

Click "add files and/or Refresh View"
Step 3: fill out form appropriately (specify Platform-Independent, etc.)
Select "send notice" when complete.
ssh to shell.sourceforge.net, go to jung's htdocs directory (/home/groups/j/ju/jung/htdocs)

add announcement to main page
- update documentation (in /doc directory):
  delete old javadoc in /doc/api
  copy new javadoc files into this directory
  update /doc/index.html to indicate new version of javadoc
  upload new version of ReleaseNotes.html to this directory (/doc), overwriting old one
update other pages as appropriate (downloads, etc.)
upload new version of acknowledgements if appropriate

Replace jars in applet directory as necessary
Test links to make sure that everything on site works and links to correct version
Copy edited website files into CVS repository, if necessary.