Hi,
Knut, you anticipated my intentions. I wanted to give a short summary
of my efforts these days anyway.
The 2.0 branch now contains a stable implementation
of hivemind that bases on a registry construction api.
It compiles, it builds, all test of all modules run successful.
I was able to port tapestry 4.1 to this version (and run the workbench
example)
with about 15 minutes of work (not talking about the 6 hours struggling
with maven 2) and 30 lines of code changes.
So it should to be backward compatible for a lot of applications.
I would like to propose my implementation of the registry construction api
as foundation for hivemind 2.0. It's not exactly what Knut suggested on
the wiki but very similar (we should discuss details in a separate thread).
On top of the registry construction api I've implemented support for
annotated
modules (http://wiki.apache.org/jakarta-hivemind/AnnotationSupport).
The implementation is quite basic for now but was very simple,
which I see as proof of concept for the registry construction api.
IMHO we shouldn't implement the API for 1.2. I suspect it won't get 100%
backward compatible at all and I personally are a little bit tired of
these conversion work. I invested about 150 hours in the API and in
the moment I'm quite eager on doing new stuff (annotations, generics!).
And of course there is a lot of documentation that still needs to be done.
I don't see a lot of use cases for the direct use of the API. I expect
anybody who is willing to use the API to switch to 2.0.
Possible road map for 2.0:
2.0 M1 (End of November)
- Stable version of the construction API (agreed on by the core developers)
- Annotated modules API preview
- small migration guide for beta testers
2.0 M2 (December)
- Stable version of annotated modules API
- documentation for registry construction API
- documentation for annotated modules
- redesigned interceptor support, commons proxy?
2.0 RC 1 (January)
- complete documentation
- Merge of changes from 1.2 branch
2.1
- More advanced annotation stuff like annotations for injection in
arbitrary classes (InjectService, InjectConfiguration ...), parameter
injection etc.
- Spring module support
What do you think?
Bye
Achim
Am Fri, 27 Oct 2006 10:01:51 +0200 schrieb Knut Wannheden
<[EMAIL PROTECTED]>:
Hi all,
I'd like to continue the discussion we had on this topic a few months
ago (thread subject was "registry construction api"). Since then I
haven't given this much more thought but I see that Achim has put
quite a bit more work into his 2.0 branch. Achim, could you give us a
summary of what you've achieved?
The questions I'd like to sort out are:
1. What do we want the API to look like? I made a proposal (on the
Wiki) and Achim has something more concrete and quite similar in his
branch.
2. What release / time frame should we target this change for? IMHO we
should implement this API for 1.2 in a backwards compatible way. For
HiveMind 2.0 we could consider making extensions and possibly
backwards incompatible changes.
Regards,
--knut