Hints on installing the OTDT
As of version 1.2.0 the procedures for installing the OTDT have been unified to
fit into the conventions of the new provisioning system "p2".
As a result it is now possible to install the OTDT on top of any of the provided Eclipse packages.
Using the new update UI of p2, this is how you install the OTDT:
|Steps to perform
- Open the update UI using Help > Software Updates ...
- Open the Available Software tab, click Add Site and enter this URL:
- After waiting for meta data to be fetched in the background you should see a site named "Object Teams Updates" containing two categories "OTDT 1.2.x based on Eclipse 3.4" and "Various patches for Eclipse 3.4".
- Select desired features:
- The impatient may simply select the site (top level) and click Install to get all that's available from our site.
- If you want to know better what's in it, have a look at this table of features and select features accordingly.
- Click Install and follow the wizard.
- When a dialog asks for permission to restart the system (=Eclipse), answer Yes.
- The subsequent launch of Eclipse should show the following indications of a successful installation:
- The splash screen contains the OTDT icon.
- The Build ID on the splash screen (and elsewhere) has a suffic ".OTDT_1.2.0"
- The startup message is "Loading Object Teams Workbench with OT/Equinox enabled"
- Once the workbench is up and running you may check the install by:
While parts of the OTDT come as regular features/plug-ins, two things are special about this installation:
The following table explains the effects of installing the OTDT in more detail:
- Replacing the
- Extending the eclipse runtime for support of plug-ins written in OT/J (OT/Equinox).
If you'd like to know what's happening, here is the list of files being installed / modified
and their respective purposes:
- Replacing plug-in:
- This plug-in is branched from the original jdt core in order to seamlessly support OT/J.
Except for a small number of unconditional OT/J keywords (see §A.0), this branch is fully compatible
with the jdt core of the host Eclipse installation.
- Plug-ins implementing the OT/Equinox infrastructure:
- The plug-in providing the extension point
org.objectteams.otequinox.aspectBindings where all aspect plug-ins register.
This plug-in manages the dependencies between aspect plug-ins and the base plug-ins which they adapt.
- A fragment for the Equinox framework. It installs the byte code transformers which
perform the load-time byte-code weaving for connecting aspect plug-ins with their base classes.
This fragment must be physically located in the same directory where also the
org.eclipse.osgi bundle resides. For this reason installing OT/Equinox requires write permissions to the installation's
→ Cf. Eclipse bug 257178
- Another fragment for the Equinox framework. It hosts the actual byte-code weaver and additional library classes required to run Object Teams programs.
- This tiny aspect plug-in adapts the "Plug-in Details" dialog of Eclipse in order to
display which installed plug-ins are currently adapted by an aspect plug-in.
- (Almost) regular plug-ins:
- These plugins implement the various parts of the OTDT. While some of these are plain plug-ins, a growing number of plug-ins is implemented in OT/J in order to apply our adaptations in a very modular way. Those plug-ins are the reason why the OTDT requires OT/Equinox to actually be installed.
- Configuration files:
- During installation of OT/Equinox some declarations are automatically added to this file in order to announce the above fragments and to hook into the Equinox framework.
- During installation of the OTDT some JVM arguments are automatically added to this file in order to avoid a known deadlock occurring with the Sun JVM (see Issue 122).
Installing and using the command line compiler
The command line compiler can be downloaded as a single jar file called
The compiler can be run by the following command:
java -jar ecotj-1.2.X.jar arguments
-help as the argument to see the list of options.
Running OT/J programs outside Eclipse is only slightly more complicated.
We have script files which hide all details, however, configuring these
scripts is currently not automated. Please ask us via the
otj-users mailing list, if you want to run
OT/J programs from the command line.