Changelog for Groovy 1.0.0
Bug
- [GROOVY-100] - [] operator does not work on Arrays
- [GROOVY-1000] - reset call in getAt for Matcher
- [GROOVY-1003] - Reassignment of args parameter fails in main method
- [GROOVY-1004] - List.minus() sometimes results in a list w/ elements ordered differently from the original list
- [GROOVY-1006] - Bugs in handling lists consisting of numbers of mixed types
- [GROOVY-1008] - Overriding properties defined w/ @Property gives wrong results
- [GROOVY-1013] - groovy command accepts very limited number of command line args on windows
- [GROOVY-1014] - Problem invoking a method with arrays as arguments
- [GROOVY-1017] - Cannot compile two classes that depend on each other
- [GROOVY-1018] - cannot access public static attributes called "Class"
- [GROOVY-102] - Install Problem, I have added the Path and Groovy_Home Variable
- [GROOVY-1020] - Bad error reporting in the "groovy" Ant task
- [GROOVY-1021] - Can't do multi-line input with groovysh since JSR-02
- [GROOVY-1022] - MarkupBuilder can't output tags with colons or hyphens
- [GROOVY-1023] - methods with varargs are called with null when args are empty but should use an empty Array
- [GROOVY-1024] - Static Member Access Error by ClassName
- [GROOVY-1025] - Can not use the syntax obj.@name in the left hand side of assgnment operators (=, +=, *=, etc)
- [GROOVY-1026] - Null argument to methods with vararg parameters are replaced with array of length 1
- [GROOVY-1028] - When accessing a static member of an interface null is delivered.
- [GROOVY-103] - Invoker helper class depends on mockobjects
- [GROOVY-1030] - no source and line number is shown in exceptions thrown from inside a script
- [GROOVY-1031] - Currying and recursive closures
- [GROOVY-1032] - Missing End Quote Hangs Script Created Through InvokerHelper
- [GROOVY-1035] - gpath is broken when using xml namespaces in attributes
- [GROOVY-1036] - Expando's class attribute should be overwritable
- [GROOVY-1037] - Primitive types don't have default values
- [GROOVY-1038] - Misleading error message when accessing a private static field
- [GROOVY-1039] - VerifyError: returning local variable outside of scope
- [GROOVY-104] - addition of two ranges fails
- [GROOVY-1042] - NoClassDefFoundError in Spring when calling static methods
- [GROOVY-1043] - java.util.regex.Matcher: group access by [] operator broken in jsr-03
- [GROOVY-1045] - groovy does not ignore global CLASSPATH even if -cp is specified on command line
- [GROOVY-1046] - Scoping bug results in a null pointer exception
- [GROOVY-105] - Parent class print method is wrongly picked up
- [GROOVY-1051] - Can't multiply two numbers ;-)
- [GROOVY-1052] - Improper line endings in groovy bootstrap scripts
- [GROOVY-1055] - MissingPropertyException: No such property: println
- [GROOVY-1056] - MetaClass.getAttribute() doesn't work if the field is on a superclass
- [GROOVY-1057] - If a class has a property and an attribute with the same name then getProperty always reruens the attribute
- [GROOVY-1058] - Can't set the vaule of an attribute on a superclass
- [GROOVY-1059] - a.@b() is flagged as a syntax error
- [GROOVY-106] - support the \uxxxx style escapes for Unicode characters
- [GROOVY-1064] - Compiler throws NPE when it can't find an imported class
- [GROOVY-1068] - setDelegate doesn't work when 'def' is used
- [GROOVY-107] - Constructor returns class instead of instance in groovlet
- [GROOVY-1071] - import com.foo.SomeClass.* does not work properly
- [GROOVY-1072] - void.class is not recognized by groovy
- [GROOVY-1073] - finally block not called, when "return"ed from catch block
- [GROOVY-1076] - MarkupBuilder does not work with escaped tags
- [GROOVY-1080] - Slash cannot be specified in regex
- [GROOVY-1081] - reader.transformLine(writer) {closure} doesn't yield closure return value to the writer
- [GROOVY-1082] - Currying a Writable closure results in a non writable closure
- [GROOVY-1099] - Changing the delegate ona Curried Closure causes subsiquent calls to fail
- [GROOVY-110] - println(true == false) fails
- [GROOVY-1102] - Fix mockobjects dependency in project.xml
- [GROOVY-1103] - Passing a Double to a method expecting String causes a StackOverflowError
- [GROOVY-1104] - possible bug in ClassNode#isScript
- [GROOVY-1106] - Invoker.format() can cause StackOverflowError
- [GROOVY-111] - unning groovy with a 0 length file crashes.
- [GROOVY-1117] - constants in interfaces
- [GROOVY-1118] - NPE when accessing a reference that was set inside a Builder
- [GROOVY-1128] - [].asSynchronized() << 1 fails
- [GROOVY-113] - entering # into the console causes an infinite loop & 100% CPU
- [GROOVY-1130] - byte[] to Byte[] coercions behave unexpectedly in both directions
- [GROOVY-1136] - GroovyClassLoader's additionalPaths has no effect on loadClass(string, boolean)
- [GROOVY-1139] - String.getAt throws NoSuchPropertyException with integer references
- [GROOVY-114] - use of 'class' as a property in named-property calling syntax
- [GROOVY-1140] - Groovy-classloader: class in same .groovy file not found when used within a package
- [GROOVY-1141] - Automatic Integer -> BigInteger coercion needed
- [GROOVY-1142] - Number comparison inconsistent
- [GROOVY-1148] - NPE in CompileUnit.addModule
- [GROOVY-1149] - GroovyResourceLoader not used when loading Groovy class from .groovy source
- [GROOVY-115] - fix the bug Guillaume found with using foo++ as a key value
- [GROOVY-1151] - 'bad interpreter' message when running groovy on OSX
- [GROOVY-1156] - Can't access nested enums
- [GROOVY-1157] - Problem with vargs
- [GROOVY-1158] - Missing line/col information when using wrong constructors
- [GROOVY-1159] - Misleading error message when using Java-style for loops
- [GROOVY-116] - calling closures within closures bug
- [GROOVY-1169] - Constants defined in interface not visible to subclasses
- [GROOVY-117] - Inconsistent Stack Height bug when using try / finally
- [GROOVY-1170] - for loop scope is bogus
- [GROOVY-1171] - NullPointerException caused by interaction of for loop scope and SwingBuilder
- [GROOVY-1175] - Ability to create empty multi-D arrays
- [GROOVY-1176] - Runtime does does not choose from multimethods corect;y
- [GROOVY-1179] - GroovyScriptEngine does not let you specify parent ClassLoader for GroovyClassLoader
- [GROOVY-118] - updating outer variables in closures inside shell Scripts seems to fail
- [GROOVY-1180] - GroovyScriptEngine fails to load scripts that exist on file:// roots if they only exist on a root that is not the last root
- [GROOVY-1184] - final @Property x generates a setX method
- [GROOVY-1188] - Unboxing a Boolean generates an NPE
- [GROOVY-1190] - error running groovyc from ant
- [GROOVY-1192] - ambiguous invocation exception for DOMCategory.getAt(Element, String)
- [GROOVY-1194] - Memory leak in MetaClassRegistry
- [GROOVY-1197] - Multi-D arrays don't work with custom classes as base element
- [GROOVY-1198] - Internal NPE when reusing variable name in different scopes
- [GROOVY-1199] - Groovy generates invalid class files when having a method that invokes a super class method taking a primitive as an argument.
- [GROOVY-120] - NullPointer when calling a java.util.Arrays.asList()
- [GROOVY-1208] - GroovyMarkup transforms single quotes in double quotes
- [GROOVY-1209] - Accented Latin characteres are not allowed in Groovy identifires
- [GROOVY-121] - Closure Bracket placement bug
- [GROOVY-1210] - complete Implementation of finally
- [GROOVY-1211] - String containing an integer is considered a character for ranges
- [GROOVY-1212] - Bad implementation of MultipleCompilationErrorsException
- [GROOVY-1216] - Scoping: precedence rules for getters / property access / field access
- [GROOVY-1217] - invalid class file generated when property and field name overlap
- [GROOVY-1219] - AntBuilder fileScanner broken after new Scoping
- [GROOVY-122] - print "foo" does not throw compile error
- [GROOVY-1220] - groovyConsole broken after new Scoping
- [GROOVY-1222] - Object[] as List causes ClassCastException
- [GROOVY-1224] - inter- onstructor call "this ( ..) " makes 2nd object!
- [GROOVY-1225] - Can't access static inner classes
- [GROOVY-1226] - Multiple Class fail to work with loadClass method in GCL
- [GROOVY-1227] - class resolution pb when A.groovy script calls class in B.groovy under Java 5
- [GROOVY-1228] - Scoping/variable resolving problem when static final field with same name declared in class
- [GROOVY-1229] - Problem with access to instance methods from closures in SwingBuilder
- [GROOVY-1230] - ClassFormatError when defining two identical methods in the same class
- [GROOVY-1231] - Make GroovyShell take care of CompilerConfiguration's source encoding
- [GROOVY-1233] - VerifyError when printing map
- [GROOVY-1234] - assertArrayEquals problem when multidimensional array
- [GROOVY-1237] - Concurrency problem when compiling scripts
- [GROOVY-1238] - NullPointerException oddity related to variable scope
- [GROOVY-1239] - Builders: calls to owner methods from within nested closures lead to markup instead of method calling
- [GROOVY-124] - Can't update static variable from closure in static method
- [GROOVY-1240] - Can't reference array classes statically
- [GROOVY-1241] - Actual ClassNotFoundException is hidden when loading classes with GCL
- [GROOVY-1242] - Cant have a class method returning an array of complex type
- [GROOVY-1243] - class generation does not enforce the "implements" keyword
- [GROOVY-1245] - Switch is not working
- [GROOVY-1249] - Class Reloading Doesn't work with inheritance
- [GROOVY-1250] - BigDecimal unnecessarily coerced into double on method invocation
- [GROOVY-1251] - java.lang.VerifyError with nested closures
- [GROOVY-1252] - Import class does not work with if the imported script is named as 'XXX.gvy' instead of 'XXX.groovy'
- [GROOVY-1254] - NPE in calculateParameterDistance
- [GROOVY-1255] - Type coercion ambiguity int -> (long, double)
- [GROOVY-1258] - A extends A causes compiler freeze
- [GROOVY-126] - MarkupBuilder: no such field "owner" error while generating HTML
- [GROOVY-1262] - NPE in MetaClassHelper.getClassName when calling static methods
- [GROOVY-1263] - Potentially misleading error message
- [GROOVY-1264] - Incorrect reporting of errorful execution
- [GROOVY-1265] - using 'this' in field assignments
- [GROOVY-1267] - MultipleCompilationErrorsException trying to run multiply by a negative with start and minus operator
- [GROOVY-127] - Local variable not updated through closure with Groovy shell
- [GROOVY-1270] - implementation of interface named exactly as the groovy class, but in another package yields stack overflow
- [GROOVY-1271] - Function names are not properly resoved in Scripts when trying to create a function pointer
- [GROOVY-1273] - VerifyError with ! and instanceof
- [GROOVY-1274] - NPE executing Collection.toArray( new String[ foo.size() ] )
- [GROOVY-1277] - Parent class private method shadows derived class private method with the same name.
- [GROOVY-1278] - Call to another contructor using this(args) results in constructor running on a new object.
- [GROOVY-1279] - VerifyError on a method override
- [GROOVY-128] - Function with statically typed parameter generates bad bytecodes
- [GROOVY-1280] - Calling Closure property with super and named arguments causes error
- [GROOVY-1281] - GroovyClassLoader should attempt to reload class after compilation error
- [GROOVY-1283] - Names in inner closure are not resolved against the right owner
- [GROOVY-1288] - When creating a map, the key cannot reference to a variable?
- [GROOVY-129] - A .map of an integer list passes in an IntRange rather than each integer
- [GROOVY-1291] - GroovyMBean doesn't support the use of overloaded MBean operations
- [GROOVY-1296] - Allow for null values in GroovyRowResult
- [GROOVY-1297] - Adding a setX method via a category doesn't work if the property is set via a Map in the constructor
- [GROOVY-130] - GString not converted to String in some cases
- [GROOVY-1306] - MarkupBuilder does not escape strings with newlines
- [GROOVY-1307] - Parameter values not available in nested closures
- [GROOVY-1309] - cannot create class WholeNumber
- [GROOVY-131] - Variable visibility issue within nested closures
- [GROOVY-1312] - method resolution not working
- [GROOVY-1313] - cannot access superclass' field
- [GROOVY-1316] - Groovy Console ClassCastException with groovy/ui/Console.groovy
- [GROOVY-1319] - Object Inspector doesn't start from groovysh
- [GROOVY-1321] - "Caught A Bug" error message shows with some bad scripts
- [GROOVY-1326] - method closures for static methods
- [GROOVY-133] - Closure parameters can't be of static primative type
- [GROOVY-1331] - Overloaded plus on java.sql.Date returns java.util.Date
- [GROOVY-1334] - Return from synchronized block throws IllegalMonitorStateException
- [GROOVY-1335] - AntBuilder doesn't instantiate Tasks the Ant way
- [GROOVY-1338] - Iterator for (x in y) and .each returning conllection not items in deep nesting closures
- [GROOVY-1343] - Code ceneration error when constucting literal Map
- [GROOVY-1344] - IncompatibleClassChangeError is thrown when an arg is assigned a default value from a static constant of another class.
- [GROOVY-1345] - static final declarations in classes not producing getter
- [GROOVY-1347] - MissingPropertyException is thrown when calling a method with a default arg set to a static field of another class.
- [GROOVY-1349] - allow throws clause for methodsin interfaces without semicolon
- [GROOVY-135] - println requires parentheses when new is used
- [GROOVY-1352] - allow GString equals String
- [GROOVY-1353] - UberTestCase3 is missing out tests
- [GROOVY-1354] - Parser fails when parentheses omitted from constructor
- [GROOVY-1357] - VerifyError Exception for boolean member variable
- [GROOVY-136] - parser chokes on file names beginning with the slash symbol
- [GROOVY-1363] - Wrong Error Message (java.lang.IncompatibleClassChangeError) for Undefined Variable
- [GROOVY-1364] - DOMCategory.getAt(Element, String) cannot be used because it conflicts with DGM.getAt(Object, String)
- [GROOVY-1366] - Unexpected newline error in method declaration
- [GROOVY-137] - unary minus exception
- [GROOVY-1373] - use correct class names for arrays, when loading through class$
- [GROOVY-1374] - cache only files by default
- [GROOVY-1386] - command line tools fail with SecurityException on OSX
- [GROOVY-1390] - Eclipse Project can exist outside of Workspace's physical location
- [GROOVY-1395] - GroovyEclipse RunAs Groovy doesn't check for a main method with the wrong kind of arguments
- [GROOVY-1399] - NPE in eclipse-plugin: no .class file generated
- [GROOVY-1408] - Closure parameters unnecessarily wrapped in groovy.lang.References
- [GROOVY-141] - break inside a while loop causes NPE
- [GROOVY-1410] - test for Annotation
- [GROOVY-1412] - Ambiguous method overloading for method ... interface parameters
- [GROOVY-1413] - public static variables not modifiable by top-level inner classes
- [GROOVY-1415] - Cant see line/column number in groovy runtime exceptions.
- [GROOVY-1418] - MarkupBuilder does not escape element content correctly if it contains EOL sequences
- [GROOVY-1421] - Invoker.asIterator() does not check for metaclass methods when trying to create an Iterator for an object
- [GROOVY-1427] - Calling intValue on a bound variable fails with java.lang.IncompatibleClassChangeError
- [GROOVY-143] - GString not replacing ${value} correctly
- [GROOVY-1430] - Invalid Package declaration: abc.groovy is not in a source folder matching the package declaration
- [GROOVY-144] - A closure body can't be a single identifier
- [GROOVY-1443] - no AST when groovy compiler report compilation errors
- [GROOVY-1445] - VerifyError in generated class data
- [GROOVY-1448] - Startup error
- [GROOVY-145] - Miltiline Strings don't work on Windows
- [GROOVY-1452] - GroovyEclipse should not touch the .classpath of a plugin
- [GROOVY-146] - Groovyc doesn't handle Windows format files properly
- [GROOVY-1463] - println prepends erroneous "." to result of Class#getSimpleName()
- [GROOVY-1468] - Illegal modifier on abstract method declarator
- [GROOVY-1469] - Duplicate method declarators in interface
- [GROOVY-1470] - Illegal class modifiers
- [GROOVY-1471] - Using both abstract and final as class modifiers
- [GROOVY-1477] - Can the Groovy compiler detect two methods with the same signature?
- [GROOVY-1478] - at least one variable name makes trouble
- [GROOVY-148] - ternary operator doesn't work
- [GROOVY-1481] - only files in source folders should be compiled
- [GROOVY-1483] - Repeatable VerifyError
- [GROOVY-1484] - NoSuchMethodError because static method is tried to be invoked on super class bug method signature does not match
- [GROOVY-1498] - tools.jar needed for AntBuilder (and Gant)
- [GROOVY-1506] - groovy task in ant throws NPE when calling target from inside groovy with antcall
- [GROOVY-1509] - Error Message for errors happening in getter contains no usable information
- [GROOVY-151] - Sometimes calling a closure with () doen't work
- [GROOVY-1519] - Caught: BUG! exception in phase 'class generation'
- [GROOVY-152] - Parser doesn't like a closure called with no parameters
- [GROOVY-1521] - The startup scripts for Groovy executables have problems on non-Windows systems
- [GROOVY-153] - Statically typed static fields generates a bad class file
- [GROOVY-1531] - No useful error message
- [GROOVY-1533] - GroovyJ plugin is not listed as available for IDEA 6
- [GROOVY-1534] - Exception thrown in an overriden setProperty() trapped
- [GROOVY-1538] - Calling a static method in a closure from another static method fails to find the static method
- [GROOVY-155] - Can't test if a the value of a Character is greater than or less than a value
- [GROOVY-1556] - ensure printing String[] shows the contents of the Array
- [GROOVY-1557] - calling getClass() fails if called on a java.lang.Class object
- [GROOVY-1564] - finally not called if try contains return
- [GROOVY-1571] - XmlSlurper GPathResult may contain erroneous null elements at end of findAll lists
- [GROOVY-1578] - mkp.ueildUnescaped does not encode characters
- [GROOVY-1582] - Category Properties broken in RC1
- [GROOVY-1583] - interface declaration in Groovy generates duplicate class definition when run
- [GROOVY-159] - for in where the control variable id used in the range specification doesn't work
- [GROOVY-1596] - NPE in GroovyClassLoader
- [GROOVY-1599] - thisObject not available in closure
- [GROOVY-16] - Support closures with no parameters
- [GROOVY-160] - Use of control variable after a for loop generates bad bytecodes
- [GROOVY-1600] - Eclipse Plugin changes projects folder when default groovy output path changes
- [GROOVY-1601] - Same Groovy and Java Output Folders doesn't work
- [GROOVY-1606] - Caught: java.lang.ClassCastException: gjdk.console.Console_GroovyReflector
- [GROOVY-1608] - GroovyCastException when accessing a closure's this.getClass()
- [GROOVY-1611] - Groovy should complain when you provide method bodies in an interface
- [GROOVY-1612] - Badly named getIntance method on MetaClassRegistry
- [GROOVY-1614] - Parsing a class from a script that has a CNFE in it produces no errors
- [GROOVY-162] - Can't cast an Integer to a Character
- [GROOVY-1622] - Groovy Compiler and GroovyConsole work in a very different way
- [GROOVY-163] - String Array Problem!
- [GROOVY-1631] - StackOverflowError on super method invocation
- [GROOVY-1632] - "Duplicate class definiton" error with interfaces
- [GROOVY-1654] - Groovy Eclipse Editor pegs CPU to 100% when editing certain .groovy files on linux
- [GROOVY-166] - Broken Links on Groovy website, possible example syntax error
- [GROOVY-167] - should support getting of listener properties
- [GROOVY-168] - for loop variable is not correctly passed into inner closure
- [GROOVY-1700] - println of org.w3c.dom.Node fails with NoClassDefFoundError: org/apache/xml/serialize/OutputFormat
- [GROOVY-171] - Null pointer in groovysh on ctrl-D
- [GROOVY-175] - super-constructor calling bug
- [GROOVY-176] - A range between an integer and a character doesn'r work
- [GROOVY-177] - fix build system so that the groovyConsole works again
- [GROOVY-178] - Arithmetic characters held in dynamically trped variables doesn't work
- [GROOVY-179] - Character doesn't support arithmetic operations
- [GROOVY-181] - bad GroovyServlet link in Groovlets example
- [GROOVY-182] - classes derived indirectly from Script don't work with Bindings
- [GROOVY-183] - MarkupBuilder fails for embedded groovy
- [GROOVY-1831] - VariableScope node contains only formal parameters, lacks local variable information
- [GROOVY-184] - for loop fails for embedded groovy
- [GROOVY-185] - setProperty() and now getProperty() do not throw MissingPropertyException
- [GROOVY-188] - Trailing null when iterating StringTokenizer
- [GROOVY-19] - package should be optional in a Groovy class
- [GROOVY-191] - 4 + 'x' causes error. most-general-type rule not applied
- [GROOVY-1927] - startGroovy script has issues on cygwin
- [GROOVY-194] - System.out.println() called in bsf.GroovyEngine#declareBean()
- [GROOVY-195] - Unable to new arbitary script name for in BSFManager#exec()
- [GROOVY-196] - java.lang.String.multiply(0) should return "" not throw exception
- [GROOVY-199] - overriding an inherited method that has basic types in the signature is problematic
- [GROOVY-20] - allow 'package' to be optional
- [GROOVY-200] - at runtime, groovy incorrectly fails when choosing between signature-specialized versions of a method
- [GROOVY-203] - Missing plugin dependencies
- [GROOVY-204] - org.osgi.framework.BundleException when running Eclipse plugin
- [GROOVY-206] - GroovyStrings are not always coerced to String
- [GROOVY-209] - Empty try block causes VerifyError
- [GROOVY-210] - System.out and classloader issues under Tomcat
- [GROOVY-211] - Cand have a closure over the parameters of another closure
- [GROOVY-212] - assigning to a class name should give a meaningful error message
- [GROOVY-213] - (NegativeArraySizeException) cannot handle 128 variable expansions
- [GROOVY-214] - nested closures seem to have a problem with variable passing
- [GROOVY-216] - println "${1}${1}" prints 1 not 11
- [GROOVY-220] - Object[] or String[] not allowd for type of a variable
- [GROOVY-2239] - Groovy POM on ibilio prevents builds.
- [GROOVY-224] - Variable declartion with type gets lost in closure
- [GROOVY-227] - BigDecimal type does not behave as expected with operators (+, -, ...)
- [GROOVY-230] - use of variable inside closure seems broken
- [GROOVY-232] - inherited invokeMethod does not work
- [GROOVY-233] - super call in invokeMethod causes a VerifyError
- [GROOVY-234] - GroovyScripEngine is broken for Threads
- [GROOVY-237] - Verify error when closure parameter is reused
- [GROOVY-238] - Nested closure with the same parameter name generates bad bytecodes
- [GROOVY-239] - Closures nested more than two deep can't access top level variables
- [GROOVY-240] - Parser thows nullpointer exception for missing close brace
- [GROOVY-241] - Currying a curried closure doesn't produce a new object
- [GROOVY-243] - Closure#curry doesn't support multiple args (and ius supposed to)
- [GROOVY-244] - Currying a Curried Closure changes base closure
- [GROOVY-245] - Cloning a curried closure removes the currying
- [GROOVY-249] - MarkupBuilder can't reference binding variables
- [GROOVY-251] - Lexer does not recognize .1 as a numeric literal
- [GROOVY-252] - Verify Error on member function in class
- [GROOVY-253] - Odd string crashes the parser
- [GROOVY-255] - Throwing Exceptions in Builders confuses groovy
- [GROOVY-264] - Parser doesn't like literal closures in stings
- [GROOVY-265] - The delegate is ignored when resolving names in a closure in a script
- [GROOVY-266] - an inner closure doesn't use the outer closures delegate to resolve names
- [GROOVY-267] - url(label: 'test') { CDATA(body) }
- [GROOVY-268] - Lexer doesn't understand hex constants
- [GROOVY-269] - parameters of boolean type to methods were not generated correctly in bytecode
- [GROOVY-271] - Groovy does not support floating point constants with exponents
- [GROOVY-273] - ClassGenration for numeric literal types other than Double and Integer
- [GROOVY-274] - Negate (-) does not work for types other than Integer, Double
- [GROOVY-276] - problems with packages
- [GROOVY-278] - Subclassing a java object in Groovy still has problame
- [GROOVY-279] - closures don't find variables in a delegate if the variable written to before it's read
- [GROOVY-280] - ClassFormatError with JDK 1.5
- [GROOVY-282] - isCase() - static method invocation by way of InvokeHelper should be polymorphic
- [GROOVY-284] - groovy script has issues on cygwin
- [GROOVY-285] - parsing 'int x = 123' fails
- [GROOVY-286] - modulo operator doesn't work
- [GROOVY-288] - User Guide bugs
- [GROOVY-289] - groovyconsole not starting because of non existing jar in CLASSPATH
- [GROOVY-293] - Exception thrown when assigning value to variable outside closure
- [GROOVY-294] - Syntax highlighting for comments not working correctly
- [GROOVY-295] - Compilation error information not displayd correctly
- [GROOVY-296] - default package handling in content outline broken
- [GROOVY-299] - Content outline exception
- [GROOVY-302] - plugin fails if workspace has any closed projects
- [GROOVY-303] - import using package.* doesn't seem to work properly for implements/extends class
- [GROOVY-304] - return <newline> value - throws exception
- [GROOVY-305] - single character strings should be coerced to characters if it helps
- [GROOVY-306] - Printing the result of the ternery operator ? : is broken
- [GROOVY-308] - system.out << a << b not working
- [GROOVY-309] - GString is not always converted to String when calling a Java method
- [GROOVY-310] - Subclasses cannot access inhierited static fields from implicit class context
- [GROOVY-311] - Groovy 1.0 beta4 BSF implementation does not work
- [GROOVY-313] - 'package' accessible methods not handled correctly
- [GROOVY-320] - Support remainder (%) operator
- [GROOVY-321] - Verify error in a Closure
- [GROOVY-324] - Inconsistent stack height on assignment within closure
- [GROOVY-325] - Static closures have wrong owner object
- [GROOVY-326] - Groovy fails to build under JDK 1.5 (CVS HEAD)
- [GROOVY-327] - refresh project kills eclipse
- [GROOVY-330] - broken classpath in builder while using jars from workspace
- [GROOVY-335] - Nested closures : variable assignment ignored
- [GROOVY-336] - Empty try skips finally
- [GROOVY-337] - closure not using its parameter
- [GROOVY-339] - Problem coercing 7/3 to double
- [GROOVY-342] - try/catch not catching
- [GROOVY-343] - VerifyError (InconsistentStackHeight) on assignment to external variable from a scope nested inside a closure
- [GROOVY-344] - operator precedence in print and inject()
- [GROOVY-350] - test multidimension arrays work properly
- [GROOVY-351] - continue must have semicolon
- [GROOVY-353] - IncompatibleClassChangeError on wrong variable name
- [GROOVY-354] - Array.length not working
- [GROOVY-355] - VerbatimGStringTest failures - Windows vs. Unix EOL problem
- [GROOVY-356] - super used in method causes Verify error
- [GROOVY-357] - TemplateServlet cause Template not found error
- [GROOVY-358] - Lexer/parser problem with tertiary operator
- [GROOVY-359] - Problems with numeric types (for example, 2.0D)
- [GROOVY-361] - closure syntax not recognized
- [GROOVY-362] - synchronized keyword
- [GROOVY-363] - lineNumber table has all 0 instead of correct offsets
- [GROOVY-364] - Class names can not have dot
- [GROOVY-365] - variables created within the closure fail to be visible outside as local variables
- [GROOVY-366] - 65 << 2 gets No such method: leftShift for class: java.lang.Integer with arguments: [2]
- [GROOVY-368] - character sequences (String.next()) don't work as expected
- [GROOVY-369] - prefix increment may need a higher precedence
- [GROOVY-372] - VerifyError on += of instance variable
- [GROOVY-373] - VerifyError on assignment to boolean variable inside method
- [GROOVY-376] - list and map creating syntax does not allow trailing comma
- [GROOVY-377] - insert ${..} in string fails when singlequoted
- [GROOVY-378] - strang behavior: sort vs sort()
- [GROOVY-379] - incorrect inner classes naming
- [GROOVY-381] - simple primitive casting not parsed
- [GROOVY-382] - Cast to int[] fails at runtime
- [GROOVY-383] - bad constructor in generating classes for 'loose' scripts
- [GROOVY-384] - The inner class representing a closure has a bad constructor
- [GROOVY-385] - numerous primitives declaration errors in a loose function
- [GROOVY-386] - continue in switch generates verificartion error
- [GROOVY-387] - can't return from void method
- [GROOVY-388] - method signature for == operator overload
- [GROOVY-389] - cant use closures inside case statement
- [GROOVY-39] - println("Hello World") throws Error
- [GROOVY-390] - Closure cannot be used to invoke recursive function
- [GROOVY-391] - Mnemonics don't work correctly in SwingBuilder
- [GROOVY-395] - GroovyClassLoader fails to resolve .groovy files in classpath on win32
- [GROOVY-396] - closure can't see script method
- [GROOVY-40] - Allow 'class' to be used as a special variable inside expressions or as a named parameter
- [GROOVY-401] - Errors in classes are sometimes hidden
- [GROOVY-404] - MissingMethodException for rightShift on Integer
- [GROOVY-405] - Can't generate bytecode for void return
- [GROOVY-406] - Autoboxing not working for method parameter
- [GROOVY-407] - Static member variable causing ClassFormatError
- [GROOVY-408] - Pattern causing java.lang.VerifyError
- [GROOVY-41] - Logical && expressions are not currently handled properly by the parser
- [GROOVY-410] - GroovyShell.evaluate
- [GROOVY-412] - Inconsistent stack height with "if" in closure
- [GROOVY-413] - groovy shell script error messages when no args
- [GROOVY-414] - Class names are not case sensitive on Mac OS X
- [GROOVY-419] - Error when parsing strings
- [GROOVY-42] - ! expressions not working
- [GROOVY-420] - IncompatibleClassChangeError when accessing an undefined variable
- [GROOVY-421] - groovyc doesn't check final method / class overrides
- [GROOVY-422] - groovyc doesn't check that inherited abstract methods are implemented
- [GROOVY-424] - locals in static method clashing with class properties
- [GROOVY-425] - groovy does not completely support evaluating files
- [GROOVY-426] - Infinite loop for n = []; println n[-1];
- [GROOVY-427] - Can't execute a command line where arguments have spaces in them
- [GROOVY-429] - groovy doesn't load ~/.groovy/lib
- [GROOVY-43] - a + b + c expressions don't work
- [GROOVY-430] - problem with session in Groovlets
- [GROOVY-432] - Groovy Reflection problem for unknown classes
- [GROOVY-433] - Null Object
- [GROOVY-434] - parser will hang on the attached code
- [GROOVY-435] - Can't have private constructors
- [GROOVY-44] - 5.times { ... } fails. Calling methods on numbers with closures seems bonked
- [GROOVY-441] - Expression in string is expanded at the begin of the string, not where it is defined
- [GROOVY-447] - clear variable declarationi is need
- [GROOVY-449] - classes cant access superclass fields
- [GROOVY-45] - Referring to a class name in Groovy to another Groovy class thats not yet been turned into bytecode causes a compile error
- [GROOVY-451] - num.times fails in specific situation
- [GROOVY-452] - NPE in GroovyClassLoader
- [GROOVY-453] - Use of "int" causes method signature crash
- [GROOVY-454] - Ambiguous method overloading
- [GROOVY-458] - should be able to invoke a method called property
- [GROOVY-459] - DomBuilder can't create elements with just text
- [GROOVY-460] - improper parsing behavior or error message
- [GROOVY-461] - Compiler does not inforce the Java rules for definite assignment before use
- [GROOVY-462] - ClassGenerator patches for a few VerifyErrors, primitive uses as parameters and local vars
- [GROOVY-464] - provide access to public fields if they overload properties
- [GROOVY-465] - primitive type casting doesn't work
- [GROOVY-466] - The print statement overrides parent print methods
- [GROOVY-467] - method invocation should be able to choose between int and float types
- [GROOVY-468] - Type names are sometimes in .class file syntax, rather than source syntax.
- [GROOVY-47] - Allow # as a first character of a line to mean a comment like shell scripts
- [GROOVY-470] - broken link to CVS file
- [GROOVY-472] - interactive shell can't handle strings which span multiple lines
- [GROOVY-473] - creating primitive type arrays don't actually create primitive type arrays
- [GROOVY-475] - BSF integration doesn't use BSFManager's class loader
- [GROOVY-477] - ClassFormatError with Groovy Beta 5 and JDK 1.5 Beta 1
- [GROOVY-48] - Bugs in the "text ${foo} text" parser
- [GROOVY-480] - num.times fails in specific situation (incorrectly removed)
- [GROOVY-484] - parser error with static initializer
- [GROOVY-485] - Method closures don't work for static methods
- [GROOVY-487] - "in" property of AntBuilder causes error
- [GROOVY-488] - this[offset] is not considered modifiable
- [GROOVY-490] - Groovy shell scripts can't find environment if invoked via a symlink
- [GROOVY-492] - Possible NPE with GroovyClassLoader#expandClassPath
- [GROOVY-494] - closure syntax following function call syntax
- [GROOVY-495] - 'if(condition) return' causes VerifyError
- [GROOVY-499] - constructor can't invoke overloaded constructor
- [GROOVY-50] - 'class' cannot be used as a property
- [GROOVY-500] - Can't pass this in super()
- [GROOVY-5012] - Can't have private constructors again
- [GROOVY-504] - Fresh install doesn't run
- [GROOVY-505] - dash in script filename
- [GROOVY-506] - Invoker.asArray, does not function w/ Constructors with (String[]) params
- [GROOVY-507] - Can not pass String[] to constructor
- [GROOVY-508] - Node.depthFirst() and Node.breadthFirst ommit the root element
- [GROOVY-509] - Infinite loop in StringLexer
- [GROOVY-51] - script doesn't let you construct the class you are defining
- [GROOVY-510] - a = b = 0 produces a Verify error
- [GROOVY-511] - The delegate of an eclosing closure is not being used to resolve references
- [GROOVY-512] - code generator fails to cast argument to "~" to string
- [GROOVY-513] - comparison with Integer.MIN_VALUE behaves incorrectly
- [GROOVY-514] - ServletResponse#setContentType needs to be called before ServletResponse#getWriter
- [GROOVY-515] - static access vs. Class access (conflicts)
- [GROOVY-516] - Groovy editor and builder do not work in post-M7
- [GROOVY-517] - Groovy editor and builder do not work in post-M7
- [GROOVY-52] - script doesn't let you println from a static method
- [GROOVY-520] - Groovy cannot be compiled under JDK1.5
- [GROOVY-521] - Boolean constants don't support ".class" like Numbers do.
- [GROOVY-522] - groovy batch file doesn't work if -cp specified
- [GROOVY-523] - ~/.groovy/lib doesn't work as advertised
- [GROOVY-524] - groovy has major problems loading classes
- [GROOVY-525] - after upack, files in bin aren't executable
- [GROOVY-528] - says ambiguity where there is no ambiguity
- [GROOVY-529] - property assignment using ["property"] doesn't work correctly
- [GROOVY-530] - Cannot call static method without fully qualifying class name
- [GROOVY-531] - Strange MissingMethodException
- [GROOVY-532] - += gives me "Unable to pop operand off"
- [GROOVY-533] - Dangling meta character
- [GROOVY-534] - Nested closures - variable scope problem
- [GROOVY-535] - Parse error - 100% CPU
- [GROOVY-536] - IncompatibleClassChange error with the file below
- [GROOVY-537] - evaluate and class lookup
- [GROOVY-539] - wrong classworlds version in scripts
- [GROOVY-540] - Cannot catch imported exception
- [GROOVY-541] - flow block inside methods causes verification errors
- [GROOVY-543] - Incorrect exception MissingMethodException when closure references an uninitialized variable
- [GROOVY-545] - Ambiguous method exception when calling Math.min(), even with casts
- [GROOVY-546] - Global variables can not be accessed from many places
- [GROOVY-547] - GStringTemplate executes embadded Groovy code too early
- [GROOVY-549] - VerifyError when return in catch lbock
- [GROOVY-550] - General error during class generation: Should not be called.
- [GROOVY-552] - Double-quoted string containing just a backslash
- [GROOVY-553] - CLASSWORLDS_VERSION is old
- [GROOVY-556] - API does not support providing a custom metaclass for a Class
- [GROOVY-557] - Windows scripts have wrong CLASSWORLDS_VERSION (1.0-rc2 instead of 1.0)
- [GROOVY-558] - AnyClass.class and AnyClass.getClass() always return java.lang.Class.
- [GROOVY-559] - Can't find constractor with an array parameter
- [GROOVY-561] - NullPointerException in Invodker.toTypeString if arg is null
- [GROOVY-562] - String "\\r" not evaluated properly
- [GROOVY-564] - Verify error with polymorphic functions
- [GROOVY-566] - throwing exception within each() closure gets changed to InvokerInvocationException
- [GROOVY-567] - Groovy shell swoallows exceptions
- [GROOVY-575] - A closure created in a closure does not have access to properties on the parent closure's delegate
- [GROOVY-578] - Groovyshell.runMainOrTestOrRunnable
- [GROOVY-579] - undefined variables behave differently in scripts and classes
- [GROOVY-580] - setter method for mixed case properties is not found
- [GROOVY-584] - Exception passing array into Closure
- [GROOVY-585] - groovy can't handle public static nested classes
- [GROOVY-586] - Groovy seems to have trouble with jrockit-j2sdk1.4.2_04-linux
- [GROOVY-59] - support heredocs to allow text to be easily marked up using <<token ... token
- [GROOVY-593] - XMLBuilder makes broken XML if data contains &
- [GROOVY-598] - array of object in class
- [GROOVY-599] - GString not coerced for static methods
- [GROOVY-60] - Verify error when you test a list property and set it then use it
- [GROOVY-600] - java1.5 cant run groovyConsole on Windows XP Pro
- [GROOVY-61] - full regex support
- [GROOVY-613] - global properties referenced from closure that are declared later cause early NullPointer
- [GROOVY-615] - 100% CPU during compile: [ buggy string" ]
- [GROOVY-616] - references to ".class" do not work if full qualified class name is used - will always evaluate to "java.lang.Class.class"
- [GROOVY-617] - Parser goes to the endless loop on unterminated string
- [GROOVY-620] - not finding local variable in method
- [GROOVY-621] - Clarification for CodeSource to allow compilation against 1.5
- [GROOVY-627] - Groovy not compatible with asm-1.5
- [GROOVY-628] - -cp option don't works on Windows's groovy.bat
- [GROOVY-629] - -cp option don't works on Windows's groovy.bat
- [GROOVY-632] - Groovy editor doesn't highlight multi-line strings
- [GROOVY-634] - variable assignment within nested closures doesn't work
- [GROOVY-64] - using a primitive type name causes OutOfMemoryException
- [GROOVY-641] - The groovyConsole command doesnt work
- [GROOVY-642] - aStringBuffer + anObject gives runtime error
- [GROOVY-643] - HOME not quoted in groovysh
- [GROOVY-649] - Seriously Large Memory Leak (reproducable)
- [GROOVY-651] - fix build system so that the groovyConsole works again
- [GROOVY-652] - package name contained "def" groovyc report error.
- [GROOVY-654] - eta Characters \t \n \r in String Literal
- [GROOVY-655] - Error in generating meta characters \t \n \r in string literal
- [GROOVY-656] - Can't pass negative arguments to script (because of the minus sign)
- [GROOVY-657] - Unable to invoke method on BuilderClassSupport subclasses
- [GROOVY-658] - Problems with XP install
- [GROOVY-659] - [PATCH] Fix behavior of scripts when invoked via symlink
- [GROOVY-66] - remove the x.print() or y.println() from all web pages
- [GROOVY-660] - Multi-threaded groovy: get java.lang.LinkageError: duplicate class definition
- [GROOVY-661] - unexpected behavior with adding list to a number
- [GROOVY-664] - reference inner java classes
- [GROOVY-665] - CVS at 200411210956
- [GROOVY-666] - JDK 1.5 problem
- [GROOVY-669] - groovyc creates class files that does not verify (java.lang.VerifyError)
- [GROOVY-67] - Null property causes OutOfMemoryError in groovyc
- [GROOVY-670] - embedded: when using alternative classloader code parsing succeeds but evaluation fails
- [GROOVY-671] - Groovy / Java Mismatch with simple class
- [GROOVY-672] - grovvyConsole doesn't seems to be working with the release "groovy-1.0-beta-7.zip"
- [GROOVY-673] - incorrect scoping in closures and blocks
- [GROOVY-674] - println in closure has problem
- [GROOVY-675] - multiple backslashes and backslash plus dollarsign are not correctly interpreted
- [GROOVY-676] - AntBuilder doesn't call Tasks nested in TaskContainers properly
- [GROOVY-68] - Inconsistent Stack Height
- [GROOVY-681] - MissingPropertyException when trying to call a static method
- [GROOVY-683] - Can't assign to native types in Groovy Beans
- [GROOVY-686] - GroovyServlet will crash if parameters are passed in HTTP Request
- [GROOVY-691] - Duplicate class error with listen mode
- [GROOVY-696] - Groovy misses first exception
- [GROOVY-698] - Here-docs should allow spaces after initial token (and better errors when unterminated)
- [GROOVY-70] - ranges should support backwards iteration too
- [GROOVY-700] - Escaping Slash
- [GROOVY-703] - Check null pointer condition in method convertToByteArray
- [GROOVY-704] - Primitive function arguments cause VerifyError
- [GROOVY-705] - Syntax error in correct code
- [GROOVY-707] - Integer division operator (backslash \) removed - conflicts with unicode escape sequence
- [GROOVY-708] - Misleading error message
- [GROOVY-709] - println error reporting not correct
- [GROOVY-711] - Antlr parser bugs in New Groovy
- [GROOVY-712] - Closures do not localize variables.
- [GROOVY-713] - Method Overload with Primitive Array Parameters
- [GROOVY-714] - Which method should be called in this case (primitive array vs its wrapper array)?
- [GROOVY-717] - method call for method with same name as a field causes wierdness
- [GROOVY-721] - respect null values when unboxing arrays
- [GROOVY-722] - don't use boxing for arrays created when calling methods
- [GROOVY-723] - MethodClosure doesn't support variable arguments method
- [GROOVY-724] - class cast exception when using empty boolean arrays
- [GROOVY-726] - no line number in exception stack trace
- [GROOVY-727] - Parsing Error for the Multiplication Operator(*) in New Groovy
- [GROOVY-728] - Error declaring variables in scripts
- [GROOVY-73] - Wrong return type in function
- [GROOVY-731] - Misleading error message when accessing non-static members from static functions
- [GROOVY-732] - Problem accessing static fields
- [GROOVY-733] - NullpointerException instead of MissingMethodException
- [GROOVY-734] - General error during class generation: java.lang.NullPointerException
- [GROOVY-735] - Dynamic and static typing
- [GROOVY-736] - Class constructor problem
- [GROOVY-738] - Parsing Error for Bitwise Operations in NewGroovy
- [GROOVY-739] - Handling the Meta Character \b in String or GString
- [GROOVY-74] - method invocation passing a String[] seems to barf when there is more than one element
- [GROOVY-740] - Closures can't modify variables more than 1 lexical level up
- [GROOVY-743] - Accessing private field gives MissingPropertyException, not
- [GROOVY-75] - overloading getter methods doesn't seem to work
- [GROOVY-752] - java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
- [GROOVY-755] - Allow # as first character of a Groovy script
- [GROOVY-76] - Broken GroovyMock test case
- [GROOVY-766] - Infinite Loop if the Last Line contains Single Line Comment without Carriage Return.
- [GROOVY-767] - groovysh does not work.
- [GROOVY-768] - divide 0 by any other number => groovy soils its breeches
- [GROOVY-769] - Parser error when Map key contains period in JSR mode
- [GROOVY-770] - In some cases minus operator does not work with lists
- [GROOVY-772] - implicit 'it' parameter created wrongly
- [GROOVY-778] - wrong CHECKCAST in bytecode for native arrays
- [GROOVY-779] - Type Checking Bypassed in Default Constructor
- [GROOVY-780] - MarkupBuilder works not the same as NodeBuilder
- [GROOVY-788] - [1,2,] or ["a":1,] should be supported
- [GROOVY-800] - VerifyError with synchronized
- [GROOVY-801] - Incorrect error message for missing class
- [GROOVY-802] - GroovyClassLoader.parseClass(File) Not Closing Streams
- [GROOVY-803] - unterminated strings make the parser go OutOfMemoryException
- [GROOVY-804] - Stacktrace when upgrading to #3281
- [GROOVY-805] - Method calls on a separate line should be supported
- [GROOVY-806] - NPE for import statement
- [GROOVY-808] - Does not like untyped variables in classes
- [GROOVY-813] - no assignments to literals
- [GROOVY-815] - Include of groovlets does not work
- [GROOVY-818] - expecting anything but ''\n''; got it anyway
- [GROOVY-82] - GroovySwing examples fail to execute
- [GROOVY-820] - GroovyMain command line switch -i fails when no backup extension is specified
- [GROOVY-821] - Groovy fails to set field without qualifying with "this"
- [GROOVY-822] - Running "groovy -version" does not print the Groovy version
- [GROOVY-823] - Running "groovy -version" does not print the Groovy version
- [GROOVY-824] - AntBuilder doesn't handle ConditionTask
- [GROOVY-825] - Iterating through groovy binding variables in a script results in java.util.ConcurrentModificationException
- [GROOVY-826] - the new parser does not seem to recognize the new function pointer assignment for a particular case
- [GROOVY-83] - Syntax error in quickStart.html page
- [GROOVY-830] - Scope bug in using the use directive
- [GROOVY-831] - @Property causes ClassCastException in constructor
- [GROOVY-833] - Groovy-core compile errors in eclipse with 5.0 compiler enabled
- [GROOVY-834] - Many, many compiler warnings (Eclipse 3.1 M6)
- [GROOVY-835] - GroovyClassloader doesn't use CompilerConfiguration for classpath
- [GROOVY-841] - Array literals not parsed correctly
- [GROOVY-843] - Compile error in GString when there is a "." in Map key
- [GROOVY-844] - "throws" found when expecting type: SLIST at line ...
- [GROOVY-846] - The groovyc Ant task doesn't work in Maven
- [GROOVY-847] - Correct documentation to point to
- [GROOVY-850] - Infinite looping of closures with at least two patameters
- [GROOVY-851] - groovy doesn't support spaces in JAVA_HOME
- [GROOVY-852] - Servlets
- [GROOVY-853] - Creating class with run() method in groovysh can produce error
- [GROOVY-857] - support for abstract classes
- [GROOVY-858] - interfaces in groovy
- [GROOVY-859] - Fail to call Java non-latin named method from Groovy
- [GROOVY-86] - support -1
- [GROOVY-861] - Expclit Groovy Types or embedding in Tomcat
- [GROOVY-863] - Interfaces and abstract classes definitions require semi-colons
- [GROOVY-866] - negative number can be used as key for map
- [GROOVY-868] - Cannot call existing Java 1.5 varargs functions
- [GROOVY-869] - Build failed with groovyc task but no error message reported
- [GROOVY-870] - groovy.bat doesn't execute scripts with spaces in their path
- [GROOVY-871] - allow line ends after label declaration
- [GROOVY-872] - GregorianCalendar and groovysh not printing or throwing exception
- [GROOVY-874] - With the command "groovy <filename>", a FileNotFoundException has been expected, but a NullPointException is generated.
- [GROOVY-877] - Groovy gives an incorrect error message when it fails to compile a dependent class
- [GROOVY-88] - BSFManager not available to GroovyShell when using GroovyEngine.exec()
- [GROOVY-880] - NullPointerException at groovy.ui.GroovyMain.run(GroovyMain.java:267)
- [GROOVY-881] - can't call this(string) in constructor
- [GROOVY-883] - when passing an list of gstrings to Java, it will never be treated as a String[]
- [GROOVY-886] - each(){} throws NPE when called on a Java Object[], that contains String[]'s with null entries
- [GROOVY-887] - JavaDoc APIs not uploaded on the website
- [GROOVY-889] - Under JDK 1.5 the registration of static meta method seems to result in doubled entries of the instance meta methods
- [GROOVY-89] - First example on first page of site is broken !
- [GROOVY-893] - left paren must be on same line as throw exception declaration
- [GROOVY-896] - Problem when accessing arrays of arrays from groovy
- [GROOVY-897] - JSRVariableScopeCodeVisitor doesn't like String[]
- [GROOVY-898] - NPE in ErrorCollector / Null CompilerConfiguration?!
- [GROOVY-90] - variables are not preserved across commands in the shell
- [GROOVY-900] - + not concatenating
- [GROOVY-901] - SimpleTemplateEngine error :"Caught: Script1.groovy: 1: expecting anything but ''\n''; got it anyway @ line"
- [GROOVY-902] - GroovyClassLoader is unable to load dependent scripts that have an absolute path containing whitespaces
- [GROOVY-903] - 'groovy' is unable to run scripts that have an absolute path containing whitespaces
- [GROOVY-907] - Empty Range (0..<0) broken
- [GROOVY-91] - Problem calling Java methods that take boolean arguments
- [GROOVY-913] - Windows Batch File Fails to Pass More than Eight Arguments
- [GROOVY-915] - import * doesn't import inner classes
- [GROOVY-916] - Confusing error message when creating inner class without outer instance
- [GROOVY-918] - Cannot set outside variables from within nested closures
- [GROOVY-922] - Coercion in Method lookup should take generic ctors into account
- [GROOVY-923] - Default access level of members should be 'protected' but is private
- [GROOVY-927] - IncompatibleClassChangeError when implementing a class instead of extending it
- [GROOVY-928] - No line numbers/source file for exceptions
- [GROOVY-93] - Class type not honored
- [GROOVY-930] - Iterator.next() returning Object[] causes NullPointerException.
- [GROOVY-931] - Closure problem in JSR-02 which was fine under JSR-01
- [GROOVY-932] - Missing line/col information
- [GROOVY-934] - Stacked cases with switch
- [GROOVY-935] - Explicit import needed to call static method
- [GROOVY-937] - Can't access private field from closure
- [GROOVY-94] - Impossible to compare Double or Float with Integer or Byte
- [GROOVY-941] - groovyj plugin does not report the file that compilation errors occur within and you can't click on them to jump to the line
- [GROOVY-942] - Empty Range (0..<0) broken in List.getAt(Range)
- [GROOVY-947] - VerifyError with Runnable.run and synchronized wait()-notify
- [GROOVY-948] - GroovyJ breaks the "Colors and Fonts" panel in global settings
- [GROOVY-949] - Cannot access private instance variable from static context
- [GROOVY-95] - Evaluation fails after the first subscript operator
- [GROOVY-956] - Methods are wrongly picked when the arguments are interfaces
- [GROOVY-958] - List + List => Wrong Result
- [GROOVY-959] - About the number of arguments in calling methods
- [GROOVY-96] - Property access doesn't always work on Java objects
- [GROOVY-961] - Groovyc ant task (and eclipse groovy plugin) reports compile error on declaring type on lhs
- [GROOVY-962] - groovy -n -p not working when reading from stdin
- [GROOVY-964] - Can't access dynamicly defined properties from scriptlets in Groovy scriptlets in Ant build files
- [GROOVY-966] - StringBuffer getAt throws RuntimeError: Ambigous Method overloading
- [GROOVY-968] - list.putAt(EmptyRange) doesn't obey position
- [GROOVY-97] - fix toString() equals() and hashCode() for listener dynamic proxies
- [GROOVY-970] - error using read(char[ ] array) of reader class
- [GROOVY-979] - ('00'..'10').each{println it} stalls VM
- [GROOVY-98] - use of an undefined variable should throw an exception
- [GROOVY-980] - SimpleTemplateEngine fails when enclose expression dosn't immediately evaluate to a String
- [GROOVY-984] - ClassCastException calling super(String) of java.lang.Exception
- [GROOVY-986] - Bugs of Range with BigDecimal boundaries
- [GROOVY-987] - Groovy Beans Now Have More Flavor
- [GROOVY-988] - Java syntax for creating an array does not work
- [GROOVY-989] - Closures and the handling of variables
- [GROOVY-99] - modify variables outside closures, then recalling the closure does not use new value
- [GROOVY-990] - Closure access to outer block variables - inconsistant behavior
- [GROOVY-991] - Can't find/access AST Node typeorg.codehaus.groovy.antlr.GroovySourceAST
- [GROOVY-992] - Can not set property from sub class
- [GROOVY-993] - confused by the def used in closure
- [GROOVY-994] - PARSER BUG: Tried to configure ArgumentListExpression with null Node
- [GROOVY-995] - wrong funtion is used
- [GROOVY-996] - protected fields not visible in subclasses
- [GROOVY-998] - GroovyJ: Error while opening ColorAndFontPanel in IDEA 5.0
- [GROOVY-999] - Eclipse plugin does not compile groovy classes that rely on jar imports (patch included)
Improvement
- [GROOVY-101] - Add equals(), hashCode(), and Comparable support to GString
- [GROOVY-1010] - [patch] add parent() implement to XmlSlurper
- [GROOVY-1027] - improved error messages
- [GROOVY-1033] - gpath syntax for xml documents with namespaces
- [GROOVY-1047] - Don't print the full file path in stack traces
- [GROOVY-1060] - Exception "The variable name 'i' conflicts with the class name 'i'" even if no class "i" exists
- [GROOVY-1062] - Error messages when a depended on class is not found are not very informative
- [GROOVY-1075] - splitEachLine() wraps the result of the split in a (useless) single element list
- [GROOVY-109] - Groovy shell doesn't support Cp850 encoding on windows
- [GROOVY-1094] - Use "root.maven" classloader for GroovyShell
- [GROOVY-1095] - Use "root.maven" classloader for GroovyShell
- [GROOVY-1098] - Using the + operator to concatenate objects with a string does not call toString()
- [GROOVY-1115] - let Lists coerce to Sets
- [GROOVY-1119] - allow certain mehtods to be called on null
- [GROOVY-1120] - allow dynamic method calls via obj."$methodname"
- [GROOVY-1121] - provide File.size() and Matcher.size()
- [GROOVY-1122] - rename 'eachLine' to 'each' for File, etc.
- [GROOVY-1125] - provide intersect on Collections generally, not only on List
- [GROOVY-1129] - de-/encodeBase64 should both use byte[] or Byte[]
- [GROOVY-1134] - groovy.util.Node rename Methods to allow property-like access.
- [GROOVY-1145] - Change the signature of GroovyResourceLoader.loadGroovyFile() to support URLs
- [GROOVY-1147] - Workaround fix for checking mod time for file:// URL
- [GROOVY-1152] - Allow calling quoted methods and GString interpolated methods
- [GROOVY-1187] - Allow loading of groovy classes from GroovyScriptEngine, leveraging the reloading and caching support.
- [GROOVY-119] - support the creation of arrays of primitive types in groovy
- [GROOVY-1196] - provide an AllTestSuite.java that collects Groovy tests and make them available as a test suite for easy running in the IDE
- [GROOVY-1202] - provide a feature to declare TestCases as 'notYetImplemented' and thus expected to fail
- [GROOVY-1223] - provide simplified support for using commons-cli in Groovy command-line scripts
- [GROOVY-123] - Block treated as closure
- [GROOVY-1236] - make unique() supporting Closures analagous to sort()
- [GROOVY-1247] - GroovyTestCase.shouldFail{} should return the message of the enclosed Exception
- [GROOVY-125] - upto() should be inclusive, just like .. now is
- [GROOVY-1266] - Groovy Ant task is too chatty
- [GROOVY-1275] - Removing @Property Syntax
- [GROOVY-1289] - Create new methods in GroovyMBean to get MbeanInfo object such as Attributes and Operations of an MBean
- [GROOVY-1290] - Provides a sensible default value for join()
- [GROOVY-1292] - Improve the provision of toXXX methods in DGM
- [GROOVY-1293] - Add toXXX methiods to GPath expressions for objects produced by XMLSlurper
- [GROOVY-1301] - Refactor GCL to allow greater extensibility by sub classes
- [GROOVY-1302] - Provide access to auto-generated column values when using INSERT through groovy.sql.Sql
- [GROOVY-1318] - Add compiler warning for imported classes that can no be found on the classpath
- [GROOVY-132] - Comparison operators throw NPE, contrary to docs
- [GROOVY-1320] - add groupBy() method to Lists
- [GROOVY-1329] - handle null more gracefully in switch/case
- [GROOVY-1359] - Ability to import custom user class an use it in the body of template
- [GROOVY-1362] - leftShift and append on File only work with Strings
- [GROOVY-1370] - Improve error messages on failed compilation
- [GROOVY-1371] - Add ability to specify parent class loader for InteractiveShell
- [GROOVY-1372] - Add ability to specify parent class loader for Groovy Console
- [GROOVY-1377] - Readers and InputStreams should have specialized 'each' methods
- [GROOVY-1378] - File.each is mapped to asCollection. Instead it should be mapped to asIterator to prevent out-of-memory errors
- [GROOVY-1379] - DefaultGroovyMethods.java contains unchecked .close operations. This should be remedied.
- [GROOVY-1384] - Make "as" be customisable through the asType(Class) method
- [GROOVY-1400] - GroovyRowResult should implement Map to access properties in JSPs (EL/JSTL)
- [GROOVY-1420] - disallow top-level assignments in "assert" analogous to "if"
- [GROOVY-1428] - groovysh's welcome is ungrammatical
- [GROOVY-1439] - Allow conversion from closure to interface
- [GROOVY-1459] - empty GStrings and Character 0 should evaluate to false in boolean tests
- [GROOVY-147] - refactor GroovyShell.evaluate() to be simpler to use
- [GROOVY-1482] - Sql#firstRow throws IndexOutOfBoundsException if no rows are found (Patch included)
- [GROOVY-1490] - Groovy MarkupBuilder generates single quoted attributes
- [GROOVY-1494] - Add links to classes to Groovy JDK documentation page for quick navigation
- [GROOVY-150] - Streamline exception hierarchy under SyntaxException
- [GROOVY-1529] - Allow conversion from Map to interface
- [GROOVY-1537] - Upgrade dependencies
- [GROOVY-154] - Improve Groovy methods' Javadoc comments
- [GROOVY-1559] - MissingMethodException should report whether the missing method is static or not
- [GROOVY-156] - support next/previous, plus/minus and ranges of java.util.Date
- [GROOVY-1568] - Improve error message when attempting to use inner classes
- [GROOVY-157] - support map.each { key, value | ... } notation for maps
- [GROOVY-1574] - DelegatingMetaClass should have a constuctor taking a Class parameter
- [GROOVY-1577] - Add alternative notations for mkp.yield ans mkp.yieldUnescaped in the Streaming Builders
- [GROOVY-161] - Refactor some methods of GroovyShell
- [GROOVY-169] - Readline support in groovysh
- [GROOVY-170] - statically typed variables should generate compile errors if invalid methods/properties are used
- [GROOVY-18] - Replace := with == for equality testing and use === for identity
- [GROOVY-180] - bug in DocGenerator.groovy
- [GROOVY-1836] - Add newInstance method of java.lang.Class that takes a map like the default constructor
- [GROOVY-189] - Groovysh double return should be replaced
- [GROOVY-190] - Add way to configure classpath used by groovysh
- [GROOVY-192] - AntBuilder should be able to access properties defined outside of its closures
- [GROOVY-201] - new Groovy stream methods
- [GROOVY-207] - rename queryEach to be eachRow for Groovy SQL
- [GROOVY-208] - new readText() and maybe writeText() methods on File, InputStream, Reader
- [GROOVY-215] - change the 'dc' build target so that it redeploys a snapshot binary distro
- [GROOVY-218] - Support JDK 1.5 style for loop with optional type and use of ':' instead of 'in'
- [GROOVY-219] - support currying when calling closures with too few parameters
- [GROOVY-221] - Support """ as an alternative to here-docs
- [GROOVY-222] - add a grep method on Object to perform a filter using a case expression (regex, range, class etc)
- [GROOVY-228] - allow script base class to be specified on a GroovyShell or GroovyClassLoader
- [GROOVY-229] - allow ~/.groovy/lib to provide libraries used for groovy shell & scripts
- [GROOVY-231] - resolve the SomeClass.class versus SomeClass issue
- [GROOVY-235] - TemplateEngine
- [GROOVY-236] - use add/subtract operator overloading methods rather than plus/minus
- [GROOVY-242] - rename map methods to collect to be more consistent
- [GROOVY-248] - Groovy String's toString() method always returns the same string
- [GROOVY-254] - range precedence should be fixed
- [GROOVY-256] - Numeric literals: default BigDecimal for decimals, support suffixes
- [GROOVY-270] - should Groovy allow constants of the form 1L?
- [GROOVY-2724] - CLONE -make eachLine,eachByte,eachFile take inject like each
- [GROOVY-281] - Improve error message when a matching constructor cannot be found at runtime
- [GROOVY-283] - Add -encoding parameter when parsing scripts/classes
- [GROOVY-290] - Get rid of GROOVY_HOME
- [GROOVY-291] - add new negate() methods to Number
- [GROOVY-297] - Get the builder to only build changed groovy files
- [GROOVY-307] - Improve addition of groovy runtime support
- [GROOVY-312] - Improve Groovy markup to support all XML constructs.
- [GROOVY-323] - Compilation speedup
- [GROOVY-328] - Create action without parent
- [GROOVY-329] - Automatic conversion of acceleratorKey in SwingBuilder
- [GROOVY-333] - Allow for custom widget types using SwingBuilder
- [GROOVY-338] - Error message for out of scope variables
- [GROOVY-345] - Expando did not use native property
- [GROOVY-352] - auto coerce List to Object[]
- [GROOVY-36] - Create some javadoc of all the new methods added to the JDK
- [GROOVY-371] - support mixed named parameters and regular parameters
- [GROOVY-375] - classloader enhancements to MetaClass
- [GROOVY-394] - super not found
- [GROOVY-398] - add Map.synchronized(), List.synchronized() methods
- [GROOVY-403] - allow easier recursive file processing with File.eachFileRecurse { ... }
- [GROOVY-411] - here-doc
- [GROOVY-418] - simple placeholder format in GString
- [GROOVY-436] - groovy should have an antlib descriptor for groovyc and possibly wiki2html
- [GROOVY-437] - Support bitwise operators
- [GROOVY-438] - String objects could use left-pad and right-pad methods
- [GROOVY-448] - Improved Groovy Console
- [GROOVY-450] - Iterating with eachWithIndex() and reverseEachWithIndex()
- [GROOVY-46] - Parser to support method declarations in scripts
- [GROOVY-469] - new helper methods to convert Strings into common types (Integer, Long, Float, Double etc)
- [GROOVY-478] - Build includes .groovy files in the jar archive
- [GROOVY-479] - Tidy up Closure.java
- [GROOVY-483] - Reduce Groovy build time on damagecontrol/beaver
- [GROOVY-493] - Full stored procedure for groovy.sql.Sql
- [GROOVY-498] - Use static method dispatch when possible if types are statically declared
- [GROOVY-501] - SwingBuilder - add more components to support ButtonDemo
- [GROOVY-527] - make eachLine,eachByte,eachFile take inject like each
- [GROOVY-542] - bitwise "or", "and" and "xor"
- [GROOVY-55] - notes
- [GROOVY-555] - Ability to run unit tests with groovy
- [GROOVY-56] - notes
- [GROOVY-573] - remove runtime dependency on asm-util
- [GROOVY-58] - MetaClass and MetaClassRegistry should be refactored so that all methods are registered in MetaClass
- [GROOVY-581] - SwingBuilder does not support all stanard Swing Widgets
- [GROOVY-587] - Added a -v/--version command line argument to the "groovy" command line program
- [GROOVY-588] - Call myBean.myClosure() as a method call
- [GROOVY-597] - Allow for( foo in bar) syntax for enumerations
- [GROOVY-623] - Implement Expected Collection#asImmutable(): Collection
- [GROOVY-633] - Initialize "primitive" type to default values
- [GROOVY-648] - Fall through to method closures call from the binding of a script
- [GROOVY-65] - parser to handle ; and newlines better which could help reduce ambiguity
- [GROOVY-662] - Extending HashMap and adding JavaBean properties confuses Groovy
- [GROOVY-677] - Call statically typed method first before anything else
- [GROOVY-678] - swing 2d example code cleaning
- [GROOVY-680] - the tarball does not include +x permissions on the bin/* scripts
- [GROOVY-693] - Have only one range operator
- [GROOVY-695] - GroovyServlet web.xml mapping dependency removed and various refactorings
- [GROOVY-699] - GroovyServlet: generate binary content
- [GROOVY-701] - log error/throw exception in Builder
- [GROOVY-706] - version of sort that sorts relative to value returned by closure
- [GROOVY-710] - Removed a needless IOException from GroovyShell
- [GROOVY-718] - improve error reporting for throwables
- [GROOVY-72] - allow named parameters to be used to create beans. new SomeBean(foo:123, bar:true, xyz:'hello)
- [GROOVY-730] - Add the "oneRow" method to the groovy.sql.Sql class
- [GROOVY-745] - more readabel error message when script name is equal to an variabel name
- [GROOVY-746] - [PATCH] use equals to compare strings
- [GROOVY-748] - [PATCH] make sure files are closed, even on exceptions
- [GROOVY-771] - Lexer should return Comments and Whitespaces when demanded
- [GROOVY-773] - migration tool to help to migrate automatically from old groovy to new groovy
- [GROOVY-785] - Create a jar with its own namespace for dependencies
- [GROOVY-79] - GroovyClassLoader should use the generated classes cache
- [GROOVY-790] - List operations minus and plus not symmetrical
- [GROOVY-791] - implement Number.downto()
- [GROOVY-792] - Allow stepping backwards with Number.step(end, with)
- [GROOVY-812] - Strings should evaluate in asBool() like in Java
- [GROOVY-836] - GStringTemplateEngine breaks on multi-line templates
- [GROOVY-85] - Allow single statement without {} with if, for, while
- [GROOVY-862] - Declared variables in scripts shouldn't be added to the binding
- [GROOVY-875] - The Expando thing should be able to print the property map
- [GROOVY-876] - support closure with 2 params in default Method collect(Map, Collection, Closure)
- [GROOVY-884] - Improve Error Message when using the unsupported Multi-Dim Arrays
- [GROOVY-911] - eachFile* and eachDir methods should report useful errors
- [GROOVY-92] - Groovy Strings don't support +=
- [GROOVY-920] - provide size() on StringBuffer
- [GROOVY-921] - use maps analagous to lists in implicit ctors on 'as' enforced coercion
- [GROOVY-924] - implement list.putAt(Range) to work like list.putAt(splice)
- [GROOVY-925] - map.findAll() should return a subMap rather than a list of HashMap Entries
- [GROOVY-926] - One-line integration with Java for the simplest cases
- [GROOVY-940] - factor out groovy.util.XmlTemplateEngine.XmlPrinter as stand-alone class
- [GROOVY-943] - provide putAt(Range) on StringBuffer
- [GROOVY-945] - keep StringBuffer << closed under its type and make String << return StringBuffer
- [GROOVY-946] - support sleep(seconds) as static method on Object
- [GROOVY-955] - Improvement to permissions handling.
- [GROOVY-957] - Overriding Object methods using "field" closure methods on Expando
- [GROOVY-967] - remove PropertyValue from Object.allProperties() and eachProperty{}, refactor methods to use a Map
- [GROOVY-976] - allow Groovlets to map any url to any resource
- [GROOVY-978] - Accessing match groups from the closure called by String.replaceAll(regex, closure)
- [GROOVY-983] - About the string representations of maps, lists, and arrays
- [GROOVY-997] - GroovyJ should allow the compilation of individual Groovy scripts
New Feature
- [GROOVY-1040] - support namespaced (QName) based navigations in the Node XML model.
- [GROOVY-1070] - Add antlib support to Groovy ant support
- [GROOVY-1093] - Ant Build Scripts
- [GROOVY-1135] - Provide a GroovyLogTestCase that allows running tests under a certain log level and spoof that log
- [GROOVY-1154] - Implement output << input with streams
- [GROOVY-1166] - allow methods taking a parameter of an interface-with-one-methods to auto-coerce closures as parameters
- [GROOVY-1200] - include appropriate JSP 2.0/EL implicit variables in Groovlets
- [GROOVY-1204] - Procide a way of acessing all the attributes of a node in a GPath expression
- [GROOVY-1214] - Support reloading of classes through GCL
- [GROOVY-1246] - All-Groovy Mock support
- [GROOVY-1248] - Class reloading of classes through GCL fails when a groovy class is a subclass of another groovy class
- [GROOVY-1346] - Allow "in" to be a boolean operator
- [GROOVY-1488] - enable jumping to the groovy source when klicking on the stacktrace in the console
- [GROOVY-149] - Add new Groovy methods
- [GROOVY-1507] - When using command-line scripts the line number in the current file is not available
- [GROOVY-1508] - Add option -a <splitpattern> to allow auto split of lines read when using command-line scripts (via -e)
- [GROOVY-1510] - Add groupBy() method to filter lists according to a critieria
- [GROOVY-1511] - Dynamic constructor invocation via Class object
- [GROOVY-1565] - Add Run As... JUnit Test for GroovyTestCases in Eclipse plugin
- [GROOVY-17] - Support @ as a new operation via BinaryOperation for accessing fields
- [GROOVY-1764] - Support a groovy .classes directory (like that for a webpps directory
- [GROOVY-225] - Allow \ to escape line ending
- [GROOVY-23] - 'while' statement
- [GROOVY-247] - support synchronized blocks
- [GROOVY-258] - Provide support for running groovy based unit tests
- [GROOVY-260] - Thread.start { } to execute a closure in a new thread
- [GROOVY-261] - make comma optional when item the last thing on a line
- [GROOVY-315] - Ability to create static groovy methods
- [GROOVY-317] - Support bitwise OR in groovy.util.Bitwise
- [GROOVY-332] - Support events using SwingBuilder
- [GROOVY-360] - dynamic evaluation of expressionin Groovy scripts
- [GROOVY-37] - Support instanceof as an operator in the language
- [GROOVY-38] - parser to support interactive shell style parsing
- [GROOVY-416] - support better stepwise iteration
- [GROOVY-428] - Socket and ServerSocket groovy methods
- [GROOVY-443] - Add base64 methods to String and byte[]
- [GROOVY-463] - Allow default parameters on constructors
- [GROOVY-476] - with keyword
- [GROOVY-486] - add new URL.eachLine() method for working with URLs like File objects
- [GROOVY-57] - expression x = 5 should return 5 to outer expressions so we can do x = y = 5
- [GROOVY-572] - more groovy methods on InputStream. getText() to be like File / URL
- [GROOVY-62] - implement switch statement
- [GROOVY-646] - Fix InteractiveShell to allow embedded shells
- [GROOVY-647] - Provide a binding command in the interactive shell
- [GROOVY-692] - minv/maxv where closure computes value
- [GROOVY-702] - GroovySQL should allow a closure to be registered to configure the JDBC statement before use
- [GROOVY-744] - Allow groovy script extensions to be left off when running from command line
- [GROOVY-793] - implement Collection.unique()
- [GROOVY-797] - Groovy plugin should include a default runtime for scripts
- [GROOVY-811] - empty Map should evaluate to false in asBool()
- [GROOVY-832] - Support for eachObject, eachDir and runAfter (patch provided)
- [GROOVY-84] - Allow import blah.* support
- [GROOVY-840] - Provide a replaceAll() method on String to transform captured text through a closure
- [GROOVY-845] - Groovy For Web Services: Easy web service consumption
- [GROOVY-878] - Allow Closures to be a switch case by implementing the isCase() method
- [GROOVY-879] - Provide a replacement for the dropped === operator, e.g. Object.is(Object)
- [GROOVY-938] - Debug option for groovyc
- [GROOVY-963] - provide StringBuffer.putAt(Range) analogous to List.putAt(Range)
- [GROOVY-969] - Support the method inject() on arrays
Sub-task
- [GROOVY-1387] - use central coercion mechnism when setting fields/proeprties
Task
Wish
- [GROOVY-112] - support ... syntax for exclusive ranges?
- [GROOVY-138] - The groovy script should automatically compile any dependent groovy scripts
- [GROOVY-1409] - remove old closure syntax
- [GROOVY-173] - provide security sandbox for executing scripts
- [GROOVY-186] - Runtime addition or overriding of methods
- [GROOVY-187] - cleaner alternative to using static void main()
- [GROOVY-198] - it would be nice if conditional clauses could be coerced to a boolean
- [GROOVY-205] - Fix warnings
- [GROOVY-26] - Refactor the parser so that it can be used to parse command lines interactively
- [GROOVY-29] - Refactor the MetaClass to use an Object[] rather than Object for arguments?
- [GROOVY-30] - Add super and class as new static & instance variables
- [GROOVY-31] - Add MetaClass.getMethodClosure to allow analysis of 'does understand method'
- [GROOVY-32] - Support operators +=, -=, ++, --, *=, /= etc
- [GROOVY-33] - improve semantic validator to catch common compile errors
- [GROOVY-367] - Consider with() block/statement for "importing" methods into a namespace
- [GROOVY-415] - Please deploy groovy-xmlrpc on dist.codehaus.org
- [GROOVY-49] - Support method invocation with closure syntax sugar for constructor calls
- [GROOVY-518] - array toString()
- [GROOVY-53] - Support cardinality syntax (*, !, +, ?) like UML, DTDs or Xen
- [GROOVY-63] - support JSR 45?
- [GROOVY-77] - upgrade to latest greatest ASM release
- [GROOVY-78] - create a single uber-jar with all the stuff you need to run groovy
- [GROOVY-782] - Provide a xml printer to print Node as xml format
- [GROOVY-80] - Add neater python style import statements
- [GROOVY-81] - groovlets improvements - support cross-script dependencies