Login | Register
My pages Projects Community openCollabNet

Wiki: Preparations for building

Edit this page | Links to this page | Page information | Attachments | Refresh page


In order to develop the ArgoUML source it is absolutely mandatory that you work with ArgoUML from the source repository. How you checkout this is described in Section 2.5, “Downloading from the Subversion repository”.

Notice that the source repository contains not only a set of source files but a complete development environment with required tools for working with ArgoUML.

What do I need to build ArgoUML?

These are the tools not included in the repository that you need to work with ArgoUML.

  • A computer with an Internet connection and free disk space for your work. Around 150MB to download everything from the repository. (Currently September 2006 it is 147MB.) Around 200MB to download all and build the tool and the documentation. (Currently September 2006 it is 192MB.) 350MB should be enough to build it all (Javadocs, documentation, classes, ...). (Currently September 2006 it is 299MB.)
  • Subversion for getting the files and committing source code updates. You can also use an IDE with a built-in subversion client.
  • JDK (including the Java compiler)

    For building the documentation from DocBook format, you also need the following tools:

    • DocBook XSL style sheets. Rules exist in the file argouml/argouml-documentation/documentation/build.xml for downloading this correctly.

    • Jimi

      Used by FOP for including PNG pictures. See Jimi

Configuring Subversion

To reduce problems with line endings and to get the headers working, we use the properties on files in the Subversion repository according to the table below.

Table 2.4. Changes done





Author Date Id Revision

All text files, Java files, XML files. This is for the Id-tag at the top of all source files and the Date-tag on some web pages.



All text files, Java files, XML files, i.e. almost all non-binary files.



All Windows batch files: *.bat.



All Linux shell files: *.sh.



This is for the tools of the development environment to work properly.

The properties described here are project conventions and should be applied to the files in the repository. This is normally only needed when creating new files because the existing files should have their properties set correctly.

Alas, Subversion and the Tigris set-up does not allow us in the project to enforce this from the Subversion server end. Instead we rely on each developer and the subversion client installation on each developer's machine to perform this correctly.

To get your subversion client to help you in this, make sure the configuration in your subversion client config file contains settings for this. Your subversion client config file is

  • On Windows: %APPDATA%\Subversion\config where %APPDATA% is C:\Documents and Settings\your username\Application Data.
  • On Unix/Linux: $HOME/.subversion/config.

Suggested settings:

enable-auto-props = yes

### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
*.java = svn:eol-style=native; svn:keywords=Author Date Id Revision
*.properties = svn:eol-style=native; svn:keywords=Author Date Id Revision
*.sh = svn:eol-style=LF;svn:executable; svn:keywords=Author Date Id Revision
*.bat = svn:eol-style=CRLF; svn:keywords=Author Date Id Revision
*.txt = svn:eol-style=native; svn:keywords=Author Date Id Revision
*.xml = svn:eol-style=native
*.zargo = svn:needs-lock=*

# Picture formats
*.eps = svn:needs-lock=*
*.jpg = svn:mime-type=image/jpeg; svn:needs-lock=*
*.png = svn:mime-type=image/png; svn:needs-lock=*
*.gif = svn:mime-type=image/gif; svn:needs-lock=*

*.pdf = svn:mime-type=application/octet-stream; svn:needs-lock=*
*.PDF = svn:mime-type=application/octet-stream; svn:needs-lock=*


Preparations for building (last edited 2012-12-28 18:19:26 -0800 by linus)