Groovy

Software Screenshot:
Groovy
Software Details:
Version: 2.4.3 updated
Upload Date: 12 Apr 15
Developer: Thomas Amsler
Distribution Type: Freeware
Downloads: 31

Rating: 3.5/5 (Total Votes: 2)

Many of its features are inspired by languages like Python, Smalltalk and Ruby, making them available to developers using a Java-like syntax.

Groovy can be used for developing web applications , writing shell scripts, writing concise, meaningful, test cases using Groovy's JUnit integration, or prototyping and producing real industrial strength applications.

Groovy works cleanly with all existing Java objects and libraries and compiles straight to Java bytecode in either application development or scripting mode.

What is new in this release:

  • New Feature:
  • Extend @Builder InitializerStrategy to support adding the annotation to Constructors
  • Improvements:
  • Set anchors for each section in Groovy Ascii docs.
  • Minor typo in documentation for DefaultGroovyMethods.xor(left, right)
  • Groovysh code completion is not compatible with JDK 9 (Jigsaw)
  • Added primitive array join()

What is new in version 2.4.1:

  • New Feature:
  • Extend @Builder InitializerStrategy to support adding the annotation to Constructors
  • Improvements:
  • Set anchors for each section in Groovy Ascii docs.
  • Minor typo in documentation for DefaultGroovyMethods.xor(left, right)
  • Groovysh code completion is not compatible with JDK 9 (Jigsaw)
  • Added primitive array join()

What is new in version 2.3.0:

  • Official support for running Groovy on JDK 8
  • Traits
  • New and improved AST transformations like @TailRecursive, @Builder and @Sortable
  • New NIO2 module with Path support
  • Lightening fast JSON parsing and building
  • Closure parameter type inference
  • A new markup template engine
  • Groovysh and GroovyConsole ease of use improvements
  • New GroovyAssert test utility
  • More @BaseScript class capabilities

What is new in version 2.2.2:

  • Support int/int with int goal type.
  • Support int/int with any goal type.
  • Support T/V with T,V being one from (int, short, byte, char, long).
  • Have @Deletgate include line number in stack traces.
  • Improve error message in the case the user defines a "run" method in a script.

What is new in version 2.1.7:

  • Document limitation of normal map-style constructor use when using @Immutable
  • DOMCategory: text() doesn't get node value if it is a CDATA section
  • Overloaded operator with return type
  • Null arg call not ambiguouseven though it should be
  • GroovyDoc doesn't escape angle brackets in @code and @literal tags
  • JavaStubGenerator clears instance initializers
  • Using @CompileStatic on code that uses spread operator on a Set results in compilation error
  • @CompileStatic on class using with(Closure) leads to compilation error.

What is new in version 2.1.5:

  • Use of overloaded methods with empty/varags parameters fails if type checking is active
  • Ant groovyc throws a NoClassDefFoundError compiling a groovy class with @DelegatesTo and @CompileStatic
  • META-INF/services/org.codehaus.groovy.runtime.ExtensionModule missing from groovy-all.jar
  • @CompileStatic compilation fails sometimes in gradle build with error message Reference to method is ambiguous. Cannot choose between
  • Incorrect flow typing reset after if branch

What is new in version 2.1.4:

  • Support AST transforms on the field generated by @Field in scripts
  • @DelegatesTo should be @Documented

What is new in version 2.0.6 / 2.1.0 RC 1:

  • @DelegatesTo annotation: to help IDEs and the static type checker and compiler to know that method calls in a method parameter closure are delegated to another parameter of the method -- nice for DSLs like in Gradle build files.
  • Custom type checking extensions: so you can type check your DSLs at compile-time with your own logic.
  • A meta-annotation system: which allows you to define a new annotation actually combining several others -- which also means being able to apply several AST transformations with a single custom annotation.
  • Custom base script class flag for the groovyc compiler: to set a base script class when compiling Groovy scripts.
  • Compiler configuration script: to let you define various configuration options for the Groovy compiler, like specifying custom file extensions, various compilation customizers to apply, etc..

What is new in version 2.0.4:

  • It fixes some important issues we've had with generics with the stub generator, as well as several fixes related to the static type checking and static compilation features.

What is new in version 2.0.0:

  • A static type checker to let the compiler tell you about the correctness of your code.
  • Static compilation for the performance of the critical parts of your application.
  • Modularity, splitting the Groovy JAR into smaller feature-oriented JARs and letting you create your own extension modules.
  • JDK 7 Project Coin syntax enhancements, so that Groovy is still as friendly as possible with its Java cousin.
  • JDK 7 Invoke Dynamic integration to benefit from the support of the JVM for dynamic languages.

What is new in version 1.8.6:

  • Groovy 1.8.6 is a maintenance release essentially, with a few minor improvements and new features.

