Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-09 Thread Alex Karasulu
On Fri, May 9, 2008 at 12:01 AM, Jan Nielsen [EMAIL PROTECTED]
wrote:

 FWIW, IMO introducing Spring and OSGI to replace a number of the
 choices in Maven is a good start; these are excellent frameworks with
 excellent documentation, excellent communities, and a lot of
 experienced developers - something that simply cannot be said of
 Plexus, XBR, Classworlds - and that represents tremendous value. Not
 recognizing, or acknowledging, that seems likely to be at the root of
 Maven's slow  progress. Java5+, including annotations and generics, is
 a no-brainer, and it has been for a long time. On Fri, May 2, 2008 at 6:53
 AM, nicolas de loof 


All good points Jan.  Plexus is a pretty slick container so I can't imagine
it would be that hard for it to adapt to OSGi.  Following a standard is the
best way to go almost always even if the non-standard solution is more
superior.

Alex


 --
  ]
   Note to plexus lovers :
   CONTROVERSAL PROPOSAL, please don't blame me and just give good
 arguments !
  [
 
 
  ]
 
  Maven is built on Plexus. This lightweight container is used (afaik) for
 :
   - simple (javadoc) annotation-based programming model
   - lifecycle management
   - dependency injection
   - classloader isolation for plugins (using classworld)
 
  Let's now consider the today responses to the same requirements :
  - Since Java5, annotations are common, and JSR-250 introduces standard
  annotations that can address some basic lifecycle and IoC requirements.
  - The IoC container ecosystem is dominated by Springframework. Maybe not
 the
  best technical one for any reason, but the best documented and most know
 by
  developers.
  - Classloader isolation is very well adressed by OSGi, with the advantage
 of
  beeing a recognized standard, with many documentation AND business
 interest.
 
  Maybe Plexus was a very advanced container when it was created, but it
 did
  not become the today 1rst choice technology.
 
  Considering an opensource tool like maven is built by volunteers
 developers,
  it would be a good thing to attract talentuous ones to use up-to-date and
  well known technologies. As an example, Archiva (trunk) is migrating to
  Spring as it's IoC container.
 
  Could we consider for future maven version (let's say 2.2, or 3.0 - as
 2.1
  is allready in advanced development phase) to replace plexus with a
  combination of Java5 + Spring + OSGi ?
 
  Nicolas.
 

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




Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-08 Thread Jan Nielsen
FWIW, IMO introducing Spring and OSGI to replace a number of the
choices in Maven is a good start; these are excellent frameworks with
excellent documentation, excellent communities, and a lot of
experienced developers - something that simply cannot be said of
Plexus, XBR, Classworlds - and that represents tremendous value. Not
recognizing, or acknowledging, that seems likely to be at the root of
Maven's slow  progress. Java5+, including annotations and generics, is
a no-brainer, and it has been for a long time.


With respect,

-Jan

On Fri, May 2, 2008 at 6:53 AM, nicolas de loof [EMAIL PROTECTED] wrote:
  [
 
 ]
  Note to plexus lovers :
  CONTROVERSAL PROPOSAL, please don't blame me and just give good arguments !
 [
 
 ]

 Maven is built on Plexus. This lightweight container is used (afaik) for :
  - simple (javadoc) annotation-based programming model
  - lifecycle management
  - dependency injection
  - classloader isolation for plugins (using classworld)

 Let's now consider the today responses to the same requirements :
 - Since Java5, annotations are common, and JSR-250 introduces standard
 annotations that can address some basic lifecycle and IoC requirements.
 - The IoC container ecosystem is dominated by Springframework. Maybe not the
 best technical one for any reason, but the best documented and most know by
 developers.
 - Classloader isolation is very well adressed by OSGi, with the advantage of
 beeing a recognized standard, with many documentation AND business interest.

 Maybe Plexus was a very advanced container when it was created, but it did
 not become the today 1rst choice technology.

 Considering an opensource tool like maven is built by volunteers developers,
 it would be a good thing to attract talentuous ones to use up-to-date and
 well known technologies. As an example, Archiva (trunk) is migrating to
 Spring as it's IoC container.

 Could we consider for future maven version (let's say 2.2, or 3.0 - as 2.1
 is allready in advanced development phase) to replace plexus with a
 combination of Java5 + Spring + OSGi ?

 Nicolas.


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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-03 Thread Christian Edward Gruber

Hmm.  I sense a javax.ioc and javax.ioc.annotations package. :)

Christian.

On 2-May-08, at 16:56 , John Casey wrote:

As far as annotations go, I completely agree with Jason, that  
Annotations should be standardized, and framework-agnostic.



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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-03 Thread Jason van Zyl

