Permalink
Browse files

Tag for the release of Groovy 1.1-beta-1

git-svn-id: http://svn.codehaus.org/groovy/tags/GROOVY_1_1_BETA_1@6234 a5544e8c-8a19-0410-ba12-f9af4593a198
  • Loading branch information...
1 parent 6df6aac commit cf413ae52712e8a610a9ace59a0ac39ebe1e6c30 @glaforge glaforge committed Apr 30, 2007
Showing 1,308 changed files with 154,446 additions and 0 deletions.
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main"/>
+ <classpathentry excluding="**/.cvsignore" kind="src" path="src/test"/>
+ <classpathentry kind="lib" path="target/test-classes"/>
+ <classpathentry kind="var" path="MAVEN_REPO/ant/jars/ant-1.6.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/ant/jars/ant-junit-1.6.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/ant/jars/ant-launcher-1.6.5.jar"/>
+ <classpathentry exported="true" kind="var" path="MAVEN_REPO/antlr/jars/antlr-2.7.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/asm/jars/asm-2.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/asm/jars/asm-analysis-2.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/asm/jars/asm-attrs-2.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/asm/jars/asm-tree-2.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/asm/jars/asm-util-2.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/axion/jars/axion-1.0-M3-dev.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/bsf/jars/bsf-2.4.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-cli/jars/commons-cli-1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/commons-logging/jars/commons-logging-1.0.3.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/jmock/jars/jmock-cglib-1.1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/jmock/jars/jmock-1.1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/mockobjects/jars/mockobjects-core-0.09.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/mx4j/jars/mx4j-3.0.1.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/nekohtml/jars/nekohtml-0.9.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/openejb/jars/openejb-loader-1.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/qdox/jars/qdox-1.5.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/radeox/jars/radeox-0.9.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/radeox/jars/radeox-oro-0.9.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/regexp/jars/regexp-1.3.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xerces/jars/xerces-2.4.0.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xml-apis/jars/xml-apis-1.0.b2.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/xstream/jars/xstream-1.2.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="security/GroovyJarTest.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/servlet-api-2.4.jar"/>
+ <classpathentry kind="var" path="MAVEN_REPO/javax.servlet/jars/jsp-api-2.0.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<projectDescription>
+ <name>groovy</name>
+ <comment>a powerful and dynamic scripting language for the JVM</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
@@ -0,0 +1,3 @@
+#Tue Jun 06 17:51:41 BST 2006
+eclipse.preferences.version=1
+encoding//src/test/groovy/Base64Test.groovy=UTF-8
@@ -0,0 +1,57 @@
+#Sat Jun 11 03:45:36 CEST 2005
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.4
@@ -0,0 +1,31 @@
+/***
+ * http://asm.objectweb.org/
+ *
+ * ASM: a very small and fast Java bytecode manipulation framework
+ * Copyright (c) 2000,2002,2003 INRIA, France Telecom
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
@@ -0,0 +1,15 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
@@ -0,0 +1,12 @@
+ =========================================================================
+ == NOTICE file corresponding to the section 4 d of ==
+ == the Apache License, Version 2.0, ==
+ == in this case for the Groovy Language distribution. ==
+ =========================================================================
+
+ Groovy Language
+ Copyright 2003-2007 The Codehaus.
+ Developers and Contributors are listed in the project POM file
+
+ This product includes software developed by
+ The Groovy community (http://groovy.codehaus.org/).
View
@@ -0,0 +1,208 @@
+!!!!!! Obsolete file!! Don't add anything here, use Jira instead.
+
+TODO: remove irrelevant entries, add others to Jira.
+
+Things to Test
+==============
+
+* test synchronized statement
+
+Core Groovy Tasks
+=================
+
+* new GroovyMethods to be added
+ - File.grep(pattern) -> List
+ - File.grep(pattern) { closure }
+ allow iteration through a file for each line matching a regex pattern
+
+ - List.first(), List.last(), pop()
+ - Collection.removeIf { x | x > 0 }
+ - Collection.count(foo) -> returns number of objects that equal foo
+
+ - Map.get(key, defaultValue)
+ - Map.setDefault(key, defaultValue) for things like
+ map.setDefault(key, []).add(newValue)
+
+ - Object.eachProperty
+ - Object.eachPropertyName { object.getProperty(it) }
+ - Object.setProperties(foo:'abc', x:123)
+
+ - some kind of Regexp iterator of strings like Ruby's scan
+ - maybe support Pythons' zip and reduce functions?
+
+ maybe add the various readonly List APIs to Object[] and *[] types
+ if we ever support the DTD / Xed style type*, type+ then we can do the same
+ there too
+
+* SQL builder
+
+sql.table("users") {
+��� column('user-id') { autoinc(), primaryKey(), references('foo'), initialValue(1234) }
+��� column('nickname') { varchar(200) }
+ column(name:'foo', type:'varchar(200)', references:['a', 'b'], initialValue:1234)
+ }
+}
+
+* using mixin for adding using style behaviour to any object??
+
+ mixin Using {
+
+ static using(yield) {
+ object = this.newInstance()
+ try {
+ yield(object)
+ object.close()
+ }
+ catch (Exception e) {
+ try {
+ object.close()
+ }
+ catch (Exception e2)
+ // ignore e2
+ throw e
+ }
+ }
+ }
+
+ or
+
+ using(yield) {
+ try {
+ yield(this)
+ close()
+ }
+ catch (Exception e) {
+ try {
+ close()
+ }
+ catch (Exception e2)
+ // ignore e2
+ throw e
+ }
+ }
+ }
+ }
+
+ then use it as
+
+ new FileInputStream().using { in |
+ ...
+ }
+
+* looks like a bug on generated methods, should use param name over any field name
+ - also it looks like there's various unnecessary stuff (creation of tuples) when invoking
+ methods
+
+* test identity -> hashCode + equals methods
+
+* support for property converters, based on type
+
+* to support dynamic mixins we should use dynamic proxies to allow
+ a groovy object to change metaclass at runtime
+
+* groovy dynamic proxy of any Java object in Java-land?
+ NullObject pattern
+
+* immutable bean
+
+* support static newInstance() method for constructors
+
+* maybe split up ClassGenerator - do code gen & class gen separately
+
+* mixin support...
+
+ SomeClass.addMixin(Foo);
+
+ MetaClass.addInterceptor( new Interceptor() {
+ filter(method) {
+ return method.isPublic();
+ }
+ invoke(method, args) {
+ // do something
+ method.invoke(args);
+ }
+ });
+
+ * allow meta classes to be added dynamically using closure syntax?
+ e.g. Map?
+
+
+STUFF TO PONDER
+===============
+
+* Support multiple return values...
+
+ String, Number cheese() {
+ "hello", 7
+ }
+
+ a, b = cheese()
+
+ also if we do this we should do assignment / swapping
+
+ a, b = 1, 2
+ a, b = b, a
+
+* using macros to avoid dependencies on logging stuff (say)
+
+ class GroovyLog {
+ switch (System.getProperty('groovy.log.impl', 'useCommonsLogging')) {
+ case 'useCommonsLogging': {
+ // lets define the new instance method
+ newInstance() {
+ return new CommonsLoggingThingy()
+ }
+ }
+ default {
+ newInstance() {
+ return new SimpleGroovyLog()
+ }
+ }
+ }
+ }
+
+ doing things like this at compile time means no runtime dependencies. Ditto to do JDK based compiles
+
+UI WORK
+=======
+
+* tree demo...
+
+* when named method calls are supported with default values, refactor SwingBuilder
+ so that all the creations of widgets occur with SwingFactory which would be
+ useful in and of itself
+ - plus we should be using normal method call mechanism & for groovy to do the rest to avoid
+ the long laborious Map coding
+
+* FormModel.addPropertyModel(property)
+ FormModel.addClosureModel(readClosure, writeClosure)
+
+* ListModel is-a List but delegates to an underlying list and has events
+
+* rename tableLayout -> table and table -> grid
+
+* add sortableGrid
+
+* create a GroovyUI
+ -> interactive script + allows scripts to be run & objects explored
+
+
+JUNIT WORK
+==========
+
+* patch GroovyTestCase so that methods which return Object are included in the test. This avoids us having to
+specify void for method return types.This requires a clever static method when we generate the
+ bytecode which can instantiate a special kind of TestSuite
+ unless there's another way?
+
+
+OPTIMISATIONS
+=============
+* method invocations - if foo instanceof GroovyObject
+then generate bytecode
+
+foo.invokeMethod(method, args);
+
+* could code generate the MetaClass with very efficient dynamic dispatch
+ e.g. could switch() on the method name & then use real method invocation
+ on the method instance
Binary file not shown.
Oops, something went wrong.

0 comments on commit cf413ae

Please sign in to comment.