On 14-Mar-08, at 2:55 AM, Milos Kleint wrote:

is there any document describing the gains of such rewrite? I assume
more features and less bugs are an obvious plus of code reuse, but is
there more?


That there would be more developers working on the core. Dain, and David use XBean extensively in OpenEJB and what we're trying to create is a DI library and so we will also be collaborating with Paul/Mauro/ Pete to make this work across all our projects. The additions Dain has made to XBean adds things I was just never interested in like constructor injection and bean factories. It's really the reduction of the code in Plexus to use a library with more developers and more functionality.

I'm interested in this are especially because I do all sorts of
dynamic component replacement within an IDE embedded maven instance..
So I'm wondering if it makes my life easier or maybe not..


What Dain is planning is far more flexible for integration. OpenEJB is all about integration and so it deals better with live instances for certain. There are many other container aspects to our collaboration but this is just the first step and it won't be noticed at first because Plexus itself will limit the visibility of the extended capabilities in XBR. I just don't want to maintain the DI aspect of this anymore, it's not the interesting part for me in Maven, it's the other features in Plexus that make Maven work.

Milos


On Fri, Mar 14, 2008 at 7:32 AM, Jason van Zyl <[EMAIL PROTECTED]> wrote:
On Dain's side it's all in the XBean repository, which a sub-project
in geronimo. The changes to Plexus need to be made. Dain is still
working on that. But the DI api which is the interesting thing is all
in XBean.



On 13-Mar-08, at 9:08 PM, Rahul Thakur wrote:

Hi Jason,

Is this hosted somewhere where we can take a look or start poking
around?

Cheers,
Rahul




Jason van Zyl wrote:

On 28-Feb-08, at 3:00 PM, Barrie Treloar wrote:

Jason, do you want to talk some more about XBean, DI, & Maven/
Plexus etc?


XBean Reflect (XBR) is really something more akin to Guice. XBR is
more
complete then what I have in Plexus and I honestly only ever cared
about
private field injection and Plexus only does constructor and setter
injection now. XBR does private field, constructor, bean factory, and setter injections. Dain and I chatted and decided to come up with an
interface for DI that XBR would provide and that Plexus could
consume.
Dain has done the XBR side and is now going to remove Plexus' DI in
favor of XBR. XBR is currently used in OpenEJB and David Jencks
might be
interested in it for Geronimo. So that would be the first step of
collapsing out the DI code in Plexus and using XBR as a library.

I have also been talking with the Pico folks and if we could then
abstract some container features I would be happy to chop out another
huge chunk of Plexus and use Pico. So I'm hoping that we can arrive
at
the interface for DI which Pico and Plexus can use, and then take the bottom out of Plexus and use Pico in there. Ultimately the features I
have in Plexus that I like are specifically for plugin systems like
Maven. I have mechanisms for component configuration, configuration
sources which can configure multiple components (like an application specific configuration being mapped on to components, this is what is
done in Nexus), dynamic metadata translation (maven plugins are
plexus
components which are flipped on the fly), dynamic component discovery
(maven plugins don't exist anywhere in the system until they are
downloaded and wired up in the container), and runtime nature of a
component system. Really this is what I am interested in and if Dain, Paul, Mauro, Peter want to do the DI and base container stuff that's great. We have all made containers and while it's very interesting we
all go to bed at 10pm now, have lives (well some of us) and if we
want
any traction we know we have to work together. Dain, Paul and myself
have been trying to hash this out for 4 years while things like
Spring
just took over, and things like Juice popped up. We're trying to take
our personalities out of the equation (and that is very, very, very
hard
as we're all territorial which is good and bad) and make a better
system.

The other interesting thing is that Dain sees JAXB as being an almost
complete DI system itself. So if we create this interface and we
can get
Kohsuke to mess around with JAXB then maybe we can throw all our
stuff
away and let JAXB do the DI. That's where we're headed and it finally looks like we're making some headway. Dain will probably be done the first pass next week sometime and then we'll spend a week finding all
the problems by running the Maven ITs. None of us are interested in
using Spring but we're interested in running Spring applications
which
there are chunks of code lying around. And none of us are really
interested in using OSGi but definitely want to interoperate (I
actually
had a good chat with Jeff McAffer and we actually talked about what
would need to be done to run Maven on OSGi). We all like containers
and
want to continue working on them and we realize we can work on more
interesting problems if we work together. This may seem perfectly
obviously but it's been nearly impossible to get this point. Dain,
Paul,
and myself are very similar and in the past many of the conversation
would go something like "Hmm, that's nice. My container can do
this, my
container can do that ... yada yada yada." Meanwhile many other
systems
have cropped up and served people better. I'm not a big fan of
Spring's
internals or architecture but absolutely no one can argue with their
dedication to users, good documentation, helpful community and we
realize we've done a disservice to people using our stuff because we can't cooperate. The merger of XBR into Plexus will be the first step
away from this pattern and it's almost done.

I've had a brief look at http://geronimo.apache.org/xbean/index.html
but some of the pages are thin and the diagrams are coming up with
exceptions.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------

We know what we are, but know not what we may be.

-- Shakespeare



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

believe nothing, no matter where you read it,
or who has said it,
not even if i have said it,
unless it agrees with your own reason
and your own common sense.

-- Buddha






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

A language that doesn’t affect the way you think about programming is not worth knowing.

-— Alan Perlis




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to