This is already starting to happen on a couple fronts.

On 3-May-08, at 8:32 AM, Christian Edward Gruber wrote:


Hmm.  I sense a javax.ioc and javax.ioc.annotations package. :)

Christian.

On 2-May-08, at 16:56 , John Casey wrote:

As far as annotations go, I completely agree with Jason, that  
Annotations should be standardized, and framework-agnostic.



-
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
--

Selfish deeds are the shortest path to self destruction.

-- The Seven Samuari, Akira Kirosawa 





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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-03 Thread nicolas de loof
Do you have some secret JCP working draft you could publish ;-) ?

2008/5/3 Jason van Zyl [EMAIL PROTECTED]:

 This is already starting to happen on a couple fronts.


 On 3-May-08, at 8:32 AM, Christian Edward Gruber wrote:

 Hmm.  I sense a javax.ioc and javax.ioc.annotations package. :)
 
  Christian.
 
  On 2-May-08, at 16:56 , John Casey wrote:
 
  As far as annotations go, I completely agree with Jason, that
   Annotations should be standardized, and framework-agnostic.
  
 
 
  -
  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
 --

 Selfish deeds are the shortest path to self destruction.

 -- The Seven Samuari, Akira Kirosawa




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




Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-03 Thread Jason van Zyl
Nope, I'm doing everything with Dain and XBR which is entirely  
agnostic. At the core of XBR is a simple model called a recipe which  
describes how objects are supposed to be wired up. How you create  
recipes doesn't matter. So with Plexus Dain took the existing  
component descriptors and created the recipes which then tell XBR how  
to inject various components into other components, and how to  
configure components. The closest thing to it is Guice, but is not so  
hard-wired to Java5 annotations. I'm happy to allow a little more  
flexibility where Guice wants absolute certainty up-front and that's  
fine but it's certainly not the model I want for Plexus. The proof is  
in the pudding and XBR works great inside Plexus.



On 3-May-08, at 11:49 AM, nicolas de loof wrote:


Do you have some secret JCP working draft you could publish ;-) ?

2008/5/3 Jason van Zyl [EMAIL PROTECTED]:


This is already starting to happen on a couple fronts.


On 3-May-08, at 8:32 AM, Christian Edward Gruber wrote:

Hmm.  I sense a javax.ioc and javax.ioc.annotations package. :)


Christian.

On 2-May-08, at 16:56 , John Casey wrote:

As far as annotations go, I completely agree with Jason, that

Annotations should be standardized, and framework-agnostic.




-
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
--

Selfish deeds are the shortest path to self destruction.

-- The Seven Samuari, Akira Kirosawa




-
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
--

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.

-- Jacques Ellul, The Technological Society 





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



Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread nicolas de loof
 [

]
 Note to plexus lovers :
 CONTROVERSAL PROPOSAL, please don't blame me and just give good arguments !
[

]

Maven is built on Plexus. This lightweight container is used (afaik) for :
 - simple (javadoc) annotation-based programming model
 - lifecycle management
 - dependency injection
 - classloader isolation for plugins (using classworld)

Let's now consider the today responses to the same requirements :
- Since Java5, annotations are common, and JSR-250 introduces standard
annotations that can address some basic lifecycle and IoC requirements.
- The IoC container ecosystem is dominated by Springframework. Maybe not the
best technical one for any reason, but the best documented and most know by
developers.
- Classloader isolation is very well adressed by OSGi, with the advantage of
beeing a recognized standard, with many documentation AND business interest.

Maybe Plexus was a very advanced container when it was created, but it did
not become the today 1rst choice technology.

Considering an opensource tool like maven is built by volunteers developers,
it would be a good thing to attract talentuous ones to use up-to-date and
well known technologies. As an example, Archiva (trunk) is migrating to
Spring as it's IoC container.

Could we consider for future maven version (let's say 2.2, or 3.0 - as 2.1
is allready in advanced development phase) to replace plexus with a
combination of Java5 + Spring + OSGi ?

Nicolas.


Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Luke Patterson
I agree that people would be more willing (and able) to contribute if the
core technologies were Java5 + Spring + OSGi.


In the limited amount of time available to learn new things, is it
worthwhile for one to learn Plexus?


