Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Linux Tools Project/LTTng Eclipse Plug-in Development Environment Setup

< Linux Tools Project
Revision as of 17:36, 24 July 2012 by Alexmonthy.efficios.com (Talk | contribs) (Define an API baseline)

This page describes how to setup LTTng Eclipse Plug-in development environment.

Get the Eclipse SDK

Under eclipse.org downloads, select Eclipse Classic archive. Uncompress and start Eclipse. Example for Linux:

$ tar xzvf eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz
$ cd eclipse
$ ./eclipse

Install dependencies

Two dependencies are required: Remote System Explorer (RSE) and Antlr. Here is how to install them. Notice that RSE is named Target Management on the Eclipse website.

  • RSE
    • Select "Help -> Install New Software..."
    • Select the current Eclipse release repository (e.g. Indigo)
    • Select "General Purpose Tools -> Remote System Explorer End-User Runtime"
    • Install the package. It's not necessary to restart Eclipse at this point.
  • Antlr
    • Select "Help -> Install New Software..." again
    • Click on "Available Software Sites"
    • Search for the Orbit repository. If it is not present in the list, add the following URL manually:
http://download.eclipse.org/tools/orbit/downloads/drops/R20120526062928/repository
    • Click OK, then select the Orbit repository in the drop-down list.
    • Select "All Orbit Bundles" -> "ANTLR Runtime"
    • Install the package.
    • Restart Eclipse.

Get the source code for org.eclipse.linuxtools

Use your git client (or better yet, use EGit) to clone the source repository in your workspace.

$ cd workspace
$ git clone git://git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git

Import LTTng projects into the workspace

Only projects related to LTTng 2.0 should be imported. For legacy LTTng, a TCF dependency is also required. To avoid this dependency and because the legacy LTTng will soon be deprecated, the procedure is limited to LTTng 2.0.

  • Select "File -> Import..."
  • Select "General -> Existing Projects into Workspace"
  • Select the lttng root directory: workspace/org.eclipse.linuxtools/lttng
  • Then disable all org.eclipse.linuxtools.lttng.* projects (keep the *.ctf.*, *.tmf* and *.lttng2.* ones)
  • Click Finish.
  • Rebuild the workspace.

Define an API baseline

Since Linux Tools is now out of incubation, all API changes have to be tracked and marked with the proper @since annotations. The Eclipse API tool works by comparing the contents of the current workspace with a clean, separate installation of Eclipse in another directory (the "baseline").

If you will only be using this setup to run the latest git code, you can decide to ignore these errors by performing this procedure:

  • Select "Window -> Preferences -> Plug-in Development -> API Baselines"
  • Under "Options -> Missing API baseline:" select "Ignore"
  • Click "OK"

However, if you intend of hacking at the code and contributing patches, then you are strongly encouraged to setup a baseline installation correctly:

  • Go to http://eclipse.org/downloads and download a copy of the Eclipse IDE for C/C++ Developers, if you don't already have one.
  • Extract it in a directory somewhere, separate from your normal Eclipse installation.
  • In your regular Eclipse install, go to "Window -> Preferences -> Plug-in Development -> API Baselines".
  • Click on "Add Baseline..."
  • In the new window click "Browse...", and point it to the directory of the pristine Eclipse install you extracted earlier.
  • Give your baseline a name, then click "Finish".

Once that is done, your workspace will be rebuilt and the API changes will now be tracked. Any new method or class will have to be annotated with "@since n", where n is the major.minor version number found in the plugin's MANIFEST.MF file.

Run the plugins

To run the code, right-click one of the imported plugins (for example, the o.e.l.tmf.core one) and select "Run As..." -> "Eclipse Application". This will start a nested Eclipse with the plugins loaded.

Back to the top