The Groovy-Eclipse team is proud to announce the release of Groovy-Eclipse 2.5.2. There are many new features available with this release, including Eclipse 3.7.1 support, Java 7 support, and Groovy 1.8.2 support
You can use the following update site to install this release:
If you want the Groovy 1.8 compiler, you must explicitly include it by checking the "Extra compilers" category.
And a zipped version of the update site is available at:
Compiler switching through command line argument
It is now possible to use command line arguments to specify a compiler level for Groovy-Eclipse. You can add the
-groovy.compiler.level argument to the launch command to control which compiler level is started.
Better DGM inferencing
Default Groovy Methods now have better inferencing inside of associated closure blocks. For example, the unique DGM method now supports inferencing of the parameter on its closure:
In addition to unique all methods inside the DefaultGroovyMethods class now support inferencing on parameters in closures where possible. A complete list is available in GRECLIPSE-1143.
These classes are now handled just like
DefaultGroovyMethods in terms of content assist, hovers, and navigation.
Multiple assignment statements
The types of variables assigned in multi-assignment statements are discovered during inferencing. For example, when assigning a list to multiple variables, the static type of the list elements will be assigned to each variable:
Also, when a method returns a list or array, the type parameter or component type is used as the type of assigned variabled:
Match operator inferencing
Match operator expressions now support inferencing:
For more information, see GRECLIPSE-1159.
Content assist improvements
Method context information
Groovy-Eclipse now follows the JDT model of displaying context information for methods when invoking content assist inside of a method call and there is no prefix. For example, when invoking content assist just after an opening paren, you are only shown a list of known ways to invoke the target method:
Selecting one of the proposals will show that methods information in tooltips above the caret location:
Similarly, invoking content assist after a comman will show context information as well:
For more information, see GRECLIPSE-674.
Content assist now recognizes closure parameters
When a field has a closure for an initializer, content assist will now reflect this and show method proposal variants for the field:
For more information, see GRECLIPSE-1139.
Editing support for Groovy files outside of the build path
Scripts that are not placed on the build path now provide many of the standard editing features that is used by scripts on the build path, such as content assist, type inferencing, and mark occurrences. The classpath for the script is assumed to be the same build path as the one for the rest of the project.
Note that missing import references will not be reported, and references in scripts will not show in search results, nor will refactoring work in these files.
Fix import statements after move/copy
Import statements are now properly cleaned up after a move or copy of a Groovy file to a new location. See GRECLIPSE-682 for more information.
More precise searching for overloaded methods
The number of parameters of method declarations are now used to help more precisely determine the actual declaration of a method reference:
See GRECLIPSE-1138 for more information.
More precise rename refactoring of overloaded methods
This new technique for method searching is used to ensure that overloaded methods do not interfere with rename refactoring:
Groovy-Eclipse 2.5.2 includes Groovy 1.7.10 by default. Groovy 1.8.2 can be optionally installed. This version of Groovy-Eclipse is recommended to be installed on STS 2.7.2, 2.8.0.M2, Eclipse 3.7.0, 3.7.1, 3.6.0, 3.6.1, or 3.6.2. There are different update sites for Groovy-Eclipse targeting Eclipse 3.6 and 3.7 (see above).
We have fixed over 100 bugs for this release. See the details on our issue tracker.
We appreciate all community support and feedback. If you wish to join the discussion about Groovy-Eclipse then please sign up for the mailing list. For any issues you have (or enhancements you would like to see), please raise them in our issue tracker. If there is an existing bug fix or enhancement that you require are not seeing any movement on, please make some noise on it (and get your friends to do the same). We respond to community feedback, and we can make the most improvements to Groovy-Eclipse when we hear directly from the community. So, please speak up!