On 5/2/08, nicolas de loof [EMAIL PROTECTED] wrote:

 [

 
 ]
 Note to plexus lovers :
 CONTROVERSAL PROPOSAL, please don't blame me and just give good arguments
 !
 [

 
 ]

 Maven is built on Plexus. This lightweight container is used (afaik) for :
 - simple (javadoc) annotation-based programming model
 - lifecycle management
 - dependency injection
 - classloader isolation for plugins (using classworld)

 Let's now consider the today responses to the same requirements :
 - Since Java5, annotations are common, and JSR-250 introduces standard
 annotations that can address some basic lifecycle and IoC requirements.
 - The IoC container ecosystem is dominated by Springframework. Maybe not
 the
 best technical one for any reason, but the best documented and most know
 by
 developers.
 - Classloader isolation is very well adressed by OSGi, with the advantage
 of
 beeing a recognized standard, with many documentation AND business
 interest.

 Maybe Plexus was a very advanced container when it was created, but it did
 not become the today 1rst choice technology.

 Considering an opensource tool like maven is built by volunteers
 developers,
 it would be a good thing to attract talentuous ones to use up-to-date and
 well known technologies. As an example, Archiva (trunk) is migrating to
 Spring as it's IoC container.

 Could we consider for future maven version (let's say 2.2, or 3.0 - as
 2.1
 is allready in advanced development phase) to replace plexus with a
 combination of Java5 + Spring + OSGi ?

 Nicolas.



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Carlos Sanchez
I'd really love to see that, but that's not news at all ;)

On Fri, May 2, 2008 at 5:53 AM, nicolas de loof [EMAIL PROTECTED] wrote:
  [
  
 
  ]
   Note to plexus lovers :
   CONTROVERSAL PROPOSAL, please don't blame me and just give good arguments !
  [
  
 
  ]

  Maven is built on Plexus. This lightweight container is used (afaik) for :
   - simple (javadoc) annotation-based programming model
   - lifecycle management
   - dependency injection
   - classloader isolation for plugins (using classworld)

  Let's now consider the today responses to the same requirements :
  - Since Java5, annotations are common, and JSR-250 introduces standard
  annotations that can address some basic lifecycle and IoC requirements.
  - The IoC container ecosystem is dominated by Springframework. Maybe not the
  best technical one for any reason, but the best documented and most know by
  developers.
  - Classloader isolation is very well adressed by OSGi, with the advantage of
  beeing a recognized standard, with many documentation AND business interest.

  Maybe Plexus was a very advanced container when it was created, but it did
  not become the today 1rst choice technology.

  Considering an opensource tool like maven is built by volunteers developers,
  it would be a good thing to attract talentuous ones to use up-to-date and
  well known technologies. As an example, Archiva (trunk) is migrating to
  Spring as it's IoC container.

  Could we consider for future maven version (let's say 2.2, or 3.0 - as 2.1
  is allready in advanced development phase) to replace plexus with a
  combination of Java5 + Spring + OSGi ?

  Nicolas.




-- 
I could give you my word as a Spaniard.
No good. I've known too many Spaniards.
 -- The Princess Bride

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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Jason van Zyl

On 2-May-08, at 5:53 AM, nicolas de loof wrote:


[

]
Note to plexus lovers :
CONTROVERSAL PROPOSAL, please don't blame me and just give good  
arguments !

[

]

Maven is built on Plexus. This lightweight container is used (afaik)  
for :

- simple (javadoc) annotation-based programming model


There are java5 annotations which Jason Dillon wrote, and they are  
available for Mojos as well in the model that Yoav has placed JIRA.




- lifecycle management
- dependency injection
- classloader isolation for plugins (using classworld)

Let's now consider the today responses to the same requirements :
- Since Java5, annotations are common, and JSR-250 introduces standard
annotations that can address some basic lifecycle and IoC  
requirements.
- The IoC container ecosystem is dominated by Springframework. Maybe  
not the
best technical one for any reason, but the best documented and most  
know by

developers.


I think it's really more then the JSR about a component model which is  
now a little race between Spring, Guice, and OSGi. What's more  
important, as Paul Hammant will also argue, is the interoperability of  
the components. Important things like making the embedder usable in a  
OSGi environment. These are the things that really matter.




- Classloader isolation is very well adressed by OSGi, with the  
advantage of
beeing a recognized standard, with many documentation AND business  
interest.




I'm definitely interested in the OSGi model for classloaders and I've  
had more then one conversation with Jeff McAffer.


Maybe Plexus was a very advanced container when it was created, but  
it did

not become the today 1rst choice technology.



OpenEJB is using XBR, Geronimo is using XBR, and I'm happy using XBR  
which is a project here at Apache where the degree of collaboration  
can be much higher. What XBR is capable of is simply amazing, that it  
was possible to swap in another DI engine without a _single_ change to  
Maven is amazing. I am also more interested in collaborating with the  
Pico community and bring together their world with ours.


