Login | Register
My pages Projects Community openCollabNet

Wiki: DeveloperOverview

Revision 10 as of 2009-04-08 21:10:37 -0700

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


Developer Information

ArgoEclipse is a collaborative open source project which welcomes new developers. We welcome all contributions big and small and run the project as a meritocracy. We strive for consensus based decision making.


  • Mutual respect among developers and users
  • Roles and responsibilities assigned based on merit
  • Consensus based decision making
  • Excellence in design and coding
  • Respect for intellectual property, both ours and others
  • Strong open source values while encouraging appropriate commercial reuse and extension

Getting Started

Required Tools

To build ArgoEclipse, you will need the following tools:

  • Java 5 (a.k.a. Java 1.5)
  • Eclipse 3.3 or later (We target Eclipse 3.3, but we recommend you use Eclipse 3.4 and compile against a separate target environment)
  • A Subversion client (We recommend Subclipse http://subclipse.tigris.org)

  • Albireo — a Swing/SWT compatibility plugin available from http://www.eclipse.org/albireo/downloads/

  • (Optional) Mylyn task management plugin - only needed if submitting patches or making commits to Subversion

Development Environment Setup

If you've already got all the prerequisites installed, you can skip ahead to the next section.

  1. Install Java 1.5
  2. Install and configure Eclipse
    • Download Eclipse from http://www.eclipse.org/downloads/

    • Unpack into target directory
    • Configure a Java 1.5 JRE — if you have multiple Java Runtime Environments available on your system, make sure that you have a Java 1.5 JRE configured and available for use in Eclipse. Configure this at Windows → Preferences → Java → Installed JREs
  3. Install Subclipse — The update site is http://subclipse.tigris.org/update_1.4.x. Don't worry about configuring any SVN repositories. This will get done automatically as part of the project source import.

  4. (Optional) Install Mylyn & Tigris Issuezilla connector — This is an optional task management plugin which integrates with the bug tracker on Tigris. NOTE: At the time of this writing, the Tigris bug tracker (IssueZilla) connector for Mylyn 3.x was not available, so you must use Mylyn 2.3. Since Mylyn 2.3 and Mylyn 3.0 are not compatible, you also need to use Mylyn 2.3 versions of any other Mylyn integrations you need.

Target Environment Setup

By creating a separate target environment to build against, we can use a different (later) version of Eclipse than the one that we are targeting and we can also explicitly manage our dependencies so that we know when we are introducing new ones. This also allows us to know exactly what the minimal set of plugins is to build our standalone RCP applications.

For casual development, it is possible to skip this step and just develop against your working Eclipse installation, but we recommend all developers set up the following target environment. (If you decide to skip this, you will need to add the Albireo plugin from below to your Eclipse installation).

We support Eclipse 3.3, so that will be our target version, even if you use a later version of Eclipse for development purposes.

  1. Install RCP SDK
    • Go to http://download.eclipse.org/eclipse/downloads/

    • Select latest 3.3.x release from Latest Releases section (currently 3.3.2)
    • Go to RCP SDK section and download appropriate package for your operating system (~20 MB)
    • Unpack into a clean directory separate from your Eclipse installation(s)
  2. Install RCP Delta Pack (optional - these components are needed to do doing cross development RCP builds for platforms other than yours)
    • At the bottom of the RCP SDK section download the RCP delta pack (the last item in the list - ~27 MB)
    • Unpack it into the same directory, overwriting any conflicting files
  3. Install Albireo. Download Albireo from http://www.eclipse.org/albireo/downloads/ and unpack into same target directory.

  4. Install additional plugins in target directory
    • Download the Eclipse Platform Runtime Binary (40 MB) from the same page that you copied the RCP kits from.
    • Unpack into a separate temporary directory.
    • Copy the following plugins from <temp>/eclipse/plugins to the plugins directory of your target

      • org.apache.lucene
      • org.eclipse.core.filebuffers
      • org.eclipse.core.filesystem
      • org.eclipse.core.net
      • org.eclipse.core.resources
      • org.eclipse.equinox.security
      • org.eclipse.jface.text
      • org.eclipse.ltk.core.refactoring
      • org.eclipse.ltk.ui.refactoring
      • org.eclipse.search
      • org.eclipse.ui.cheatsheets
      • org.eclipse.ui.forms
      • org.eclipse.ui.ide
      • org.eclipse.ui.intro
      • org.eclipse.ui.views
      • org.eclipse.ui.workbench.texteditor
      • org.eclipse.update.core

See TargetPlatformPluginList for a list of what your completed directory should look like.

Download Sources and Build ArgoEclipse

After your development environment is set up, you can download and build ArgoEclipse in a couple of easy steps.

Here are a few steps in which you'll import the code:

  1. Choose a team project set file that suits your needs from the directory http://argoeclipse.tigris.org/source/browse/argoeclipse/trunk/www/resources/ :

    1. The main workspace projects (code and code related resources) - RECOMMENDED
    2. The web workspace projects (contains lots of MB with videos, docs, update site and kits) - most developers won't need this, so you can save the bandwidth and choose the main workspace projects;
    3. All workspace projects (main and web);
  2. Open Eclipse, go to File → Import, and in the Import wizard choose Team → Team Project Set, then click Next;
  3. Select the file you just downloaded and continue with the instructions from the wizard;
  4. When you are prompted with a username and a password use the "guest" username and a null password;

With the main workspace projects you should have 12 new projects in your workspace:

  • Six ArgoEclipse projects - the first four are the core plugin and the last two are for the RCP application :

    • argoeclipse-ui — perspectives, views, menus and other user interface components
    • argoeclipse-core — UI independent core functionality
    • argoeclipse-argouml-resources — image icons and other static resourcs which are shared between both the !ArgoUML and ArgoEclipse plugins. This is a short term workaround to break a dependency cycle between the plugins.

    • argoeclipse-help — online help contributions
    • argoeclipse-feature — an Eclipse "feature" which groups together all the other plugins
    • argoeclipse-rcp — Eclipse Rich Client Platform (RCP) application. Allows ArgoEclipse to be deployed as a standalone application with its own bundled copy of the Eclipse core.

  • Eight ArgoUML projects
    • argouml-app — main ArgoUML application code
    • argouml-core-infra — JARs for tools like log4j
    • argouml-core-model — Model subsystem interface and implementation independent pieces
    • argouml-core-model-mdr — ?NetBeans MDR implementation of Model subsystem

    • argouml-core-tools — Tools used for development, but not needed for deployment
    • argouml-core-tests — JUnit tests for ArgoUML
    • argouml-build — project for building ArgoUML from the command line (optional)
    • argouml-core-model-euml — Eclipse UML2 implementation of model subsystem (optional)

With the web workspace projects included you will have also argoeclipse-www, for the web site.

The projects should compile with no error. If you have problems building, the first thing to try is to clean all projects, if you still have trouble please send a description of the problem to the dev@argoeclipse.tigris.org mail list. Running the plugin

In the Debug menu you should see an "ArgoEclipse - debug" launch menu item, for launching ArgoEclipse as an Eclipse plugin and an "ArgoEclipse RCP - debug" launch menu item, for launching ArgoEclipse as an RCP product.


Here's a ToDoList for this project. We welcome you as an ArgoEclipse developer.