GroovyDevCon #3
So far, we've held two Groovy Developer Conferences: one in London in November 2004, and one in Paris in November 2005. With the late releases of RC-1 and 1.0, the third instance will take place in 2007. The goal of this page is to work on the dates, the place, and the goals and topics of the next session.
Agenda
With Groovy 1.0 released, it'll be time to focus on the JSR-241 and decide of the roadmap of Groovy 2.0
Please suggest the various topics you'd wish to speak about or features you'd like to have in Groovy 2.0:
Project
Roadmap
- Branching scheme : 1.x and 2.x
- Numbering scheme : 1.0.1, 1.1, 1.5/2.0 alpha/beta/RC
- Define a roadmap towards the next major milestone
- Set a policy for keeping 1.0 compatibility
Unit testing
- More unit tests
- Have the wiki samples being automatically tested
- Reuse GinA tests
- Split the tests to create tests for:
- TCK
- Good & bad error messages checking
- Tests for non-compilable code
- GDK vs. language tests
JSR-241
- Give the status and setup a roadmap for the JSR
- Who can lead the effort?
Misc.
- Coding style issues, e.g. TODOs, javadoc or groovydoc, metrics
Documentation
- What can be taken from GinA?
- What are the areas we need to work on?
- Who can work on this effort?
Features
Syntax
- JDK 1.5+ features
- Make 1.5 the default target JVM for Groovy NG or can we support 1.4 still?
- Full annotation support
- Enum support
- Syntax for operator overloading
- New mechanism for DGM and possible syntax for extension methods: a mixin category, inspiration from C# 3
- Allow omitting parentheses when named arguments are used in top-level method calls: monster.move x:100.meters, y:200.meters
- A pass by ref keyword for implementing swap(ref x, ref y) (exists in multiple languages like C#)
- Multiple assignment: a, b = foo() (if a 2-element list is returned for instance)
- Class-scoped use directive
- Add a construct that can differentiate between a closure that can return from its outer scope and one that cannot.
Unknown macro: { return 1 }?
and #
- Move date arithmetic code from Google Data into DGM (1.day.ago)
MOP
- Adding new features to make Meta-programming easier (ExpandoMetaClass), for instance: myString.metaClass.threeTimes = {} and myString.metaClass.someProp = 3
- Remove hard references to java.lang.reflect.* types from MetaClassImpl making everything a Meta* (MetaConstructor, MetaField, MetaMethod etc.). This is only partially done.
GDK
- Commons-cli or JOpt Simple
- Store source date in the class itself? (comments, closure code which can be used for special serialization or AST operations during runtime)
- Date / Time calculations
Advanced features
- Continuations
- Tail recursion
Problems to address
- Serialization issue
- Registry clean-up (cf XWiki usage)
- Refactor DGM into difference classes that deal with each type (Object, Map, List) for maintainability
Tooling
- GroovyDoc
- IDE plugins
- Improved console
Build
- Rework the build system (Gant, Ivy, m2)
- Cleaning up the codebase (what can be removed, e.g. old eclipse plugin)
- Coverage report
- Move non core classes (AntBuilder, Mock...) out of main source tree and cut down jar dependencies
- Make sure we still provide poms for M1 / M2 repository distribution
- Continuous integration build
Distribution
- Groovy-all should be the rule (no double jars all vs. not all)
- Include a native launcher
- Update dependencies (antlr 3, asm 3, ant 1.7, xerces 2.9, junit 4.2...)
- Remove unneeded dependencies from the distributions (EJB, radeox, axion...)
- Modularize the groovy jars (groovy-core, groovy-gdk, groovy-jsr223 engine and embed asm & antlr by default in groovy-core)
- Add JSR-223 Groovy engine in the distribution
- Distinguish distributions for JDK 1.4 / 1.5 / 1.6 to embed jars like JMX, JSR-223, Xerces/Xalan
Performance
- Performance improvement (run time and compiler performance)
Location
The Groovy Developer Conference #3 will be held in Paris.
Sun will provide us with a big room named "Jupiter" with video-projector and so on.
You can find the details for going to the Sun's offices there.
Dates
The conference will take place on 29 and 30 January 2007.
(Other possible matching dates were 1-2 and 8-9 February 2007. The sooner, the better.)
The conference is a two days conference. All Groovy & Grails developers are welcome to this conference, and if space permits, we can potentially accept additional invitees.
Availabilities and interested persons
Name |
Availabilities |
Non-availabilities |
Prefered location |
Comments |
|---|---|---|---|---|
Guillaume Laforge |
any day in january and february |
N/A |
Paris |
I can organize the event in Paris like last year. |
Guillaume Alleon |
any day in january and february |
weeks starting 22nd of January and 10th of February |
Paris, Toulouse |
I can organize the event in Toulouse during week time. |
Jeremy Rayner |
any day in january and february |
Feb 14 |
London |
I can organize the event in London, as I did in 2004 |
Paul King |
probably can't do Europe without some financial travel assistance |
|
Australia: Brisbane, Gold Coast, possibly Sydney |
... a long shot ... but thought I would at least propose a down under alternative: Great weather, great food and drink, great beaches |
Jochen Theodorou |
any day in january/february |
N/A |
London, Paris, Toulouse, nearly anywhere |
I would have offered Stuttgart, but it is a boring city. If you all decide to still go there, then I will do the organization |
John Wilson |
15th Jan to 9th Feb but not 25th Jan. Then 19th 28th Feb |
1st to 15th Jan, 25th Jan, 10th to 18th Feb |
Burssels or Antwerp for the Beer |
|
Dierk König |
any except: |
1. - 7. Jan, 15th Jan, 22. - 26. Jan |
any |
|
Graeme Rocher |
If in Paris not sure yet. If in London any except: |
15-19 Jan,5-6 Feb,13-23 Feb |
London |
I can make the arrangements for the the location (room with whiteboards, projector etc.), lunch and may be able to provide some assistance (TBC) |
