Login | Register
My pages Projects Community openCollabNet

If you were registered and logged in, you could join this project.

Summary Packaging ArgoUML
Category design
License Eclipse Public License - v 1.0
Owner(s) jrobbins, linus, mkl


This project contains scripts to package ArgoUML. The result of the packaging are "installers" i.e. something that can be used to install ArgoUML on a host. An "installer" can be for a specific platform or for a specific purpose (with a customized set of modules).

Organization of the scripts

A script is centered around a specific tool. There is one directory for each script to be run. The directory contains all the configuration files, and tools, needed to build a package using that script. Running the script can result in several installers.

Each directory contains the script doit.sh if the script is runnable on a unix platform, and doit.bat if the script is runnable on a windows platform. All scripts assume that argouml has been built or downloaded and available in ../argouml/build. This is achieved by running a special script build-release.sh.

The documentation of the specifics for each installer is in a directory in the web site part of this directory. Each such set contains:

  • information on the platform needed to run that installer
  • the list of tools to install and links to installation instructions.

The result of running the installers is either published somewhere on the web (the argouml-downloads project is one possibility) or available only for the runner (for burning on cd:s). (This project was previously used for the purpose of publishing releases. This is not a good idea and will be discontinued.)

Documentation for each of the different installers


The following tools are candidates to investigate:
  • zerog: Installer tool from ZeroG. - not implemented
  • launch4j: Generation of windows native executables using Launch4j -not implemented (suggested by Christian López mail in argouml-dev)
See also, the discussion of other candidates in the argouml-dev mailing list.

What is done at every official release

The official release consists of the result of some of the scripts. These scripts are special in that they move the result into a special directory for the argouml-downloads project. There is also a "How to do it"-instruction in Cookbook section on building.

These are the scripts used in the official release:

Linus Tolke is responsible for issuing official releases of ArgoUML.

Directory structure when doing releases

The build-release.sh script is used to tag, check out, and build the projects in an ArgoUML release. The resulting file hierarchy is the following:

the directory where the build-release.sh script is residing
directory where everything that is downloaded and built by the script resides. This directory contains a separate checked out copy for each release built. If you have plenty of disk space on your computer, save them for ever! If disk space is scarse, remove them once the release work is complete.
This directory also shall contain the file JimiProClasses.zip that is used to build the pdf versions of the documentation. This file must be copied there manually by the person doing the release since its license does not allow distribution.
This is where every argouml-project is checked out in their directories respectively. When done, the layout is like this:
PathProjectSvn url
argoumlinstaller/build/VERSION_VER_NO/argouml argouml http://argouml.tigris.org/svn/argouml/releases/VERSION_VER_NO branched from http://argouml.tigris.org/svn/argouml/trunk
argoumlinstaller/build/VERSION_VER_NO/argouml-classfile argouml-classfile http://argouml-classfile.tigris.org/svn/argouml-classfile/releases/VERSION_VER_NO branched from http://argouml-classfile.tigris.org/svn/argouml-classfile/trunk
argoumlinstaller/build/VERSION_VER_NO/argouml-cpp argouml-cpp http://argouml-cpp.tigris.org/svn/argouml-cpp/releases/VERSION_VER_NO branched from http://argouml-cpp.tigris.org/svn/argouml-cpp/trunk
A checked out copy of the downloads project. This is where the release is copied and everything is directly available at the downloads project at http://argouml-downloads.tigris.org/. The installers scripts are supposed to copy everything needed into the checked out copy. The person doing the releases checks that it is all in place and updates links to the included parts, if needed. The he commits it, publishing the new release.
Files for a given release.
Manually updated indexes to make all releases available
Directory for the Java Web Start jnlp files.
Directory for the Java Web Start jar files. This has a directory structure according to the maven2 standard for how to publish files but there are not any maven2 control files. The reason for having this structure is to allow future use of maven2. There are some special functions when building the jnlp files that avoids creating new files with the exact same contents. This is to allow the Java Web Start of new release of ArgoUML to reuse previously downloaded files.

This page was last modified $Date: 2008-05-05 14:22:42 -0700 (Mon, 05 May 2008) $.