Dan North wrote:
So, here's my thinking.

Runtime frameworks (xstream, sitemesh, objenesis, ...)* are governed by what operations people are prepared to support in a production environment. This usually means they are several JRE versions behind, because ops people are notoriously conservative about upgrading things.

Development frameworks (jmock, hamcrest, ...)* can be more adventurous because they don't have an impact on the production environment, just the developer setup. JBehave falls into this latter category, so I'm less worried about having it depend on Java 5.

We could do this in stages as Mauro suggests, by having some extensions that use (and require) java 5 and others - and the core - that are still 1.4 compliant. Or we can bite the bullet - given that jbehave currently has a relatively small user base (I'm assuming here, based on the list traffic) - and move to 1.5. This would give us an opportunity to review the codebase and see where generics and annotations might help make jbehave more expressive.

Plus we get hamcrest for free.

What do you guys think? (Subject of course to consulting with that user base :)


Thoughts in no particular order:

In general, I believe that a good rule of thumb is supporting 1-2 JDK versions 
from the current.
So the case for JDK 1.4 support could still be made.  But given that:

- 1.5 gives us so much more "language" features (as opposed to a library 
bundled in the JDK)
- we have several new libraries/frameworks that require 1.5
- jBehave is not a production library - but a testing one

I would be inclined to move to 1.5.

To support 1.4 users, we could keep 1.x branch on 1.4 compatibility, and create new 2.x branch for 1.5 (as jMock, Pico and other projects have done).

Cheers




---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to