Skip to content
Skip to breadcrumbs
Skip to header menu
Skip to action menu
Skip to quick search
Quick Search
Browse
Pages
Blog
Labels
Attachments
Mail
Advanced
What’s New
Space Directory
Feed Builder
Keyboard Shortcuts
Confluence Gadgets
Log In
Sign Up
Dashboard
Groovy JSR
Copy Page
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account. You can also
Sign Up
for a new account.
This page is being edited by
.
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
More colours
Strikethrough
Subscript
Superscript
Monospace
Clear Formatting
Bullet list
Numbered list
Outdent
Indent
Align left
Align center
Align right
Link
Table
Insert
Insert Content
Image
Link
Attachment
Symbol
Emoticon
Wiki Markup
Horizontal rule
tinymce.confluence.insert_menu.macro_desc
Info
JIRA Issue
Status
Gallery
Tasklist
Table of Contents
Other Macros
Page Layout
No Layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Undo
Redo
Find/Replace
Keyboard Shortcuts Help
<h1>GroovyDevCon #3</h1> <p>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.</p> <h1>Agenda</h1> <p>With Groovy 1.0 released, it'll be time to focus on the JSR-241 and decide of the roadmap of Groovy 2.0</p> <p>Please suggest the various topics you'd wish to speak about or features you'd like to have in Groovy 2.0:</p> <h2>Project</h2> <h3>Roadmap</h3> <ul> <li>Branching scheme : 1.x and 2.x</li> <li>Numbering scheme : 1.0.1, 1.1, 1.5/2.0 alpha/beta/RC</li> <li>Define a roadmap towards the next major milestone</li> <li>Set a policy for keeping 1.0 compatibility</li> <li>Provide a process for languages changes with a real proposal and prototype (à la PEP: Python Extension Proposal)</li> </ul> <h3>Unit testing</h3> <ul> <li>More unit tests</li> <li>Have the wiki samples being automatically tested</li> <li>Reuse GinA tests</li> <li>Split the tests to create tests for: <ul> <li>TCK</li> <li>Good & bad error messages checking</li> <li>Tests for non-compilable code</li> <li>GDK vs. language tests</li> </ul> </li> </ul> <h3>JSR-241</h3> <ul> <li>Give the status and setup a roadmap for the JSR</li> <li>Who can lead the effort?</li> </ul> <h3>Misc.</h3> <ul> <li>Coding style issues, e.g. TODOs, javadoc or groovydoc, metrics</li> </ul> <h3>Documentation</h3> <ul> <li>What can be taken from GinA?</li> <li>What are the areas we need to work on?</li> <li>Who can work on this effort?</li> </ul> <h2>Features</h2> <h3>Syntax</h3> <ul> <li>JDK 1.5+ features <ul> <li>Make 1.5 the default target JVM for Groovy NG or can we support 1.4 still?</li> <li>Full annotation support</li> <li>Enum support</li> </ul> </li> <li>Syntax for operator overloading</li> <li>New mechanism for DGM and possible syntax for extension methods: a mixin category, inspiration from C# 3</li> <li>Allow omitting parentheses when named arguments are used in top-level method calls: monster.move x:100.meters, y:200.meters</li> <li>A pass by ref keyword for implementing swap(ref x, ref y) (exists in multiple languages like C#)</li> <li>Multiple assignment: a, b = foo() (if a 2-element list is returned for instance)</li> <li>Class-scoped use directive</li> <li>Discuss possibility of adding a construct that can differentiate between a closure that can return from its outer scope and one that cannot.</li> <li>Move date arithmetic code from Google Data into DGM (1.day.ago)</li> <li>Tuples: (a,b)</li> </ul> <h3>MOP</h3> <ul> <li>Adding new features to make Meta-programming easier (<a href="http://grails.org/ExpandoMetaClass">ExpandoMetaClass</a>), for instance: myString.metaClass.threeTimes = {} and myString.metaClass.someProp = 3</li> <li>Remove hard references to java.lang.reflect.* types from MetaClassImpl making everything a Meta* (MetaConstructor, MetaField, MetaMethod etc.). This is only partially done.</li> </ul> <h3>GDK</h3> <ul> <li>Commons-cli or JOpt Simple</li> <li>Store source date in the class itself? (comments, closure code which can be used for special serialization or AST operations during runtime)</li> <li>Date / Time calculations</li> <li>Math & scientific support: complex numbers, units handling, module wrapper around JScience, Choco, and the likes</li> </ul> <h3>Advanced features</h3> <ul> <li> Continuations</li> <li>Tail recursion</li> </ul> <h3>Problems to address</h3> <ul> <li>Serialization issue</li> <li>Registry clean-up (cf XWiki usage)</li> <li>Refactor DGM into difference classes that deal with each type (Object, Map, List) for maintainability</li> </ul> <h2>Tooling</h2> <ul> <li>GroovyDoc</li> <li>IDE plugins</li> <li>Improved console</li> </ul> <h2>Build</h2> <ul> <li>Rework the build system (Gant, Ivy, m2)</li> <li>Cleaning up the codebase (what can be removed, e.g. old eclipse plugin)</li> <li>Coverage report</li> <li>Move non core classes (AntBuilder, Mock...) out of main source tree and cut down jar dependencies</li> <li>Make sure we still provide poms for M1 / M2 repository distribution</li> <li>Continuous integration build</li> </ul> <h2>Distribution</h2> <ul> <li>Groovy-all should be the rule (no double jars all vs. not all)</li> <li>Include a native launcher</li> <li>Update dependencies (antlr 3, asm 3, ant 1.7, xerces 2.9, junit 4.2...)</li> <li>Remove unneeded dependencies from the distributions (EJB, radeox, axion...)</li> <li>Modularize the groovy jars (groovy-core, groovy-gdk, groovy-jsr223 engine and embed asm & antlr by default in groovy-core)</li> <li>Add JSR-223 Groovy engine in the distribution</li> <li>Distinguish distributions for JDK 1.4 / 1.5 / 1.6 to embed jars like JMX, JSR-223, Xerces/Xalan</li> </ul> <h2>Performance</h2> <ul> <li>Performance improvement (run time and compiler performance)</li> </ul> <h1>Location</h1> <p>The Groovy Developer Conference #3 will be held in <strong>Paris</strong>.</p> <p>Sun will provide us with a big room named "<strong>Jupiter</strong>" with video-projector and so on.<br /> You can find the details for going to the Sun's offices <a href="http://fr.sun.com/aboutsun/location/map-cbc.html">there</a>.</p> <h1>Dates</h1> <p>The conference will take place on <strong>29 and 30 January 2007</strong>. </p> <p>(Other possible matching dates were 1-2 and 8-9 February 2007. The sooner, the better.)</p> <p>The conference is a <strong>two days conference</strong>. All Groovy & Grails developers are welcome to this conference, and if space permits, we can potentially accept additional invitees</p>
Please type the word appearing in the picture.
Attachments
Labels
Location
Watch this page
< Edit
Preview >
Loading…
Save
Cancel
Next hint
search
attachments
weblink
advanced