What is new in version 1.8.1:

  • Bugs:
  • Bug in AntBuilder - DemuxOutputStream should be used
  • Modifiers on local variables are ignored
  • Joint compilation fails if Groovy method with array parameter is called in vararg style from Java
  • Groovy Console Icon for Mac OS X broken
  • Only the root exception in a script is printed
  • @ToString does not work for enum types
  • Having a setter with a return value causes the stub generator to generate multiple setters and then fail to compile
  • Stub generation fails with generic signatures
  • java.lang.ClassFormatError: Illegal class name "groovy/jmx/builder/package-info" in class file groovy/jmx/builder/package-info
  • Varargs are not displayed by GroovyDoc
  • Java5 configureClassNode does not take care of parameter annotations
  • ClassNode.equals throws ClassCastException for object of other type
  • Improvements:
  • Truncate string when when generating MissingMethodException
  • Ternary operator ?: does not handle newline before ":" gracefully
  • Add connection configuration options to URL.getText(), URL.newInputStream() and URL.newReader()
  • Add local maven repo to default Grape config
  • To support PreparedStatement.addBatch()
  • When working with ClassNodes, sometimes need to call getFields() before getField() will work (lazy init)
  • Force annotations on variables to be included in ast transforms
  • groovyConsole should support more common file types: .story, .gpp, and .grunit
  • Make @ThreadInterrupt optional in Groovy console
  • Allow custom exception class to be thrown in @Interrupt AST transformations
  • @EqualsAndHashCode should use getX() instead of x when accessing properties
  • Enable JsonBuilder to work with objects recursively
  • @Newify works for pre-defined classes but not for classes defined in the same script
  • Make ASTTransformationCustomizer handle annotation parameters
  • An IDENTITY closure could be made available
  • Minor enhancement to provide no-arg versions of DGM grep(), find() and findAll() methods
  • 'includes' attribute in EqualsAndHashCode
  • Better tab completions for GroovyShell
  • findResults object/collection/map enhancement patch (CLONED from findResult)
  • Map.inject() doesn't accept closure with 3 arguments (collector, key, value), only 2 (collector, Map.Entry)
  • JsonBuilder with Writer support would be handy
  • Rename DGM collectAll to collectNested - keep original as an alias for the time being with a view to deprecating/removing eventually
  • Groovy should provide a shorthand for: collect{}.flatten()
  • New Features:
  • When executing command-line scripts it should be possible to execute a BEGIN and an END method (akin to AWK or Perl)
  • Add a take method to Collections, Iterators, Arrays
  • groupBy with a list or an array of closures as it's parameter for nested grouping

What is new in version 1.8.0:

  • The dynamic expressiveness of Groovy, specifically for defining DSLs.
  • Runtime performance.
  • Concurrent and parallel execution.
  • Design by contract.
  • Functional programming style.
  • First-class JSON support.
  • Compile-time meta programming.
  • More helpers and library additions.

What is new in version 1.8.0 RC 4:

  • Short-comings in the new optimization code.
  • An obscure GEP-3 bug.

What is new in version 1.7.10:

  • Fixed Bugs:
  • StreamingMarkupBuilder can produce invalid XML.
  • Groovy build fails in tests - test RedundantCastInStubTest fails.
  • Improvements:
  • Add support for overriding package-, doc- or class-templates in Groovydoc descendant classes.

What is new in version 1.7.9:

  • Bug:
  • GString not coerced to String when used in Exception subclass's ctor
  • Groovysh 'history recall' seems to be picking the wrong entry (off by 1)
  • ExpandoMetaClass.class.metaClass creates StackOverflow
  • LoadConfiguration fails to load *.jar
  • Incorrect handling of unicode escape sequences when calculating source locations
  • Groovy compilation results in warnings in generated code
  • Exception java.lang.VerifyError "Expecting to find object/array on stack" when overriding a notyped method with a typed method
  • Stub generator doesn't escape strings with mixed single and double quotes
  • Static inner classes are not being compiled correctly
  • Error with null parameter in prepared statements with old DB2 driver
  • Scripts' class nodes didn't have correct source positions
  • StreamingMarkupBuilder can produce invalid xml
  • Improvement:
  • Property read accessor defined via metaClass does not work without parameter list terminator in closure
  • GDK groovydocs for String.padXXX are not very clear [new wording attached]
  • Typo ( lists -> maps ) in GDK doc comment
  • Implement a way for direct method calls
  • New Feature:
  • Grape command cannot remove and/or update a "grape"
  • Task:
  • Rewrite GroovyScriptEngine

What is new in version 1.8.0 RC 1:

  • Bug:
  • Groovysh 'history recall' seems to be picking the wrong entry (off by 1)
  • LoadConfiguration fails to load *.jar
  • Exception java.lang.VerifyError "Expecting to find object/array on stack" when overriding a notyped method with a typed method
  • Using log variable created with @Log or @Log4j causes compiler error if used in static method
  • Console launched from groovy-all-1.7.6.jar now has ivy dependancy
  • Static inner classes are not being compiled correctly
  • "anystring" as byte[] throws java.lang.NumberFormatException: For input string: "anystring"
  • Improvement:
  • Add @ThreadInterrupt to console scripts automatically
  • Prefer ClassHelper.make(Class) over new ClassNode(Class)
  • New Feature:
  • Grape command cannot remove and/or update a "grape"