Considering an opensource tool like maven is built by volunteers  
developers,
it would be a good thing to attract talentuous ones to use up-to- 
date and
well known technologies. As an example, Archiva (trunk) is migrating  
to

Spring as it's IoC container.



XBR is certainly up-to-date and probably one of the most advanced DI  
libraries there is, Dain is at hand to help and he just finished doing  
a lot of work to bring the DI capabilities up to the most advanced  
there are.


I would counter Archiva with Nexus which is using Plexus and I believe  
this makes it more flexible and will integrate with Maven far better.  
I also have never bought the argument that what's popular is what's  
best. Maven wouldn't exist if that were the case. There's always room  
for competitors.


Could we consider for future maven version (let's say 2.2, or 3.0  
- as 2.1

is allready in advanced development phase) to replace plexus with a
combination of Java5 + Spring + OSGi ?



Java5 absolutely, that exists now and with the integration of XBR  
there are no limitations. As far as Spring, that's honestly never  
going to happen while I'm here because I will always argue that  
something like XBR/Guice which is a DI library is more appropriate and  
there is nothing Spring can do that XBR cannot do today in terms of  
dependency injection. OSGi classloaders are definitely an option and  
Eugene and Igor of m2eclipse already have some very cool tools that  
are akin to Spring DM.


And ultimately the container DI is not the important part but the  
implementations of our components. Using standard annotations for that  
is a good thing and that's not hard. XBR does full JEE injection and  
can manage any sort of annotation based DI because it's entirely  
agnostic. At any rate full support for that is now possible with XBR.



Nicolas. What


Thanks,

Jason

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

A man enjoys his work when he understands the whole and when he
is responsible for the quality of the whole

-- Christopher Alexander, A Pattern Language 





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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Jochen Wiedmann
On Fri, May 2, 2008 at 3:47 PM, Luke Patterson [EMAIL PROTECTED] wrote:

 I agree that people would be more willing (and able) to contribute if the
  core technologies were Java5 + Spring + OSGi.


  In the limited amount of time available to learn new things, is it
  worthwhile for one to learn Plexus?

I must admit that I find this puzzling.

What people drives to participate in an open source project like
Maven, will, IMO, hardly be the inner architecture, but the value it
gives you for your daily work. Not that I find the Maven core
particularly clear, but that is hardly the result of using Plexus and
more owned to the cores complexity.

Apart from that, the most work is not so much in the core but in the
components. I surely hope that noone intends to rewrite or, even
worse, enforce a rewrite of shared components, plugins, and so on.

To sum it up: I don't see the value in that project. If there are
people who want to do it, fine with me, but I don't see what we could
win.


Jochen


-- 
Look, that's why there's rules, understand? So that you think before
you break 'em.

 -- (Terry Pratchett, Thief of Time)

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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Hilco Wijbenga
On Fri, May 2, 2008 at 9:25 AM, Jason van Zyl [EMAIL PROTECTED] wrote:
snip/
  And ultimately the container DI is not the important part but the
 implementations of our components. Using standard annotations for that is a
 good thing and that's not hard. XBR does full JEE injection and can manage
 any sort of annotation based DI because it's entirely agnostic. At any rate
 full support for that is now possible with XBR.

XBR? I did some googling but all I could find (aside from lots of TVs)
was a reference to an apparently brand new Maven 2.1 project. No
website or anything. Where can I find more information?

Cheers,
Hilco

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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Jesse McConnell
http://geronimo.apache.org/xbean

On Fri, May 2, 2008 at 1:04 PM, Hilco Wijbenga [EMAIL PROTECTED] wrote:
 On Fri, May 2, 2008 at 9:25 AM, Jason van Zyl [EMAIL PROTECTED] wrote:
  snip/

   And ultimately the container DI is not the important part but the
   implementations of our components. Using standard annotations for that is a
   good thing and that's not hard. XBR does full JEE injection and can manage
   any sort of annotation based DI because it's entirely agnostic. At any rate
   full support for that is now possible with XBR.

  XBR? I did some googling but all I could find (aside from lots of TVs)
  was a reference to an apparently brand new Maven 2.1 project. No
  website or anything. Where can I find more information?

  Cheers,
  Hilco



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





-- 
jesse mcconnell
[EMAIL PROTECTED]

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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread nicolas de loof
From the fiew documentation available, XBean seems to be a container for
jsr250-based components, with plugability for various IoC containers.

The discover, download and install plugin model seems to be very similar
to OSGi, and the link to Eclipse Equinox makes me suppose it's OSGi based
under the hood.

This looks very similar to Spring-DM + Equinox, with support for multiple
IoC containers.

