Groovy Monkey is a dynamic scripting tool for the Eclipse Platform that enables you to automate tasks, explore the Eclipse
API and engage in rapid prototyping. Groovy Monkey is based on the Eclipse Jobs API, which enables you to monitor
the progress in the platform seemlessly and allows you to write your scripts so that users can cancel them midway. Groovy
Monkey is also based on the Beanscripting Framework(BSF) so that you can write
your Groovy Monkey scripts in a number of languages ( particularly Groovy ). In fact you can write in Groovy, Beanshell, Ruby or Python. The project update site is located at the Groovy-Monkey SourceForge site ( update sites: Eclipse v3.2 or Eclipse v3.1.2 ) and has three new additions.
Eclipse Version compatibility
Java Version compatibility
Addition one: metadata keywords
LANG metadata keyword
First, there is a new metadata keyword called LANG, which as is implied, determines what scripting language you wish to use. Here is an example of an Groovy Monkey base example ported to Groovy:
Notice the LANG tag, that is all there is to that.
Addition two: Outline view
Secondly, the outline view is populated showing the binding variable names and types with their publicly available methods and fields. This can be useful since the DOMs are loaded on your eclipse ide as plugins and not in your workspace view. Even if you were to load in the DOMs into your workspace, there is still a great deal of switching that must be done.
Addition three: Groovy SWT and Launch Manager DOMs
Thirdly, there are new DOMs that are located on the update site that include direct access to a console for output, enable you to script your launch configurations together and a wrapper for the Groovy SWT project as a DOM.
Here is an example of a script, copied from the examples given in Groovy-SWT, ported into Groovy Monkey.
Here is an example of a script that uses the Launch Configuration Manager DOM along with the JFace/SWT DOM and the Console output DOM. It prints out the list of all your available launch configurations and allows you to select which ones you wish to string together.