Writing Eclipse plugins with Groovy

January 17, 2008

Writing plugins for Eclipse with other languages than Java is not officially supported, but there is a way to write an Eclipse plugin with Groovy only. As prerequisites you need Eclipse with a JDT and the Groovy Eclipse plugin.

Follow these steps.

  1. Create a new Plugin-in project, do not use any templates.
  2. Add the Groovy Nature to the project.
  3. Create a Java package under src
  4. Create a Groovy class HelloGroovyWorld with the contents shown below.
  5. Edit the plugin.xml file:
    1. On the Dependencies tab add org.eclipse.ui and org.eclipse.core.runtime. and org.codehaus.groovy.
    2. On the Runtime tab add bin-groovy to the classpath
    3. On the Extensions tab add an org.eclipse.ui.actionSets extension, set visible to true. Add a menu and an action (Left click the ActionSet, right click and choose “new, menu and action”) and choose HelloGroovyWorld as the class for the action. The plugin.xml is shown below.
            label="Groovy ActionSet"
               label="Groovy Menu">
               label="Groovy World"
               tooltip="Hello Groovy World">

The source code:

package hellogroovyworld

import org.eclipse.jface.action.IAction
import org.eclipse.jface.viewers.ISelection
import org.eclipse.ui.IWorkbenchWindow
import org.eclipse.ui.IWorkbenchWindowActionDelegate
import org.eclipse.jface.dialogs.MessageDialog

class HelloGroovyWorld implements IWorkbenchWindowActionDelegate {

      private IWorkbenchWindow window

      void run(IAction action) {
                  "Hellogroovyworld Plug-in",
                  "Hello, Groovy world")

      void selectionChanged(IAction action, ISelection selection) {}

      void dispose() {}

      void init(IWorkbenchWindow window) {
            this.window = window

Now run the project as an Eclipse Application:

Remark: This post was adapted to the new blog format in November 2016.