If maven only needs jsr-250 + custom annotations, it could be IoC container
agnostic, beeing Spring or anything else with same features.

 I also have never bought the argument that what's popular is what's best.
Maven wouldn't exist if that were the
 case. There's always room for competitors.

beeing the most popular is not a technical argument, but this is to be
considered :
1. the leader may not be technicaly stupid, beeing the leader
2. when used as a service, the documentation / good knoledge from
developer community is IMHO a big element to consider.

Sorry to say, but I allready had to learn Spring in deep,
some limited Plexus, and now OSGi, I won't look more at XBean until it gets
mainly used or comes with highly innovative features.

I agrea there is always room for competitors and that's a good thing to see
people come with new ideas and projects, but just some nice features is
not enough for me to choose a software, as what maven expect from it's
container is limited to simple IoC (no AOP, declarative TX, bytecode
instrumentation...) and advanced classloader/plugability. Only the second
criteria can help the choice, and OSGi seems to be the most promising
technology.

About Maven wouldn't exist if that were the case, please remember Maven1
was desinged as a let's share common ANT scripts and envolved on this
basis, and Maven2 was a lets take what was good in M1 and make it
stronger. You never build from scratch, but allways start from what is
considered good.

Today, what is considered good is
- about IoC : to be non-intrusive (plexus IS intrusive, as LogEnabled
demonstrates in most of classes) and to be compliant with the fiew existing
standards (JSR250 or other).
- about plugin-based-architecture : hot deployment, replacement and
concurrent versionning, with OSGI as the only recognized candidate (as JSR
for java modules is still WIP)

Nicolas.


2008/5/2 Jesse McConnell [EMAIL PROTECTED]:

 http://geronimo.apache.org/xbean

 On Fri, May 2, 2008 at 1:04 PM, Hilco Wijbenga [EMAIL PROTECTED]
 wrote:
  On Fri, May 2, 2008 at 9:25 AM, Jason van Zyl [EMAIL PROTECTED] wrote:
   snip/
 
And ultimately the container DI is not the important part but the
implementations of our components. Using standard annotations for
 that is a
good thing and that's not hard. XBR does full JEE injection and can
 manage
any sort of annotation based DI because it's entirely agnostic. At
 any rate
full support for that is now possible with XBR.
 
   XBR? I did some googling but all I could find (aside from lots of TVs)
   was a reference to an apparently brand new Maven 2.1 project. No
   website or anything. Where can I find more information?
 
   Cheers,
   Hilco
 
 
 
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
 
 



 --
 jesse mcconnell
 [EMAIL PROTECTED]

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




Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Garvin LeClaire



I would agree .  Why spend time converting the core just to be on a 
more popular framework.  What would we do if Guice became more 
popular, change again? 

I think the bigger issue here is documentation on Maven's design and 
design implementation.   I find I have to search in a lot of places and 
dig deep into the code to find out information when writing plugins.  
This would be the same issue today if we had Spring.  Now I do have to 
admit I am just as guilty of this when I write my plugin which is much 
smaller the core Maven.  I think we all need to take the time to produce 
and consolidate this information for users and for developers in order 
to foster the Maven development community.


I do think that  OSGi would provide a way to alleviate our dependency 
issues (classpath hell).   I know I am going through that now and it is 
not easy to deal with.


Regards,



Garvin LeClaire
[EMAIL PROTECTED]




Jochen Wiedmann wrote:

On Fri, May 2, 2008 at 3:47 PM, Luke Patterson [EMAIL PROTECTED] wrote:

  

I agree that people would be more willing (and able) to contribute if the
 core technologies were Java5 + Spring + OSGi.


 In the limited amount of time available to learn new things, is it
 worthwhile for one to learn Plexus?



I must admit that I find this puzzling.

What people drives to participate in an open source project like
Maven, will, IMO, hardly be the inner architecture, but the value it
gives you for your daily work. Not that I find the Maven core
particularly clear, but that is hardly the result of using Plexus and
more owned to the cores complexity.

Apart from that, the most work is not so much in the core but in the
components. I surely hope that noone intends to rewrite or, even
worse, enforce a rewrite of shared components, plugins, and so on.

To sum it up: I don't see the value in that project. If there are
people who want to do it, fine with me, but I don't see what we could
win.


  

Jochen


  


Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread nicolas de loof
My initial idea was not about Plexus vs Spring but to use OSGi as it
supports the plugin + isolation that is required for maven, and suggested
Spring because it allready supports OSGi.

If we can use plexus with OSGi, lets do it. I just would prefer plexus to be
less intrusive and to support annotations, as a replacement for javadocs and
a dedicated maven plugin to extract components requirements.

