Groovy1.1 beta-2的最大亮点是支持Generics以及实现Groovy和Java代码的联合编译,并支持了经典的for语句
您可以在JDK1.4+上玩玩Generics等Java5的新特性了 :)
下载地址:
http://dist.groovy.codehaus.org/distributions/groovy-binary-1.1-beta-2.zipRelease Notes - groovy - Version 1.1-beta-2 - HTML format
Sub-task
- [GROOVY-1894] - enable the usage of normal classes as parameter in the class header
- [GROOVY-1895] - simple usage of formal type parameters
- [GROOVY-1896] - nested usage of formal type parameters
- [GROOVY-1897] - usage of formal parameters in the extends part
- [GROOVY-1898] - usage of class parameters at fields
- [GROOVY-1899] - usage of formal parameters at fields
- [GROOVY-1900] - usage of generics type parameter in methods
- [GROOVY-1901] - usage of multiple interfaces as bound for generic parameterization
- [GROOVY-1939] - Annotation Support for method parameters
- [GROOVY-1940] - Annotation support for fields
- [GROOVY-1951] - build a compiler that can compile mixed groovy and java code on the command line
Bug
- [GROOVY-1160] - Groovysh does not start in Windows 2000 with Java 1.5 if there are blanks in the file paths (fix included)
- [GROOVY-1164] - Object.collect(Closure) fails to work on Set
- [GROOVY-1342] - GroovyRowResult class raise exception when field value is null
- [GROOVY-1398] - array[0]++ doesn't compile
- [GROOVY-1550] - Groovy Sql (or AST builder) doesn't respect bracketing of logical operators
- [GROOVY-1553] - I fixed some problems with ranges and added some additional unit tests.
- [GROOVY-1558] - backward Array Sintax
- [GROOVY-1616] - Inconsistent subList for ranges
- [GROOVY-1683] - GROOVY_HOME should be quoted in startGroovy.bat
- [GROOVY-1685] - using ranges as list subscripts limited to existing list size
- [GROOVY-1698] - No way to escape the / character in Groovy regex
- [GROOVY-1803] - Cannot apply function/closure arguments with defaults
- [GROOVY-1807] - Groovy fails to call varargs method signatures when an empty arg list is supplied
- [GROOVY-1848] - GCL does not close input stream when using URL to parseClass
- [GROOVY-1861] - Snapshot downloads link points to empty directory
- [GROOVY-1867] - java.lang.ClassCastException: gjdk.org.codehaus.groovy.tools.RootLoader_GroovyReflector
- [GROOVY-1874] - Problem compiling static initialiser
- [GROOVY-1876] - try-finally does not always executes the finally block when used in methods with return values
- [GROOVY-1878] - SwingBuilder / tableLayout -> more than two cells in one row are not displayed
- [GROOVY-1879] - Error parsing simple expression in a conditional.
- [GROOVY-1882] - NullPointerException when running two or more scripts with GroovyScriptEngine in multiple threads .
- [GROOVY-1890] - MemoryAwareConcurrentReadMap cause thred dead lock,it will hang our application at some time.
- [GROOVY-1891] - Assignment to array element yields null
- [GROOVY-1904] - Iterators do not close streams
- [GROOVY-1910] - Some property names used in the value of a Map cause IncompatibleClassChangeError
- [GROOVY-1911] - Unwrapping needed before invokePogoMethod
- [GROOVY-1912] - GroovyScriptEngine.loadScriptByName is the cause of Stack Overflow Error
- [GROOVY-1917] - VerifyError when using double instead of Double
- [GROOVY-1920] - Remove redundant groovy.jar from --classpath option to GroovyStarter
- [GROOVY-1922] - NPE from classes that extend AbstractMap
- [GROOVY-1928] - startGroovy script has issue on cygwin
- [GROOVY-1929] - Resource Leak in the GroovyScriptEngine
- [GROOVY-1930] - Concurrency issue when loading dependencies in the GroovyScriptEngine
- [GROOVY-1935] - Continuous integration should test with CObertura coverage on
- [GROOVY-1937] - Number conversion from BigDecimal to double does not work for Varargs
- [GROOVY-1941] - Change pom version to lowercase
- [GROOVY-1943] - ClassCastException for Reflector
- [GROOVY-1944] - isCase implementation for BigDecimals needed based on numerical value only
- [GROOVY-1945] - getting character encoding from command line is failed
- [GROOVY-1947] - Empty case block before default prevents default block from executing
- [GROOVY-1948] - == doesn't behave properly
- [GROOVY-1949] - Problem With Stacked Cases In Switch Statements
- [GROOVY-1956] - null's in lists are not handled correctly for unique(), sort()
- [GROOVY-1958] - There's possibility that variable "encoding" is null in CompilerConfiguration.
- [GROOVY-1961] - sum() should not assume the items are numbers or strings but apply normal duck typing
- [GROOVY-1963] - list expansion in method call caching causes failing method call
- [GROOVY-1964] - deadlock in MemoryAwareConcurrentReadMap.get
- [GROOVY-1967] - When assigned to a local variable or attribute, a closure with named parameters throws a verify error
Improvement
- [GROOVY-202] - allow importing of static methods like Java 1.5
- [GROOVY-217] - support java style old for loop notation
- [GROOVY-635] - Overloading divide - method is called "div" not "divide"
- [GROOVY-715] - Optional return for "if" statements
- [GROOVY-849] - + operator on null string concat causes exception
- [GROOVY-1109] - provide method rows() and firstRow() on groovy.sql.DataSet
- [GROOVY-1201] - Unsupport Classic for loop now reports strange error message
- [GROOVY-1380] - "fileName" as File
- [GROOVY-1542] - Implement groupBy() for Maps as well as for Lists
- [GROOVY-1688] - Dynamic compilation excessive typed instance variables resolution as class lookup
- [GROOVY-1850] - Custom Metaclass creation handler
- [GROOVY-1857] - Add a check for ant version 1.7
- [GROOVY-1858] - Fix warnings about @deprecated methods for DelegatingMetaClass, ProxyMetaClass, and MockProxyMetaClass
- [GROOVY-1859] - Enable warning messages about deprecated features in build
- [GROOVY-1868] - Modify BuilderSupport to allow sub-class to change the node at node completion.
- [GROOVY-1893] - Minor change to groovy-starter.conf
- [GROOVY-1938] - Allow GJDK method Timer.runAfter() to return the TimerTask which it created
- [GROOVY-1952] - force SwingBulder to execute builder methods in EDT
- [GROOVY-1955] - Adding complete body of XML tag with GPathResult.getBody() including CDATA sections
- [GROOVY-1966] - FileNotFoundException (really IOExceptions in general) swallowed by XMLRPCServerProxy
- [GROOVY-1968] - add ConcurrentReaderHashMap to groovy
New Feature
- [GROOVY-21] - .. as a new binary operator
- [GROOVY-455] - Add groovy plugin for Maven
- [GROOVY-502] - Adding instance methods to classes
- [GROOVY-1718] - Named-parameters without parentheses
- [GROOVY-1784] - Add deploy to m2 repository to groovy-core ant build
- [GROOVY-1886] - leftShift operator for ObjectOutputStream
- [GROOVY-1887] - It would be useful to have a DGM Socket.withObjectStreams to complement Socket.withStreams
- [GROOVY-1969] - Migrate Grails' ConfigSlurper to a groovy.util
Task
Wish
- [GROOVY-890] - Allow sublists as lvalue in range notation
- [GROOVY-1916] - I need to get the metaData even when I get no results/I'd like an easier way to get the metaData from the Sql class.
- [GROOVY-1946] - getting the value of groovy.source.encoding from system property in default constractor of CompilerConfiguration.
附:
朝花夕拾——Groovy & Grails
posted on 2007-07-06 20:02
山风小子 阅读(1663)
评论(4) 编辑 收藏 所属分类:
Groovy & Grails