-
Notifications
You must be signed in to change notification settings - Fork 193
Legacy Release Notes
Greclipse 3.3.0 was released on March 29th 2019.
- Groovy 2.5.6
- Groovy 3.0a4 new
The new Parrot Parser is disabled by default in Groovy 3. To enable it, add -Dgroovy.antlr4=true
to your eclipse.ini file after the -vmargs
line or add a compiler config script to your project with configuration.pluginFactory = org.codehaus.groovy.control.ParserPluginFactory.antlr4(configuration)
. Please note that parser recovery is not implemented for the Parrot Parser, so your editing experience may be sub-par in this mode.
- Eclipse 4.11 (2019-03)
References in metadata and maven builds have been changed to https where possible.
- closures within closures
- filtering for new accessor methods
- quick fixes for correcting modifier issues
-
@groovy.transform.NamedParam
on constructors
- constructor and methods with default parameter(s)
- anonymous inner class constructor calls
-
@groovy.lang.Newify
constructor calls
- Closure-specific methods and properties
- extension methods used in type that implements Iterable, etc.
- Spock test method with data table
- private field of super type
- bounded generics as method return type
- category method pointer
- overloaded property setter
- missing properties that look like method references
- 413: Add support for Groovy 3.0
- 611: Add quick fixes for fixing modifiers when attempting to reduce visibility of override method
- 612: Add quick fix for attempt to override final method
- 637: Add @NamedParam support for constructors
- 721: Want a way to disable "combining closures with only one statement into one line"
- 723: Improper constructor name on Groovy class after copy-and-paste
- 742: Add support for Eclipse 4.11
- 773: Default parameters: wrong Call Hiearchy results found for method call
- 775: Default parameters: constructor call not found by Call Hierarchy
- 776: Default parameters: wrong signature considered when invoking Call Hierarchy from a method/constructor call omitting optional parameters
- 784: Missing reference to setter when in with { }
- 786: DSLD: missing content assist proposals for isThisType pointcut
- 787: Outer references proposed before self references in Code Assist within 'with' closure
- 788: No references found for members of Groovy class referenced within 'with' closure
- 789: No code assist for 'super(' and 'this('
- 790: Constructor with defaulted parameter is interfering with breakpoint location
- 792: the 'org.codehaus.groovy.eclipse.codeassist.completion' plug-in and throw a runtime exception when type "0."
- 796: Call Hierarchy and Find References support for @Newify constructor call expressions
- 797: Call Hierarchy and Find References support for @Newify(Type) constructor call expressions
- 798: Call Hierarchy and Find References support for anonymous inner constructor call expressions
- 801: Type inferencing of overloaded property setter
- 802: Type inferencing of missing properties that look like method references
- 803: Missing field completion in nested with closure
- 804: Type inferencing of category method pointer
- 805: Add support for Groovy 2.5.6
- 808: ArrayIndexOutOfBoundsException using content assist
- 809: Fix type inferencing for Closure-specific methods and properties
- 810: Fix type inferencing for extension methods used in type that implements Iterable, etc.
- 812: Fix type inferencing for Spock test method with data table
- 815: Fix type inferencing for private field of super type
- 825: Fix type inferencing for bounded generics as method return type
- 826: ArrayIndexOutOfBoundsException - Type Inference
- 827: Fix code select for method call with named and positional arguments
- 836: Fix type inferencing for indirect static method under CompileStatic
- 837: Content assist missing proposals for indirect static members
- 840: Fix organize imports for indirect static-star imports
- 850: Infinite compile time and tons of errors
- 851: System ClassLoader getting closed by the GroovyParser.clearCache()
- 862: Improve code assist in field declaration
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/3.3.0/e4.11
- https://dist.springsource.org/release/GRECLIPSE/3.3.0/e4.10
- https://dist.springsource.org/release/GRECLIPSE/3.3.0/e4.9
- https://dist.springsource.org/release/GRECLIPSE/3.3.0/e4.8
- https://dist.springsource.org/release/GRECLIPSE/3.3.0/e4.7
Archives of these update sites are also available:
- org.codehaus.groovy-3.3.0.xx-201903290242-e1903-RELEASE-updatesite.zip
- org.codehaus.groovy-3.3.0.xx-201903290056-e1812-RELEASE-updatesite.zip
- org.codehaus.groovy-3.3.0.xx-201903282310-e1809-RELEASE-updatesite.zip
- org.codehaus.groovy-3.3.0.xx-201903282124-e48-RELEASE-updatesite.zip
- org.codehaus.groovy-3.3.0.xx-201903281935-e47-RELEASE-updatesite.zip
Greclipse 3.2.0 was released on December 29th 2018.
- Groovy 2.5.5
- Groovy 2.4.16
- Eclipse 4.10 (2018-12)
As of Eclipse 4.10, Java 11 is fully supported within the IDE. It can be combined with any supported version of Groovy. Modulepath entries are not yet supported for Groovy sources; classpath entries work as expected. Lambdas, method references and var
keyword support is available in Groovy 2.6+.
JDT has separate wizards for creating classes, interfaces, etc. If GDT followed this pattern, there would be quite a few items in the New context menu. Instead, the New Groovy Class wizard has been enhanced to support selection of other Groovy archetypes. This reduces clutter and makes room for additional Groovy-specific controls.
Support for "Completion overwrites" has been fixed and "Hide deprecated references" has been added for fields, methods, properties, etc.
Support for completion of multiple annotation attributes has been fixed.
When engaging content assist (Ctrl+Space) within a closure, delegate and owner property completions are proposed. In case of a conflicting name, a qualifier may be added depending on the closure's resolve strategy. In this case, DefaultGroovyMethods.with
is defined with a strategy of DELEGATE_FIRST
, so delegate properties can be used unqualified, but owner properties may require a qualifier.
public static <T,U> T with(
@DelegatesTo.Target("self") U self,
@DelegatesTo(target="self", strategy=Closure.DELEGATE_FIRST)
@ClosureParams(FirstParam.class) Closure<T> closure)
Support for completion of this
and super
constructor call expressions has been added. Find occurrences and open declaration should work as expected for complete expressions.
Parser error recovery has been added to support completion proposals on incomplete case
labels.
Call Hierarchy (Ctrl+Alt+H), Find Declarations (Ctrl+G) and Find References (Ctrl+Shift+G) have been improved for multiple constructors, including constructor variants generated by default parameter values.
- spread-dot operator
- trait fields and methods
- methods w/ parameter defaults
- compiler configuration scripts
A new quick assist (Ctrl+1) was created for replacing each occurrence of a local variable name with its initialization expression. Parenthesis are added for low-precedence expressions like unary minus, bitwise negation, pre- and post-increment, and so on.
- 364: Code assist does not add necessary "owner" qualifier when accepting owner property suggestions within 'with' closure
- 439: When code completion includes an import, conflicting names are not considered
- 471: Ctrl triggering of constructor proposal inserts arguments and parentheses
- 516: Add quick assist "Inline local variable" like Java editor provides
- 671: Add support for "Hide deprecated references" content assist preference for fields, methods and properties
- 686: Add support for Java 11
- 706: Warning about "missing @Override" only shown for anonymous inner classes
- 741: Add support for Eclipse 4.10
- 749: DSLD: Add support for method parameter type annotations like @ClosureParams and @DelegatesTo
- 750: Fix type inferencing for this and super trait method calls
- 751: Fix type inferencing for static trait fields
- 752: Do not propose synthetic variables $self and $static$self within trait methods
- 753: Propose private trait fields and methods within trait and implementers
- 754: Add support for folding of private trait methods
- 755: Fix code hover and code select for static method call in trait
- 756: Fix open declaration for trait field and static method references in trait implementer
- 758: Quick fix for adding @Override annotation inserts at wrong position if method has annotation(s)
- 761: Code assist not working in annotation when one attribute is already specified
- 762: No code assist on enum value while typing a switch statement
- 763: Fix type inferencing for spread on list of lists
- 765: Constructor call of nested class not found by neither call hierarchy nor find references
- 766: Code assist for map constructors does not propose fields of super class(es)
- 768: Overloading not properly handled for constructor calls
- 769: Irrelevant suggestions given when invoking code assist for annotation attributes
- 770: No code assist at all for this(...) and super(...)
- 771: Groovy compiler error: exception in phase 'class generation' in source unit
- 772: Code assist proposes completions for delegate or owner regardless of strategy set by DelegatesTo
- 774: Default parameters: wrong navigation on constructor call
- 777: Add support for Groovy 2.4.16
- 779: @GrabConfig(systemClassLoader=true) Causing exception: No suitable ClassLoader found for grab
- 781: Add support for Groovy 2.5.5
- 782: Add support for trait, script, etc. in New Type Wizard
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/3.2.0/e4.10
- https://dist.springsource.org/release/GRECLIPSE/3.2.0/e4.9
- https://dist.springsource.org/release/GRECLIPSE/3.2.0/e4.8
- https://dist.springsource.org/release/GRECLIPSE/3.2.0/e4.7
Archives of these update sites are also available:
- org.codehaus.groovy-3.2.0.xx-201812291959-e2018-12-RELEASE-updatesite.zip
- org.codehaus.groovy-3.2.0.xx-201812291956-e49-RELEASE-updatesite.zip
- org.codehaus.groovy-3.2.0.xx-201812291815-e48-RELEASE-updatesite.zip
- org.codehaus.groovy-3.2.0.xx-201812291804-e47-RELEASE-updatesite.zip
Greclipse 3.1.0 was released on October 22nd 2018.
- Groovy 2.5.3
- Eclipse 4.9 (2018-09)
Eclipse 4.9 does have a patch available that adds Java 11 support. However, since it patches some of the same bundles that Greclipse does, both cannot be applied together. Therefore, Groovy and Java 11 support together will have to wait until Eclipse 4.10 (2018-12) is available.
Problem marker label decorations were missing for compilation unit nodes (Groovy sources) in the Project Explorer. This has been fixed.
Syntax colors were updated or inherited from Java to make the Dark Theme in the Groovy Editor look and feel like the Java Editor does. Also, the Groovy Event Console colors were updated to show better contrast in Dark Theme mode.
Keyword color prefs were reorganized so def
, var
and void
are highlighted the same as primive type keywords. A separate preference was added for assert
, as this might be a keyword you want to highlight differently from the others. Clicking the "Copy Java Color Preferences" properly copies the bold preferences, which are typically off for Dark Theme and on for Light Theme.
- star imports (code hover/select of type and package)
- @Transactional, et al. methods
- @Deprecated types and members
- static/object initializers
- static accessor methods
- anonymous inner classes
- GString sub-expressions
- Java 10 var keyword
Type Hierarchy (Ctrl+T or F4) now supports anonymous inner types.
Call Hierarchy (Ctrl+Alt+H) now supports property-style use of methods and method pointers.
- range expressions
- substring match ordering
- image for keyword proposals
- unimplemented abstract methods
" : boolean.class" was added to annotation attribute hover below to match Java Editor's support.
Current: Previous:
- initial population
- boolean properties
- reduced ASTNode and ClassNode redundancies
- 384: Some expression parts not highlighted in GString expressions
- 389: Error when renaming overridden method in enum constant
- 394: Argument names missing in code assist proposals for implementing missing methods
- 395: Missing code assist proposals to implement missing methods in anonymous inner class
- 411: Inconsistent list of suggestions when trying to complete List.with
- 417: Add support for annotation method default values in Javadoc hovers
- 477: Inconsistent code assist behaviour depending on how it is invoked (partially qualified inner classes)
- 491: Missing prefix suggestion for map-style constructor invocation when inserting a parameter in the middle
- 500: Wrong insertion of guessed argument when "Completion overwrites" is chosen
- 501: Missing suggestions for static methods in code assist when parser recovery involved
- 508: Implicit getter and setter accesses not shown in Call Hierarchy
- 509: Method pointers not shown in Call Hiearchy
- 630: Add import highlighting of deprecated types and members when type used as qualifier
- 640: Add support for code hover/select of type in star import
- 654: Add quick fix for unimplemented abstract methods in anonymous inner class
- 660: Fix type inferencing for closure parameter default values
- 661: Fix content assist for raw Class references
- 662: Content assist in free-variable position includes a number of low value proposals
- 663: Completion proposals for property showing visibility of backing field
- 664: Quick assist produces error in scopes with no containing method
- 666: Improve support for Dark Theme
- 667: Add support for Java 10 var keyword
- 670: Missing DSLD code assist proposals at start of non-empty closure block for delegate type
- 672: NullPointerException while refactoring a field name in a Java class
- 673: Error reported on subclass of a class implementing trait
- 675: Code assist fails when missing optional dependency in your project
- 676: Cannot easily type a range when "Enable auto activation" for code assist is enabled
- 677: Fix type inferencing and syntax coloring of method calls in class implementing trait
- 678: Rename of accessor method improperly renames property-style accesses
- 679: Fix type inferencing and syntax coloring of static property access within class of property
- 683: Fix type inferencing and syntax coloring of static property access outside class of property
- 684: Add parser recovery for incomplete range expression
- 685: Add support for Eclipse 4.9
- 687: Fix content assist for number expression
- 689: Fix content assist for void return type from methods
- 690: Inconsistent code assist suggestions for range expression
- 691: Fix content assist proposal image for keyword proposals
- 695: Anonymous inner class: wrong "override method" result when a space is present
- 696: IllegalArgumentException on code assist invocation
- 700: Add content assist proposals to implement missing methods in anonymous inner classes (pt.2)
- 701: NullPointerException in some code completion
- 705: "Override method in" implemented trait not proposed
- 706: Warning about missing @Override only shown for anonymous inner classes
- 708: No error mark on Groovy code that does not compile
- 709: Organize imports adds config script alias import
- 710: Add support for generics in content assist proposals
- 711: "Override method" code assist: wrong result when generics are involved but unspecified
- 712: Grails method-decorating transforms impact type inferencing and syntax highlighting
- 714: Error compiling class that implements trait (binary reference from grails-testing-support)
- 716: Fix syntax highlighting of property-style access of method (no backing field)
- 717: Missing field, method, property proposals within constructor call expression
- 718: Inner static block is causing compilation error
- 720: Open declaration on default param(s) method variant goes to top of source
- 724: Import all does not work for long packages
- 725: Problem marker decorations missing in Project Explorer
- 729: Groovy AST Viewer does not populate with current editor's AST when initially opened
- 731: Organize imports drops static alias when static star is also present
- 732: Organize imports drops same-named static imports from separate types/packages
- 733: Trait applied to interface with generic cause compile error
- 736: Cannot run all spock tests in a directory
- 737: With eclispe groovy plugin 3.x we can't compile our project anymore
- 738: Convert to property action generates incorrect property names for getABCXyz() style methods
- 744: Error visiting method with type annotation
- 745: DSLD does not support array class literals for param and return types
- 746: DSLD improve support for generics in method param and return types
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/3.1.0/e4.9
- https://dist.springsource.org/release/GRECLIPSE/3.1.0/e4.8
- https://dist.springsource.org/release/GRECLIPSE/3.1.0/e4.7
Archives of these update sites are also available:
- org.codehaus.groovy-3.1.0.xx-201810221923-e49-RELEASE-updatesite.zip
- org.codehaus.groovy-3.1.0.xx-201810221859-e48-RELEASE-updatesite.zip
- org.codehaus.groovy-3.1.0.xx-201810221704-e47-RELEASE-updatesite.zip
Greclipse 3.0.0 was released on August 2nd 2018.
- Groovy 2.6a4 new
- Groovy 2.5.1
- Groovy 2.4.15
Java 8 is the new minimum supported runtime. Support for Groovy 1.8 through 2.3 has been dropped.
The new Parrot Parser is part of Groovy 2.6+; it can be enabled in 2.6 by setting the groovy.antlr4
system property to true
. Error recovery is not yet implemented in the new parser, so edited sources may generate more errors than usual and features like content assist may fail on incomplete expressions.
Groovy 2.5+ has replaced the monolithic groovy-all
jar with a modular approach. This has forced the hand of GDT a bit; built-in support for Ant, Groovy Shell and Groovy Console have taken a bit of a step back. Support remains unchanged if the Groovy 2.4 compiler is used. Otherwise, the required libraries must be supplied on the project classpath. This can be accomplished using Ivy/Maven/Gradle, ~/.groovy/lib
or by other means.
- Ant - groovy-ant and its dependencies
- Groovy Shell - groovy-groovysh and its dependencies
- Groovy Console - groovy-console and its dependencies
- Eclipse Photon (4.8.0)
- Eclipse Oxygen (4.7.3a)
Support for Eclipse 3.7 through 4.6 has been dropped.
As of Eclipse Oxygen SR3a and Photon, Java 10 is fully supported within the IDE. It can be combined with any supported version of Groovy. Modulepath entries are not yet supported for Groovy sources; classpath entries work as expected. var
keyword support is coming in Groovy 3.
Support for test sources classpath attributes in Photon
Within the Groovy Libraries classpath container, the groovy-test
jar from Groovy 2.5+ is marked as "Visible only for test sources". Maven support (m2e) marks src/test/groovy
as "Contains test sources".
The test sources feature offers an interesting opportunity for Groovy AST transforms, extension methods, etc. -- since a two-stage build process now exists within a single project. In the past, if you wanted to create and use AST transforms, it was recommended to use 2 separate projects. In Eclipse Photon, AST transforms could be defined in a non-test source folder and applied in a test source folder of the same project.
The project context menu has been consolidated, reorganized and updated.
In previous releases, the two separate submenus looked like this:
Compiler config script is no longer applied to project resources outside of source folders as well as non-compiled sources (see Groovy > Compiler > Groovy Script Folders). By default, this means any *.dsld and *.gradle scripts will not have the project's config script applied. And it should mean the config script is not applied to itself any longer, making editing of the script much easier. Content Assist and Organize Imports also show improved support for the addition of imports through compiler configuration.
Several usability improvements have been made for debugging. Class creation breakpoints and field read/write watchpoints have been implemented. Breakpoints can be set for Groovy classes in the Class File Viewer. Method enter/exit breakpoints have been fixed. Debug commands Run to Line (Ctrl+R) and Step into Selection (Ctrl+F5) have been fixed.
Each of the Groovy content assist preferences and the most popular/relevant Java content assist preferences have been tried in combination to ensure support in the Groovy editor is on par with the JDT. The two-state preference "Use guessed arguments for method calls" has been replaced by three-state preference "Fill method arguments and show guessed arguments" provided by JDT. A convenient link has been added to the Groovy > Editor > Content Assist preference page to get to Java's Content Assist preferences.
Constructors can now be completed with or without argument insertion or guessing. Necessary import statements or qualifiers are inserted. And anonymous inner classes can be started quickly by triggering a constructor proposal with {
. Methods that have a SAM type for their last parameter can be completed with a Closure literal that includes parameters matching the SAM signature by triggering a proposal with {
. Named argument completions do not include trailing ", " any more. The tables below summarize Java and Groovy behavior with different preference and triggering combinations.
Methods with a trailing closure received a code completion boost as well. In more cases, a closure literal is inserted in idiomatic fashion -- "Place trailing closure arguments after closing parenthesis" is now on by default -- to encourage Groovy coding practices. The "it" parameter has been removed and replaced with smarter cursor positioning and selection, saving keystrokes and supporting the builder pattern.
Support for @DelegatesTo(type='pack.Type')
was completed. All forms of this annotation should work properly now.
Support for @ClosureParams(value=SomeHint, options=[...])
has been added. The conflictResolutionStrategy
attribute is not yet supported.
In conjunction with the changes to use @DelegatesTo
and @ClosureParams
to replace static lists with runtime discovery of type information, Default Groovy Methods (DGMs) are now being discovered from each project's classpath. This allows changes to DGMs between Groovy versions to be seen and leveraged. And third-party DGMs now have first-class support in content assist and type inferencing.
def m1(def x) {
def cl = { ->
x = 1
}
x // typeof(x) == Object because Closure is not executed
}
def m2(def x) {
if (predicate()) {
x = 1
return 0
}
x // typeof(x) == Object because conditional block does not share path here
}
def m3(def x) {
if (x instanceof CharSequence) {
x = Integer.valueOf(x) // typeof(x) == CharSequence
}
x // typeof(x) == LUB(Object,Integer)
}
def m4(def x) {
if (predicate()) {
x = ''
} else {
x = new StringBuffer()
}
x // typeof(x) == LUB(String,StringBuffer)
}
Method toString
was inferencing as Class.toString()
in:
String[] arr = ...
def str = Arrays.toString(arr)
Method getMethod
was showing as unknown (underlined) in:
def m = String.getMethod('toLowerCase')
Property superclass
was showing as unknown (underlined) even though hover shows javadoc for Class.getSuperclass
in:
Class clazz = String
def parent = clazz.superclass
Method call Chars.equals
was showing as unknown (underlined) and hover showed javadoc for Object.equals
in:
class Chars {
static boolean equals(char[] a, char[] b) {
}
static void main(char[] x, char[] y) {
if (Chars.equals(x, y)) {
}
}
}
SAM types in assignments, coercions and method parameters can be used to determine closure parameter types.
@FunctionalInterface
interface Sam {
int meth(int a, Long b, java.util.regex.Pattern c);
}
def util(Sam s) {}
// for each: typeof(a) == int, typeof(b) == Long, typeof(c) == Pattern
util { a, b, c -> ... }
Sam type = { a, b, c -> ... }
def type = { a, b, c -> ... } as Sam
The type of arr
is dependent on the return type of the closure expression. length
, group
, and matches
were showing as unknown (underlined) in:
Matcher[] meth() {}
def arr = with {
return meth()
}
arr.length
arr[0].group(0)
arr[0].matches()
Variadic method call with multiple overloads was showing as first overload, not best match in:
Arrays.sort() // sort(Object[])
Arrays.sort(new Object()) // sort(Object[])
Implicit "length" field for arrays is available as a code completion and correctly inferences as type int
.
Content assist for inner classes and enum constants has been improved, including discovery with or without outer-class qualifiers. Code completion includes necessary imports or qualifiers depending on content assist preference.
Throwable types received a relevance boost for content assist within catch
and throws
clauses.
Content assist for non-declaration assignment expressions has been improved; parser error recovery has been added. This includes the combined operation assignments like +=
, &=
, etc. An assignment like foo = |
or foo += |
now supports correct code completion proposals.
Content assist for ternary operator expressions (? :
) has been improved to allow completion proposals for def str = condition ? String.val|
. Previously this would have caused an unrecoverable parser error, preventing content assist proposals.
- 328: Formatter not wrapping function calls
- 359: Missing code assist while typing a ternary operator
- 365: Code assist does not add necessary qualifier for use of constant in type annotation
- 367: Guessed enum values proposed without qualification when invoking a method
- 369: Add import or organize imports choice dialog not restricted to annotation types when proposing choices for an annotation
- 370: Fix compatibility between Buildship/Gradle and Groovy 2.5
- 374: Code assist does not add necessary "this" qualifier when completing property proposals in static context
- 403: Import not added when using a nested class in current package
- 404: No map-style constructor code assist with nested class
- 405: Wrong code navigation with switch and def
- 409: No code assist on map-style constructor call for property values
- 410: Code assist completion with "{" and method with Closure as last argument
- 412: Add support for Groovy 2.6
- 414: Add support for @ClosureParams in type inferencing
- 415: Improve support for @DelegatesTo in type inferencing
- 418: Fix code completion for qualified elements in annotation
- 419: Limit type proposals for Class annotation elements to T or subtypes of T
- 420: Fix code hover/select for anon. inner override of varargs method
- 426: Code completion proposals for Throwable types should have higher relevance within catch parameter
- 428: Content assist proposal that adds import fails if config script or AST transform adds imports
- 430: Incorrect organize imports result with config script or AST transform that adds static on-demand import
- 435: Import favorite completions do not respect some Content Assist preferences
- 438: Code completion for enum constant does not add necessary import or qualifier
- 442: Class rename does not update generic references
- 445: Named argument completion for methods with Closure as last parameter may produce syntax error
- 451: Closure completion proposals missing for method pointer expression
- 452: Code select missing for type in map constructor expression
- 455: Add support for argument guessing in constructor completions
- 456: Constructor and method context display not working
- 460: Add support for inner type completions on qualified name expressions
- 461: Add support for inner type completions on partially-qualified expressions w/o supporting import
- 468: Find type references missing coercion expression
- 470: Method context proposals not shown for static method call expressions
- 473: No warning for source unit with missing package statement
- 474: Add parser recovery for incomplete static import statement
- 475: Do not propose synthetic closure types
- 478: Code assist does not add necessary qualifier for use of inner type in type annotation
- 482: Do not propose non-static members in static imports
- 486: Move "Groovy Type Checking" submenu items to "Groovy" submenu
- 489: Map-style contructor call not shown in call hierarchies
- 490: Remove trailing ", " from map-style constructor call named argument proposals
- 492: Groovlets causing "The declared package "" does not match the expected package" warning
- 502: Unrecognized static method call from within closure
- 506: Code select and semantic highlight of DGSM with non-static object expression is missing
- 511: Semantic highlight of static method in GString is off by one
- 512: Semantic highlight of static method is that of category method
- 519: Constent UI freeze - unhandled event loop exception makes editor unusable
- 520: Incorrect semantic highlight of field reference in field initializer expression
- 521: Improve flow typing support for closures, instanceof and terminal blocks
- 522: Improve flow typing support for conditional blocks
- 523: Improve flow typing support for methods with closure parameters
- 524: Fix code hover/select for array length field
- 525: Fix type inference for static toString methods (and others found on java.lang.Class)
- 538: Fix type inferencing for variadic Class methods
- 539: Fix type inferencing of static member imports that also are DGM names
- 544: Cannot add breakpoints in groovy class from jar file
- 545: Incorrect semantic highlight of static import property access
- 546: Remove local AST transform filtering/switching
- 549: performing organize imports results in error
- 551: Array length field completion proposal is missing
- 552: Load the Default Groovy Method types from project classpath
- 557: Add support for Run To Line in debugger
- 558: Add support for class load breakpoints
- 559: Add support for field read/write breakpoints (aka watchpoints)
- 560: Fix support for method enter/exit breakpoints
- 564: Failed to bootstrap GroovyClassLoaders when trying to open build.gradle file in non-Groovy Gradle master project with Groovy editor
- 582: Workspace search breaks when running on openjdk-10
- 584: Exception formatting a simple file
- 588: Improve SAM type closure parameter type inferencing
- 592: Getting code=10053 error while installing groovy-eclipse on Eclipse IDE (Oxygen) for Eclipse Committers
- 593: Add completion support for new pattern attribute of Newify AST transform
- 594: Java refactoring leads to OOM
- 595: Fix type inference for static equals methods (and others found on java.lang.Object)
- 596: Fix parameter completion proposals in empty method body
- 597: DSLD meta methods and properties not restricted to free-variable position
- 598: DSLD: AssignedVariable pointcut does not match at a start of an assigned closure
- 600: DSLD: AssignedVariable pointcut does not match in non-declaring assignment
- 602: DSLD pointcut hasArgument does not support variable expression name matching
- 604: Add content assist for @NamedVariant, et al.
- 605: Fix type inference of local variables vs. DSLD contributions
- 613: DSLD: Context information popup highlights wrong parameter name in case of a trailing closure
- 616: NullPointerException preventing Groovy compilation
- 619: NPE in TraitHelper.isTrait
- 621: Fix type inference for class instance methods when accessed as properties
- 623: DSLD method proposals with positional and optional parameters showing incorrect name-type pairings
- 625: Trailing closure content assist pref can produce strange replacement
- 626: Trailing closure and use closure literals content assist prefs together produce strange selection
- 627: Compiler config script should not apply to filtered scripts (incl. *.dsld and *.gradle)
- 628: Documentation of DSLD not shown with Eclipse Photon
- 629: Import source positions are inconsistent with JDT
- 633: Fix content assist for method with Closure as last param and '{' as trigger character
- 636: Organize imports does not remove explicit import that can be satisfied by config script import
- 638: Fix DSLD type inferencing for map keys
- 643: Fix content assist for constructor with Closure as last param
- 644: Fix type inferencing for pseudo-varargs method like Arrays.toString
- 645: DSLD annotatedBy pointcut does not account for collector annotations
- 646: Fix type inferencing for multiple method overloads (static and non-static)
- 647: Organize imports does not retain type import used to disambiguate multiple star imports
- 648: Position of meminitial and memmax on comand line
- 650: Fix content assist for DSLD method with SAM type as last param and '{' as trigger character
- 651: Mock field proposed for setter has void type
- 653: Add support for code select of anonymous inner class type name
- 657: Fix type inferencing for resolve strategy Closure.DELEGATE_ONLY
- 658: Fix DSLD type inferencing for resolve strategy != Closure.DELEGATE_FIRST
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/3.0.0/e4.8
- https://dist.springsource.org/release/GRECLIPSE/3.0.0/e4.7
Archives of these update sites are also available:
- org.codehaus.groovy-3.0.0.xx-201808011942-e48-RELEASE-updatesite.zip
- org.codehaus.groovy-3.0.0.xx-201808021626-e47-RELEASE-updatesite.zip
Greclipse 2.9.2 was released on January 4th 2018.
- Groovy 2.5.0 new
- Groovy 2.4.13 new
- Groovy 2.3.11
- Groovy 2.2.2
- Groovy 2.1.9
- Groovy 2.0.8
- Groovy 1.8.9
InvokeDynamic flavor included starting with 2.5. Package exports in bundle manifests have been corrected. Several past fixes have been backported to all supported runtimes. Source jars for embedded BSF and Ivy jars have been added where missing and the linkages are made properly so Eclipse sees them.
- Eclipse Photon (4.8) pending
- Eclipse Oxygen (4.7)
- Eclipse Neon (4.6)
- Eclipse Mars (4.5)
All other supported versions were patched up to the most recent state of their respective maintenance branches.
As of Eclipse Oxygen SR1a and Photon M3, Java 9 and JUnit 5 are fully supported within the IDE. Either can be combined with any supported version of Groovy.
Test cases can be run individually. Set up and tear down chains are easy to understand. @Ignore
, @NotYetImplemented
and @Parameterized
are supported for tests. And all the other benefits of JUnit 4 over JUnit 3.8 are available.
Closures. List and map literals. Multi-line strings for inline Groovy/Java sources. And all the other benefits of Groovy.
JDT overlay icons are used on source file icons to provide a familiar look and feel. Overlays are applied to the lower-left corner to leave room for other decorations like class type (upper-right corner -- abstract, interface, etc.) and source control status (lower-right corner).
Many of the Groovy preference nodes have been moved under Editor. Individual content assist preferences have been moved from Groovy to Content Assist and have been reworded for improved clarity of purpose.
Persistence of the global Groovy Classpath Container preference has been fixed. Restore Defaults on the project's Groovy Compiler page works properly for any permutation of preference values. JUnit monospace font preference has been restored to working condition.
Organize Imports (Ctrl+Shift+O) has been stabilized and now works for types appearing in many more places in a source file, incl. casts, coercions, generics, annotations, throws clauses, catch parameters, for-each parameters, etc. Also, support for static imports has been added. Organize Imports can viably be enabled as a Save Action for a project now. It will not run if the source unit has a syntax error.
Groovy Editor quick assists (Ctrl+1) show a preview of the proposed change to prevent you from being surprised. The preview pane is the same as the Java Editor provides for many of its quick assists. Insertions are indicated with boldface.
Add Import (Ctrl+Shift+M) has been fully realized. This action converts a fully-qualified expression like java.util.regex.Pattern.compile('123')
to import static java.util.regex.Pattern.compile
and compile('123')
. And it can be used to look up unresolved types and present a choice dialog in the case of multiple matches. Add Import now respects your import order and semicolon preferences as well.
Replace method call with property expression (Ctrl+Shift+,) has been added to the Groovy Editor > Source context menu as well as the quick assist menu. This action converts foo.getBar()
to foo.bar
and foo.setBar(X)
to foo.bar = X
.
Replace dynamic type (aka def
keyword) with inferred type has been added to the quick assist menu. This new action leverages the power of the type inferencing engine. The declared type may be many steps removed from your local variable, so it may be quicker to type def and then use the quick assist.
Quick assist for converting local variable declarations to field declarations has been enhanced to convert locals to fields in scripts using the @Field
transform.
Quick assist for converting single-line string literals has been enhanced to convert a string concatenation sequence to a multi-line string as well. Simply select the sequence (or place the caret adjacent to the last + operator) and choose "Convert to multi-line string" from the Quick Assist (Ctrl+1) menu. If the selected expression includes any non-string expressions, they will be inlined into a multi-line GString expression and embedded newline characters will cause the multi-line string to start a new line.
So, for example:
'one\n' +
'two\n' +
System.currentTimeMillis()
becomes:
"""one
two
${System.currentTimeMillis()}"""
Support for per-project compiler config scripts has been added to the Eclipse UI, Eclipse CLI and Maven compilers. This replaces the unpublished and experimental property-based greclipse.extraImports
and greclipse.customizerClassesList
features.
This example leverages the automatic import of CompilerCustomizationBuilder
's static member withConfig
-- available since Groovy 2.1. More examples of compiler configuration are discussed in the Groovy 1.8 and Groovy 2.1 release notes.
Note: Before editing your config script, you may want to disable it for the project or use the plain-text editor. The Groovy Editor will apply the script even when editing the script itself.
Support for JDT's classpath features has been improved. Java Type Filters (Window > Preferences > Java > Appearance > Type Filters) are fully supported in the Groovy Editor when performing content assist or organizing imports. Favorites (Window > Preferences > Java > Editor > Content Assist > Favorites) are also supported for content assist of variable expressions. Lastly, Build Access Rules inclusions and exclusions are supported when resolving types.
Previous releases supported the basic @DelegatesTo(Type)
form for improved editor support of methods that accept a Closure
. The @DelegatesTo
attributes value=DelegatesTo.Target
, target='name'
, strategy=n
and genericTypeIndex=n
are all supported. type='pack.Type'
support is stubbed out, but not finished. Note: @ClosureParams
remains unsupported.
Rules for source folding have been fixed or enhanced to support folding of static initializers, multi-line closures, and multi-line comments within scripts.
Grapes can be seen in the Outline view. Toolbar filters have been enabled to match the Java view. Script members are more accurately represented.
The type inferencing/code visitation engine has received a number of upgrades. Code hover/select works for most occurrences of a type, field, method or property in a source file. Code hover on packages in fully-qualified names has been added. Code hover/select on keywords and operators has been suppressed. Support for @TypeChecked
and @CompileStatic
transformations has been improved. In general, code hover/select should now work in the Groovy Editor much the same as it does in the Java Editor.
The improvements to inferencing/visitation have a trickle down effect on many related features, including Semantic Highlighting, Content Assist, Quick Assist, Refactoring and more. Specifically for highlighting, support for a number of syntax elements has been added, fixed or improved:
- traits
- number literals
- map constructors
- anon. inner classes
- closures in closures
- annotation attributes
- fields versus accessors
- parameters and variables
- category (aka Groovy) methods
- methods accessed as properties
- overloaded and
@Memoized
methods -
@Lazy
and script@Field
fields, incl. initializers -
@CompileStatic
and@TypeChecked
classes and methods
This sample compares 2.9.2 (on the left) to 2.9.1 (on the right). There are differences on most lines. Notice especially in the Date map constructor that 2.9.2 shows the year
and month
properties as deprecated and the day
property as unknown. And in the same block, use
and daylightSavingsOffset
are indicated as category methods, not just plain methods.
This next sample shows special highlighting of a regular expression with inline comments -- available for slashy and dollar-slashy strings.
Concurrent modification exceptions in the DSLD subsystem have been corrected with proper synchronization of data structures.
Prior versions of Greclipse had a few special-case checks to support @Test
and @RunWith
for JUnit/Spock. But most annotations on Groovy types, fields, and methods were not visible to the JDT tooling. In this release, all annotations are represented fully in the JDT model. This allows full support for errors/warnings against annotations, as well as suppressions using @SuppressWarnings
. And things like null safety checks (@NonNull
, @Nullable
, etc.) work properly.
Annotation types can be completed starting from just an @
. Attribute names and values can be completed within an annotation's parentheses. And annotation collector annotations are recognized as annotations for content assist and type inferencing -- once compiled they are actually plain classes in the type system.
Previously, CompileDynamic
would not be listed in content assist for an annotation context and it would have shown with a C icon in content assist for a type.
Content assist for local variable assignment statements has been improved to allow completion proposals for Type name = |
. Previously this would have caused an unrecoverable parser error, preventing content assist proposals.
Content assist for method pointers (.&
operator) has been added and direct field access (.@
operator) has been improved.
Built-in templates for use blocks, JUnit 4, and GContracts have been added. Duplicate ID issues have been fixed.
- 400: Document how to use compiler config script in maven
- 402: Missing reference in Call Hierarchy (probably due to the use of generics)
- 401: Using source 1.8 triggers a Java 9 dependency and fails compilation
- 398: Working set references broken in setup
- 388: Missing incoming/outgoing decorations in Synchronize View for Groovy files
- 373: Invalid reference detected by Call Hierarchy
- 393: "Assign statement to new local variable" quickfix producing a compilation error when "return" is present
- 387: Type inference problem on sort().each()
- 371: Missing code assist in static method with @CompileStatic
- 379: Import not updated for nested enum class
- 372: Wrong call detected on Date.parse(String, String)
- 383: Field initializer anonymous inner class fouling up type inferencing / semantic highlighting
- 378: Method not recognized when invoked from an anonymous inner class
- 377: Nested closure loses reference to delegate of the outer closure
- 155: Upon save of editor: "Save Failed: assertion failed"
- 368: Wrong method call detected when chaining two calls
- 375: Conflict with servlet-api
- 366: Wrong detection of field vs setter access within closure
- 360: Missing code assist within 'with' closure in static method
- 293: Inconsistent code formatting of closures (with input parameters) assigned to instance fields
- 363: Wrong navigation for a delegate field inside a 'with' closure
- 362: Import declaration not added when requesting a constructor completion for a class in a different package
- 358: Camel-case code assist not working for property name completion in map-style constructor invocation
- 361: Missing code assist trigger with dot ('.') when referencing an object within a 'with' closure
- 357: Can't open Grails views: "Editor could not be initialized"
- 331: Missing suggestion for property name completion in map-style constructor invocation code assist
- 265: Add support for Java 9 to Groovy-Eclipse Maven plugin (aka batch compiler)
- 353: Support custom compiler annotations
- 343: Groovy JUnit test causes UI freeze when Run As context menu is opened
- 161: Add support for InvokeDynamic (indy)
- 344: Static type checking errors on maven compile
- 346: Wrong completion for constructor code on a generic class
- 347: Navigation not working
- 318: Eclipse Oxygen can not add Groovy-plugin along with Java 9
- 327: Eclipse 4.7 hangs on every modification of code in groovy editor
- 340: gmavenplus-plus plugin execution not covered since 1.6
- 339: UI Freezes
- 338: Slow Java Searches
- 335: Struggling to compile java code with annotation processor produced generated-sources
- 174: Issue GROOVY-6899 is present in currently deployed 2.4 compiler
- 138: Does not support annotationProcessors (in Maven POM)
- 332: No suggestion for map-style constructor invocation by code assist when the class being constructed is written in Java
- 330: Missing property suggestion in map-style constructor invocation code assist when such property is defined just by its setter
- 329: Missing Groovy references in Call Hierarchy and Search for References when method invoked through an interface
- 312: Step over continues to next breakpoint
- 325: Internal compiler error: java.lang.IllegalArgumentException building mixed Java 8 and Groovy 2.4
- 267: Assignment pointcut access inside DSLD
- 323: NullPointerException at JDTAnnotationNode.java:176 with Eclipse Neon
- 308: Compiler error for function with static return type
- 322: Refresh dependencies failed
- 192: src/test/groovy disappearing from the classpath when updating maven project
- 191: Groovy main/test folders not added as source folders
- 130: Import maven project in workspace: 'configure->convert to groovy project' not available
- 321: Unable to resolve groovy source in test files
- 320: Cannot switch groovy compiler level
- 317: "org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object" in Eclipse 4.7
- 319: Could not find jline in class path when Run As Groovy Shell
- 316: The 'Groovy Code Completions' proposal computer from the 'org.codehaus.groovy.eclipse.codeassist.completion' plug-in did not complete normally
- 315: Auto Complete Error
- 314: unable to install in Neon 3
- 306: Groovy-Eclipse Type Inferencing: Error visiting method run in class xxx
- 313: Misspelling in message displayed
- 303: DSLD tests are not executed for snapshot builds
- 292: Missing code assist in method invocation when no closing bracket present
- 304: Allow contributions to DSLD Classpath Container
- 301: NoSuchMethodException in GroovyExtraInformationHover.extraDocAsHtml
- 122: editor has spurious "abstract method" error on trait methods
- 286: Missing code assist in map-style constructor
- 287: Wrong code assist order in method call completion
- 288: Poor experience with code assist
- 266: Red exclamation mark on build.gradle files
- 123: Incompatibility between Eclipse Code Recommenders and Groovy-Eclipse (restart helps)
- 290: Inconsistent Groovy completion in Default Proposals content assist if only Java Proposals (Code Recommenders) is enabled
- 289: Enable type-aware code assist in map-style constructor call
- 190: Provide Eclipse-Installer/Oomph .setup file for groovy-eclipse development
- 302: GroovyCompletionProposalComputer is unable to return any proposals due to incorrect completion expression
- 297: Update setup-based development instructions
- 285: The literal -1 of type int is out of range
- 284: Can't install on Spring Tool Suite
- 283: PDE build for Mars.2 and Groovy-eclipse
- 281: Bamboo CI builds need repairs
- 277: When I install this plugin, gradle scripts show up with an Error icon.
- 278: confused by annotations on enum values
- 280: Source code for groovy-all (still) not available
- 276: java.lang.NoSuchFieldError: EMPTY_ARRAY error in code navigation and completion with groovy compiler 1.8.9
- 273: Can't install m2e connector in Eclipse Luna
- 275: file associations question
- 187: How to run a groovy script at generate-source phase
- 183: Compile only groovy files
- 156: incremental compiler erroneously removes AST annotations from fields
- 270: Custom AST transformation classes broken
- 257: Eclipse Neon.2 release due to conflicts cannot install groovy-eclipse m2e
- 271: Can't open files since last update
- 274: file associations error
- 268: BigDecimal is not Visible
- 178: ast transformation doesn't work in groovy-java project
- 264: Blank edit control on neon.1
- 262: Unable to compile a maven project since groovy-eclipse feature update
- 261: Cannot complete the install because one or more required items could not be found
- 176: compiler lies about indirectly referenced type can not be resolved
- 166: Compiler does not respect Build Path Access Rules
- 136: Compiler fails on using Constants within annotations
- 158: No way to enable static type checking on the compiler in maven
- 116: Lost many key bindings and quick-outline doesn't present dialog
- 125: Cannot use eclipse annotation-based null analysis
- 115: Double-clicking Spock def name in JUnit results view fails to recognize the method name
-
134:
$NON-NLS$ in lambda statement used as argument does not work - 143: groovy-eclipse does not work on Mars SR1
- 139: Braces not correctly matched in Groovy due to closures
- 146: Grails 3.1.0.M2 and Eclipse Mars: Groovy:Could not find class for Transformation Processor org.grails.compiler.injection.test.TestForTransformation declared by grails.test.mixin.TestFor
- 179: Internal groovy compiler error: !== unexpected NullpointerException in Traits.decomposeSuperCallName
- 185: Failure executing groovy-eclipse compiler
- 260: Aliases can not be used in annotations
- 259: Field is ambiguous in annotation but fine in class or script body
- 256: Static class literal in annotation value shows false compilation error
- 258: Internal groovy compiler error
- 250: GroovyEditor.updateOccurenceAnnotation blocks Eclipse UI thread for no reason
- 249: org.codehaus.groovy.eclipse.refactoring fails to start
- 254: -Werror flag not recognized by groovy-eclipse-compiler
- 255: Run as Groovy Script stopped working after installing newest snapshot plugin
- 209: IntelliSense not working properly in build.gradle: computeCompletionProposals() took too long
- 180: Eclipse-neon new parentheses formatter support doesn't work after installing groovy-eclipse
- 251: Building project with multiple grabs in different files takes an extremely long time to build (sometimes 3-5 min and sometimes eclipse just gets stuck at buildingWorkspace)
- 252: AST nodes for an empty script contains incorrect line & column numbers in Eclipse
- 234: Eclipse 4.6.1 hangs during content assitent on static methods on not yet imported classes
- 253: Groovy-Eclipse breaks java refactoring (extract to local var)
- 248: Code formatting requires selection of code to be formatted
- 240: Creation of element failed - Groovy Class
- 245: Statically imported fields causing compile error in annotation arrays values
- 213: NPE throw with Neon.1a Release (4.6.1) Type Parameter formatting preferences
- 182: Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: -1 at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:92)
- 147: Autocomplete doesn't work on Java Annotations
- 159: Compiler settings "See here" opens Codehaus termination page
- 229: Compilation error when using Eclipse Neon with Plugin Development and with Enabled Null Anotations
- 244: Change of Bundle-ClassPath in Manifest.MF of org.codehaus.groovy.eclipse.ant breaks headless build with ANT
- 235: Type mismatch for java files
- 201: Groovy Eclipse is incompatible with Eclipse Full(Eierlegende Wollmilchsau) Installations
- 181: JDT code status of Groovy (integration of fixes)
- 153: Plugin settings UI points to the codehaus docs
- 128: Save actions fails with ClassNotFound error
- 114: e44: JDT watch won't apply when building a custom product
- 120: Source code of Groovy-all is not available by default for 2.1.8, 2.2.2 and 2.3.3
- 124: @Grab Annotations in eclipse not working
- 126: GGTS freezing on opening any Groovy file
- 132: Modification exception in ImmutableClassNode.enableWriteProtection(...)
- 135: Groovy-Eclipse breaks "Call Hierarchy" and "Find Method References" functions in Eclipse
- 149: Plug-in 'org.codehaus.groovy.eclipse.ui' contributed an invalid Menu Extension (Path: 'org.eclipse.ui.projectConfigure' is invalid): org.codehaus.groovy.eclipse.addnature.action
- 150: AST transformations can't add nodes with AnnotationCollectors
- 144: Issue with Generic Method
- 142: Update formatter to bring in line with Eclipse Mars SR1
- 154: Code assist internal error caused by NullPointerException in TypeInferencingVisitorWithRequestor.visitBinaryExpression()
- 148: Groovy Eclipse throwing StackOverflowError: null at org.codehaus.groovy.control.GenericsVisitor.getPrintName
- 168: Greclipse prevent the use of the new Mars.2 (or even Mars.1) JDT code
- 184: Eclipse Neon dark theme issues
- 231: "Correct Indentation" results in ClassCastException in log
- 233: Compilation error on annotation parameters
- 239: wrong indentation of single statement ifs/etc
- 232: NullPointerException in AnnotationBinding.java
- 237: weird compile error for groovy script
- 223: Eclipse 4.6.1 hangs sometimes during code proposal
- 162: Dependent Projects with multiple source and output folders not handled (on Mars SR 1)
- 193: java.lang.NoClassDefFoundError: org/eclipse/jdt/groovy/search/TypeInferencingVisitorWithRequestor$1Helper
- 194: Parameter type is ambiguous in Java5.java
- 177: Static imports are overwritten when using content assist
- 205: NoopCleanUpsAction causes memory leak
- 224: Issue with @AnnotationCollector
- 204: Groovy: Arbitrary code execution Version < 2.4.5
- 206: java.lang.NoClassDefFoundError: org/codehaus/jdt/groovy/integration/LanguageSupportFactory
- 195: Plugin causes issues on indentation when generating methods
- 141: Incorrect call hierarchy
- 186: Missing source folders are added to classpath
- 188: Compiler error when compiling against JRE 8
- 172: eclipse 4.5.2 SubMonitor error
- 121: Support Groovy 2.4.x
- 112: Switching to Groovy compiler 2.4.1.xx-201502281941-e44 does not work
- 106: Missing Javadoc for Groovy in the Eclipse IDE
- 21: Fix compatibility with 4.3.2 Java 8
- 19: NPE when code completing Groovy in Eclipse
- 4: Groovy 2.1.2 appears to fix a critical issue in generics
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.7
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.6
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.5
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.4
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.3j8 (includes the Java 8 patch for Eclipse Kepler)
- https://dist.springsource.org/release/GRECLIPSE/2.9.2/e4.3
Archives of these update sites are also available:
- org.codehaus.groovy-2.9.2.xx-201801041714-e47-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801051705-e46-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801052009-e45-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801052226-e44-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801060157-e43j8-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801081619-e43-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801081821-e42-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.2.xx-201801082102-e37-RELEASE-updatesite.zip
Greclipse 2.9.1 was released on November 18th 2014.
The full list of issues resolved for this release:
This release of Groovy Eclipse supports the following versions of Groovy
- Groovy 2.0.7
- Groovy 2.1.8
- Groovy 2.2.2
- Groovy 2.3.7 New
The Groovy 2.3 and 2.1 compiler come installed by default. The Groovy 2.0 and 2.2 compiler can be installed separately from the release update site.
Groovy Eclipse is now compatible with Java 8. To use Java 8 and Groovy together you need to use the Groovy 2.3 compiler on Eclipse 4.4. If you really must you can also use Eclipse 4.3 and install Groovy Eclipse from the 'e43-j8' update-site.
Map keys are highlighted as strings in map initialization expression.
The type of map values accessed in Groovy style can be inferred.
New quick fix is added for type imports:
And for class casting:
No need for type casting inside instanceof blocks.
Several problems with type inference were fixed for generic methods and closure parameters.
Some of renaming and indentation issues were fixed.
Content assist support was added for static imports:
Proposals order now adjusted to become more handy:
Some annoying problems with classpath and incremental builds were resolved.
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/2.9.1/e4.4
- https://dist.springsource.org/release/GRECLIPSE/2.9.1/e4.3
- https://dist.springsource.org/release/GRECLIPSE/2.9.1/e4.3-j8 (Includes the Java 8 Patch for Eclipse 4.3)
Zipped archives of these update sites are also available:
- org.codehaus.groovy-2.9.1.xx-201411061335-e44-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.1.xx-201411061342-e43j8-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.1.xx-201411061336-e43-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.1.xx-201411061336-e42-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.1.xx-201411061404-e37-RELEASE-updatesite.zip
Greclipse 2.9.0 was released on Thursday, July 17th, 2014.
The full list of issues resolved for this release:
This release of Groovy Eclipse supports the following versions of Groovy
- Groovy 2.0.7
- Groovy 2.1.8
- Groovy 2.2.2 New
- Groovy 2.3.4 New
The Groovy 2.3 and 2.1 compiler come installed by default. The Groovy 2.0 and 2.2 compiler can be installed separately from the release update site.
Groovy Eclipse is now compatible with Java 8. To use Java 8 and Groovy together you need to use the Groovy 2.3 compiler on Eclipse 4.4. If you really must you can also use Eclipse 4.3 and install Groovy Eclipse from the 'e43-j8' update-site.
Groovy Eclipse now supports Traits with the Groovy 2.3 compiler. A trait is like an interface and can be implemented by your classes. However, Traits can also have fields and methods. Multiple Traits can be composed onto a class without using multiple inheritance and avoiding the "diamond problem".
More details about traits can be found in the Groovy 2.3 docs.
Greclipse now supports the use of 'AnnotationCollector' GRECLIPSE-1719 The AnnotationCollector tranfsform allows creating annotations that serve as aliases for a group of one or more other annotations.
Content assist is more accurate, it now considers method argument types rather than just the number of arguments GRECLIPSE-1573.
Was:
Now:
Use one of the following update sites depending on your version of Eclipse:
- https://dist.springsource.org/release/GRECLIPSE/2.9.0/e4.4
- https://dist.springsource.org/release/GRECLIPSE/2.9.0/e4.3
- https://dist.springsource.org/release/GRECLIPSE/2.9.0/e4.3-j8 (Includes the Java 8 Patch for Eclipse 4.3)
Zipped archives of these update sites are also available:
- org.codehaus.groovy-2.9.0.xx-201407142235-e44-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.0.xx-201407142111-e43j8-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.0.xx-201407142051-e43-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.0.xx-201407142131-e42-RELEASE-updatesite.zip
- org.codehaus.groovy-2.9.0.xx-201407151439-e37-RELEASE-updatesite.zip