2008/5/2 Garvin LeClaire [EMAIL PROTECTED]:



 I would agree .  Why spend time converting the core just to be on a more
 popular framework.  What would we do if Guice became more popular, change
 again?
 I think the bigger issue here is documentation on Maven's design and
 design implementation.   I find I have to search in a lot of places and dig
 deep into the code to find out information when writing plugins.  This would
 be the same issue today if we had Spring.  Now I do have to admit I am just
 as guilty of this when I write my plugin which is much smaller the core
 Maven.  I think we all need to take the time to produce and consolidate this
 information for users and for developers in order to foster the Maven
 development community.

 I do think that  OSGi would provide a way to alleviate our dependency
 issues (classpath hell).   I know I am going through that now and it is not
 easy to deal with.

 Regards,



 Garvin LeClaire
 [EMAIL PROTECTED]





 Jochen Wiedmann wrote:

  On Fri, May 2, 2008 at 3:47 PM, Luke Patterson [EMAIL PROTECTED]
  wrote:
 
 
 
   I agree that people would be more willing (and able) to contribute if
   the
core technologies were Java5 + Spring + OSGi.
  
  
In the limited amount of time available to learn new things, is it
worthwhile for one to learn Plexus?
  
  
 
  I must admit that I find this puzzling.
 
  What people drives to participate in an open source project like
  Maven, will, IMO, hardly be the inner architecture, but the value it
  gives you for your daily work. Not that I find the Maven core
  particularly clear, but that is hardly the result of using Plexus and
  more owned to the cores complexity.
 
  Apart from that, the most work is not so much in the core but in the
  components. I surely hope that noone intends to rewrite or, even
  worse, enforce a rewrite of shared components, plugins, and so on.
 
  To sum it up: I don't see the value in that project. If there are
  people who want to do it, fine with me, but I don't see what we could
  win.
 
 
 
 
 Jochen

 
 
 



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread John Casey
I have to say that I'm not at all interested in moving to Spring. At  
all. I've used both Spring and Plexus, and while I don't think Plexus  
is the end-all, be-all, it's better IMO than Spring. As far as  
annotations go, I completely agree with Jason, that Annotations  
should be standardized, and framework-agnostic. As for OSGi, I think  
we're definitely moving in the direction of that type of system in  
the 2.1 extensions and plugin handling code, but I'd be a little  
hesitant to make the decision to give up all control over our  
classloading model without doing some serious tests on a branch to  
make sure OSGi can support our needs. IMO, ClassWorlds is fast  
approaching the capability of OSGi in terms of raw classloading  
flexibility.


