I think the debate over what to do about jee 5 is hurrying down a
path that only compounds and exacerbates many of the problems we have
now. I really hope we can step back a little bit and find a way to
solve more problems than we create and perpetuate.
IIRC the main activities actually postponed until 1.2 are out the
door are:
- reorganize the build/svn tree so it has a core server bit and a
bunch of optional bits (I think this is jdillons description)
- reorganize the build to build by plugin (my description of the same
thing)
- make maven dependencies and geronimo dependencies match (a
consequence of the preceding reorganization)
- make the console plugin based so each plugin includes a console bit
to administer it.
- make the users view of the server plugin based.
IMO not solving these problems keeps our build and architecture very
unpleasant to deal with, and solving most of them should not be very
hard.
IMO we should introduce the jee5 features according to this model.
Doing so will entirely avoid the need to branch or keep 2 copies of
any code.
In addition, I think several people have expressed the opinion that
supporting j2ee 1.4 and jee5 code simultaneously is going to
introduce some kind of code complexity or difficulty. I think I've
been the only person to address this (correct me if I'm wrong) and so
far the changes I've made for this have been IMO unequivocal
architectural improvements that have simplified and clarified the
code base and made it easier to extend and maintain. They also
haven't been that difficult. The main place this is a problem is
deployment code: it's still a big mess, but its better than it was.
I think that at this point most of the flexibility we'd need to
support mixed j2ee 1.4/ jee5 deployments is probably in place, but I
hope that as we work on more jee5 features we can considerably
simplify the structure of the deployment components.
To reiterate over and over again, IMO
-- branching is a bad solution to the wrong problem and we should
work very hard to avoid it
-- supporting various j2ee 1.4- jee5 feature mixes is not hard and
leads to improved architecture and simpler code.
thanks
david jencks