This chapter describes what parts of the CVS repository is used for what purpose. This is a rather terse collection. Further details on specific parts can sometimes be found elsewhere in this document.
This chapter is organized as the CVS repository itself and everything is in alphabetical order.
build
Directory where the built things end up.
There is actually no real need to keep this in CVS. It is there just as a place holder.
conf
Not used. Empty.
documentation
Directory where the source of the documentation is.
cookbook
XML-source code for this cookbook.
docbook-setup
XML Tools and configuration files used for the formatting of the documentation from the XML-source to HTML and PDF.
images
Pictures for all documents are collected here.
javahelp
Not used. Empty.
manual
XML-source code for the User Manual.
quick-guide
XML-source code for the Quick Guide.
extra
Not used. Empty.
lib
A set of jar files.
This directory contains the jar files of products used by the ArgoUML (such as log4j, NSUML).
These are distributed with ArgoUML and have licenses that allow this. For clarity the README files and licenses and other distribution details of each used jar will also be stored in this directory. (Quick summary: BSD License, Apache License, LGPL are OK, GPL is not.) Don't forget to arrange for the modules version and license information to appear when starting ArgoUML and in the About box.
Take care also to make the versions of these libraries explicit, so as to allow people building from sources to figure out exact dependencies. Easiest way is to rename the files to include version informations, the same way as shared libraries in Unix world: foo-x.y.z.jar, bar-x.y.z.jar, etc...
modules
Contains source level modules of ArgoUML.
Source level modules are modules that can be compiled and deployed independently (after) the rest of ArgoUML. Each module is located in its own subdirectory. This is the list as it looks now (March 2003).
jscheme
Module that allows to extend ArgoUML using scheme.
junit
Old directory with JUnit tests.
These should be migrated to and all new JUnit tests should be created in
the directory tests
.
menutest
Test module that tests the plug-in interface for the menus.
php
Language generating, Notation and reverse engineering for PHP.
cpp
Code generation for C++.
csharp
Code generation for C#.
src
Source code.
This will contain one directory for each subsystem within ArgoUML. They will all compile and be tested with controlled dependencies to other subsystems.
The upcoming structure is used for the different language part of the
internationalization subsystem under
i18n/
.
language
src_new
All source code for ArgoUML including pictures of icons.
tests
All source code for JUnit tests of everything that is in the src_new directory. See Section 2.4, “The JUnit test cases”.
tools
All tools used during the build process.
Tools also have the readme files, licenses and other distribution files
stored in this directory in much the same way as the libraries in
lib
.
However the requirement on the license is different.
The tools are never distributed with ArgoUML but merely used in the
development of ArgoUML so it is enough to have a license that does not
allow distribution.
(Quick summary: BSD License, Apache license, LGPL, GPL, Freeware are OK.)
www
This is all the static contents of the web site. See Section 2.3.2.1, “How the ArgoUML web site works”.