I have to say that I take some issue with the idea that we should  
completely refactor Maven to standards - which, by the way, are  
only popular items when we're talking about Spring, not specified  
standards that have more than one implementation - just so our users  
will get warm fuzzies about using the tool. From the user's  
perspective, if we have the bugs worked out of this system properly  
(we don't) then it absolutely shouldn't matter. If we get our  
annotations standardized to something that truly is being used by a  
large number of projects (where Spring is just one project...I'm not  
talking about all the projects *using* Spring), then plugin  
development shouldn't be that difficult to wrap one's head around.  
For many applications, it's actually not that hard now, as you don't  
need to interact with Plexus that much as-is. For instance, you don't  
even know that it's Plexus doing the DI for your plugin when you use  
@component annotations in your plugin...if that annotation were  
standardized, it would matter even less.


I can appreciate that you don't want to learn another suite of  
technologies in order to be able to work on Maven, but I can repeat  
your argument back to you: I'm not interested in learning a suite of  
new apis in order to keep developing on Maven...at least, not unless  
there is a compelling reason.


My two cents.

-john


On May 2, 2008, at 3:25 PM, nicolas de loof wrote:

From the fiew documentation available, XBean seems to be a  
container for

jsr250-based components, with plugability for various IoC containers.

The discover, download and install plugin model seems to be very  
similar
to OSGi, and the link to Eclipse Equinox makes me suppose it's OSGi  
based

under the hood.

This looks very similar to Spring-DM + Equinox, with support for  
multiple

IoC containers.

If maven only needs jsr-250 + custom annotations, it could be IoC  
container

agnostic, beeing Spring or anything else with same features.

I also have never bought the argument that what's popular is  
what's best.

Maven wouldn't exist if that were the

case. There's always room for competitors.


beeing the most popular is not a technical argument, but this is to be
considered :
1. the leader may not be technicaly stupid, beeing the leader
2. when used as a service, the documentation / good knoledge from
developer community is IMHO a big element to consider.

Sorry to say, but I allready had to learn Spring in deep,
some limited Plexus, and now OSGi, I won't look more at XBean until  
it gets

mainly used or comes with highly innovative features.

I agrea there is always room for competitors and that's a good  
thing to see
people come with new ideas and projects, but just some nice  
features is

not enough for me to choose a software, as what maven expect from it's
container is limited to simple IoC (no AOP, declarative TX, bytecode
instrumentation...) and advanced classloader/plugability. Only the  
second

criteria can help the choice, and OSGi seems to be the most promising
technology.

About Maven wouldn't exist if that were the case, please remember  
Maven1
was desinged as a let's share common ANT scripts and envolved on  
this

basis, and Maven2 was a lets take what was good in M1 and make it
stronger. You never build from scratch, but allways start from  
what is

considered good.

Today, what is considered good is
- about IoC : to be non-intrusive (plexus IS intrusive, as LogEnabled
demonstrates in most of classes) and to be compliant with the fiew  
existing

standards (JSR250 or other).
- about plugin-based-architecture : hot deployment, replacement and
concurrent versionning, with OSGI as the only recognized candidate  
(as JSR

for java modules is still WIP)

Nicolas.


2008/5/2 Jesse McConnell [EMAIL PROTECTED]:


http://geronimo.apache.org/xbean

On Fri, May 2, 2008 at 1:04 PM, Hilco Wijbenga  
[EMAIL PROTECTED]

wrote:
On Fri, May 2, 2008 at 9:25 AM, Jason van Zyl [EMAIL PROTECTED]  
wrote:

 snip/


 And ultimately the container DI is not the important part but the
implementations of our components. Using standard annotations for

that is a

good thing and that's not hard. XBR does full JEE injection and can

manage

Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread John Casey
I think this issue would go away if we could write a plugin- 
facilities api that gave easy access to the things plugins need to do  
in most cases. In other words, publish a formal, public api for Maven  
for the plugin developer. While it'd be nice to have full design docs  
for all of Maven, in 90% of cases this wouldn't help the plugin  
developer...it would only serve to create a new haystack to poke  
through (this one in HTML rather than Java). If we can be a little  
more selective this, and provide a plugin-oriented api for common  
tasks like resolving artifacts, building projects, etc. then document  
that, we'd probably alleviate the problems for 90% of users.


-john

On May 2, 2008, at 4:50 PM, Garvin LeClaire wrote:

 I find I have to search in a lot of places and dig deep into the  
code to find out information when writing plugins.


---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john




Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Garvin LeClaire
I think that would help. 

Today the classpath issues seem greater with reporter (AbstractReporter) 
plugins than plain Mojo plugins.



Regards,



Garvin LeClaire
[EMAIL PROTECTED]




John Casey wrote:
I think this issue would go away if we could write a plugin-facilities 
api that gave easy access to the things plugins need to do in most 
cases. In other words, publish a formal, public api for Maven for the 
plugin developer. While it'd be nice to have full design docs for all 
of Maven, in 90% of cases this wouldn't help the plugin developer...it 
would only serve to create a new haystack to poke through (this one in 
HTML rather than Java). If we can be a little more selective this, and 
provide a plugin-oriented api for common tasks like resolving 
artifacts, building projects, etc. then document that, we'd probably 
alleviate the problems for 90% of users.


-john

On May 2, 2008, at 4:50 PM, Garvin LeClaire wrote:

 I find I have to search in a lot of places and dig deep into the 
code to find out information when writing plugins.


---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john





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



Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread Ralph Goers
My 2 cents. I happen to like Spring. I know Avalon really well which 
Plexus has its roots in. That being said, I really don't care which one 
is used as long as DI is really used, and that is where the problem is. 
Things that should have been wired via configuration aren't (i.e. 
DefaultArtifactVersion).


If you have limited time spend it on things that really matter.

OSGi, on the other hand, might have some nice benefits that everyone 
would appreciate.


Ralph

John Casey wrote:
I have to say that I'm not at all interested in moving to Spring. At 
all. I've used both Spring and Plexus, and while I don't think Plexus 
is the end-all, be-all, it's better IMO than Spring. As far as 
annotations go, I completely agree with Jason, that Annotations should 
be standardized, and framework-agnostic. As for OSGi, I think we're 
definitely moving in the direction of that type of system in the 2.1 
extensions and plugin handling code, but I'd be a little hesitant to 
make the decision to give up all control over our classloading model 
without doing some serious tests on a branch to make sure OSGi can 
support our needs. IMO, ClassWorlds is fast approaching the capability 
of OSGi in terms of raw classloading flexibility.


