5. Developer reference

5.1. Installation

After the installation procedures for regular users (this means that you have to have installed and running Erlide!), developing Erlide itself requires an additional step:

  • The Eclipse command line has to be tweaked a little bit, because some functionality is only available in this case. The arguments to add to the command line (or to the eclipse.ini file) are -vmargs -Derlide.devel=true.

  • Done!

Note

For developing Erlide, you can only use R10 at this time.

5.2. Retrieve the code from CVS

Configure Eclipse CVS to use extssh connection method when "ext" is chosen. This will make it work with other CVS clients as well, but it isn't a recommended procedure.

In the CVS perspective, connect to the erlide CVS, at erlide.cvs.sourceforge.net, /cvsroot/erlide. Use "ext"-type of connection.

Check out the following modules:

  • erlide-basic-ui

  • erlide-core

  • erlide-jinterface

  • erlide-launching

  • eride-erlc

  • erlide-ui

  • erlide-feature

  • erlide-update

  • erlide-help

  • erlide-docs

5.3. Build

5.3.1. Manual build

TBD

5.3.2. Automated build

This is not implemented yet.

5.3.3. Building the documentation

TBD

5.3.4. Starting the newly built Erlide

  • After compiling the plugins, you can try starting the newly build Erlide. For this you have to create a run configuration. Choose Run->Run... and Eclipse Application->New. Use a nice, friendly name like "Erlide" and in the plug-ins tab select "Choose from list".

  • In the main tab, select the "Program to run" to be "Run an application". The default value (org.eclipse.ui.ide.workbench) is fine.

  • Check all the erlide plugins under "workspace plugins" and then "Add required plugins" for a minimal setting. Press validate and add any other plugins that may be needed.

  • Go to the Common tab and check the Show in favorites for both run and debug.

5.4. Plugin description

5.4.1. erlide-basic-ui

This plugin contains the functionality necessary to configure the Erlang backend and also some utility classes.

5.4.2. erlide-core

Here we find the classes that model the Erlang code.

5.4.3. erlide-jinterface

This is a wrapper around jinterface plus some minor additions.

5.4.4. erlide-launching

This plugin manages Erlang backends.

5.4.5. erlide-ui

Here we find all UI related functionality.

5.4.6. erlide-feature

The feature groups together all the deliverable plugins.

5.4.7. erlide-update

An update site is needed to distribute Erlide.

5.4.8. erlide-help

The help files reside here. The documentation is written in Docbook format and from it we generate different formats: Eclipse help, online HTML documentation, printable PDF.

5.4.9. erlide-docs

Here we have no code, but administration-related files. Most notable is the source to the home page of the project in the site directory.

5.5. Release management

There are a couple of scripts that handle the packaging of the plugins and the publishing/uploading to the Sourceforge site.

TBD

Alternatively something like WinSCP can be used to upload files to Sourceforge.

5.6. Design decisions

TBD

5.7. Tools used