What is new in version 1.8.0 Beta 4:

  • Ongoing performance improvement work on primitive integer calculations.
  • Bundling of GPars in the libraries of the binary distribution.
  • Built-in JSON support with a JSON slurper and a JSON parser.

What is new in version 1.8.0 Beta 3:

  • Extended command expressions can be used on the right-hand side of assignments.
  • The @Log AST transformation is customizable for your own logging needs.
  • Map now has an isCase() method.
  • A @GrabResolver shortcut with @GrabResolver("http://some/url").
  • String can be coerced to Enums ("blue" as Color).
  • Support for closure memoization and trampoline.
  • @ThreadInterrup, @ConditionalInterupts and @TimedInterrupt AST transformations for stopping the execution of embedded scripts
  • min() / max() methods on maps (on values).
  • Ability to store node metadata in AST nodes, for use in your AST transformations.

What is new in version 1.8.0 Beta 2:

  • Generic type declarations leaking across all files in a build.

What is new in version 1.7.5:

  • Bugs:
  • Parse of assert fails when newline between 'test' and 'message'
  • Spring/CGLIB proxies throw exception "object is not an instance of declaring class"
  • Need to supply hand-crafted constructor for enum having >1 field
  • Exponantiation
  • GroovyScriptEngine can't refresh class from url other than file
  • Add test/coverage (for CLONE of Joint compilation fails for interfaces with primitive fields)
  • Compiler does not mind multiple default cases for a switch statement
  • Stub generator exhibits a synthetic method in the stubs it should not
  • Groovy 1.7.4 wont build from source
  • Generated createCallSiteArray is too big for JVM
  • Curry method fails when using it in a chain with IllegalArgumentException
  • DefaultGroovyMethods#unique O(n²) performance
  • DGM#consumeProcessOutput(Process, StringBuffer, StringBuffer) accepts only StringBuffers
  • @Immutable class, failure when trying to define private static members
  • DGM.eachLine() returns wrong result
  • Compilation error in using inheritance and generics together
  • Implicit this fails to get passed correctly from one non-static inner class to another
  • Round-tripping XML which contains a newline character reference in an attribute's value removes the character reference
  • Response already committed on Google App Engine when serving blobs
  • JavaStubGenerator doesn't properly generate annotations with properties of array type
  • Variable scope of BlockStatement getting lost inside ReturnAdder
  • ResourceBundle in 1.7-beta-1
  • Groovy truth of groovy.util.slurpersupport.NoChildren should be false
  • ClassFormatError extending generic interface that has a method with an Array argument returning the generic type
  • FindBugs errors for new Integer() vs. Integer.valueOf() like calls
  • unaryMinus fails for Short and Byte
  • Accessing outer properties/methods from inner classes results in NPE
  • Unqualified reference in subclass static method to superclass static fields fails to compile
  • Improvements:
  • findResult and findAllResults object/collection/map enhancement patch
  • Assert a closure call should look like
  • Improve Category Performance and Memory
  • Add multiple file extensions support in compiler
  • New Features:
  • Provide a mechanism for Global AST Transformations to be able to define a file extension for the Groovy sources they should be applied to
  • Provide a stub generator testing infrastructure
  • Add synthetic bindings to JList

What is new in version 1.7.4:

  • Closures are now "callable".
  • New AST transformations.
  • An additional syntax for strings, with $/.../$, to circumvent various escaping corner cases, like for example $/a/b\c$$ $//$
  • New GDK methods like Map.countBy{}, Map.collectEntries{}, Date.putAt() (subscript operator), Date.updated().
  • The new String methods like tr(), stripMargin(), stripIndent(), (un)expand(),
  • Map's withDefault{} method,
  • Closure's ncury() and rcury()

What is new in version 1.7.3:

  • New AST transformations, like @Synchronized (safer use of synchronization) and @InheritConstructors (nice for inheriting Exception constructors)
  • first() / last() / head() / tail() methods on arrays for consistency with lists (primitive arrays not covered yet)
  • Some BigDecimal handling improvements for better results on some edge cases calculations
  • An update to the static imports for properties
  • New method on Date so you can do cal[DAY_OF_WEEK] = MONDAY
  • New String handling methods, like capitalize(), UNIX's tr(), expand()/unexpand(), as well as stripIndent() and stripMargin()
  • A nice Groovy icon for the Groovy Swing Console on Mac OS X

Similar Software

sweet.js
sweet.js

28 Feb 15

Inject
Inject

12 Apr 15

hy
hy

13 Apr 15

Parameters
Parameters

12 May 15

Other Software of Developer Thomas Amsler

Grails
Grails

9 Apr 16

Comments to Groovy

Comments not found
Add Comment
Turn on images!