I have to say that I take some issue with the idea that we should 
completely refactor Maven to standards - which, by the way, are only 
popular items when we're talking about Spring, not specified standards 
that have more than one implementation - just so our users will get 
warm fuzzies about using the tool. From the user's perspective, if we 
have the bugs worked out of this system properly (we don't) then it 
absolutely shouldn't matter. If we get our annotations standardized to 
something that truly is being used by a large number of projects 
(where Spring is just one project...I'm not talking about all the 
projects *using* Spring), then plugin development shouldn't be that 
difficult to wrap one's head around. For many applications, it's 
actually not that hard now, as you don't need to interact with Plexus 
that much as-is. For instance, you don't even know that it's Plexus 
doing the DI for your plugin when you use @component annotations in 
your plugin...if that annotation were standardized, it would matter 
even less.


I can appreciate that you don't want to learn another suite of 
technologies in order to be able to work on Maven, but I can repeat 
your argument back to you: I'm not interested in learning a suite of 
new apis in order to keep developing on Maven...at least, not unless 
there is a compelling reason.


My two cents.

-john


On May 2, 2008, at 3:25 PM, nicolas de loof wrote:


From the fiew documentation available, XBean seems to be a container for
jsr250-based components, with plugability for various IoC containers.

The discover, download and install plugin model seems to be very 
similar
to OSGi, and the link to Eclipse Equinox makes me suppose it's OSGi 
based

under the hood.

This looks very similar to Spring-DM + Equinox, with support for 
multiple

IoC containers.

If maven only needs jsr-250 + custom annotations, it could be IoC 
container

agnostic, beeing Spring or anything else with same features.

I also have never bought the argument that what's popular is what's 
best.

Maven wouldn't exist if that were the

case. There's always room for competitors.


beeing the most popular is not a technical argument, but this is to be
considered :
1. the leader may not be technicaly stupid, beeing the leader
2. when used as a service, the documentation / good knoledge from
developer community is IMHO a big element to consider.

Sorry to say, but I allready had to learn Spring in deep,
some limited Plexus, and now OSGi, I won't look more at XBean until 
it gets

mainly used or comes with highly innovative features.

I agrea there is always room for competitors and that's a good thing 
to see
people come with new ideas and projects, but just some nice 
features is

not enough for me to choose a software, as what maven expect from it's
container is limited to simple IoC (no AOP, declarative TX, bytecode
instrumentation...) and advanced classloader/plugability. Only the 
second

criteria can help the choice, and OSGi seems to be the most promising
technology.

About Maven wouldn't exist if that were the case, please remember 
Maven1

was desinged as a let's share common ANT scripts and envolved on this
basis, and Maven2 was a lets take what was good in M1 and make it
stronger. You never build from scratch, but allways start from what is
considered good.

Today, what is considered good is
- about IoC : to be non-intrusive (plexus IS intrusive, as LogEnabled
demonstrates in most of classes) and to be compliant with the fiew 
existing

standards (JSR250 or other).
- about plugin-based-architecture : hot deployment, replacement and
concurrent versionning, with OSGI as the only recognized candidate 
(as JSR

for java modules is still WIP)

Nicolas.


2008/5/2 Jesse 

Re: Maven core : Plexus vs Spring / OSGi ?

2008-05-02 Thread nicolas de loof
Thats true,
The reason new developers/advanced users have to learn Plexus is to
create/configure plugins and dependecies. Having a more documented and
flexible plugin Api would make things simplier.

A firend of mine has created a custom maven plugin for a trivial task. He
took much of the dev time to understand the annotation based IoC, the plugin
API to acces the project folders, etc.. and had no idea how this could be
unit tested, as this requires yet another dedicated tool.


Nicolas.

2008/5/2 John Casey [EMAIL PROTECTED]:

 I think this issue would go away if we could write a plugin-facilities api
 that gave easy access to the things plugins need to do in most cases. In
 other words, publish a formal, public api for Maven for the plugin
 developer. While it'd be nice to have full design docs for all of Maven, in
 90% of cases this wouldn't help the plugin developer...it would only serve
 to create a new haystack to poke through (this one in HTML rather than
 Java). If we can be a little more selective this, and provide a
 plugin-oriented api for common tasks like resolving artifacts, building
 projects, etc. then document that, we'd probably alleviate the problems for
 90% of users.

 -john

 On May 2, 2008, at 4:50 PM, Garvin LeClaire wrote:

  I find I have to search in a lot of places and dig deep into the code to
  find out information when writing plugins.
 

  ---
 John Casey
 Committer and PMC Member, Apache Maven
 mail: jdcasey at commonjava dot org
 blog: http://www.ejlife.net/blogs/john
 rss: http://feeds.feedburner.com/ejlife/john