Re: Branch with Google guice?

2010-06-07 Thread nicolas de loof
From a user perspective, no visible change is fine and is what we can
expect. What for plugin developpers ? Moving to @Inject annotations is a
significant API change, and set plugin prerequisites to maven3+. I supose we
will have many debates on this...
Also, considering Maven3 to be embeddable in other tools (@see current
thread on d...@hudson.java.net), the move to Guice has many impacts and makes
things simplier.

2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com

 I have been running this patch on my CI (including m3 IT's) for quite
 some time now, and it works really well here. Obviously, the more the
 merrier!

 But then again, from a user's perspective this change really adds very
 little to the excitement. It's supposed to be a transparent change
 without any feature changes and as far as I can see that's exactly what
 it is.

 Kristian





 sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
  Can we use the CI server to check how this branch supports the IT test
  harnesss ? It could make us more confident / help to detect
  incompatibilities when switching to Guive will become a concrete option.
 
  Nicolas
 
  2010/6/6 Olivier Lamy ol...@apache.org
 
   yup.
   It build fine and it works for some builds I have tested since I have
   installed it (at least on my laptop :-) ) .
  
  
   2010/6/6 Jemos Infra jemos.in...@googlemail.com:
On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
stuff is here :
   
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
   
Thanks !
   
Hi Oliver, I take it this branch contains everything that's needed,
right? I mean Maven-3, the Plexus-Guice adapter and all required
dependencies in the POM. Correct?
   
Thanks.
   
M.
   
   
-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org
   
   
  
  
  
   --
   Olivier
   http://twitter.com/olamy
   http://fr.linkedin.com/in/olamy
   http://www.viadeo.com/fr/profile/olivier.lamy7
  
   -
   To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
   For additional commands, e-mail: users-h...@maven.apache.org
  
  



 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org




Re: Branch with Google guice?

2010-06-07 Thread Kristian Rosenvold

I think it's a really nice change, don't get me wrong on that ;)

I'm also hoping it'll improve the error handling when something is wrong
with the plexus configuration. As of today there's a fair amount of 
guesswork

involved when a change breaks the plexus-configuration, I often end up
bisecting with a last known good.

Kristian



Den 07.06.2010 08:23, skrev nicolas de loof:

 From a user perspective, no visible change is fine and is what we can
expect. What for plugin developpers ? Moving to @Inject annotations is a
significant API change, and set plugin prerequisites to maven3+. I supose we
will have many debates on this...
Also, considering Maven3 to be embeddable in other tools (@see current
thread on d...@hudson.java.net), the move to Guice has many impacts and makes
things simplier.

2010/6/6 Kristian Rosenvoldkristian.rosenv...@gmail.com

   

I have been running this patch on my CI (including m3 IT's) for quite
some time now, and it works really well here. Obviously, the more the
merrier!

But then again, from a user's perspective this change really adds very
little to the excitement. It's supposed to be a transparent change
without any feature changes and as far as I can see that's exactly what
it is.

Kristian





sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
 

Can we use the CI server to check how this branch supports the IT test
harnesss ? It could make us more confident / help to detect
incompatibilities when switching to Guive will become a concrete option.

Nicolas

2010/6/6 Olivier Lamyol...@apache.org

   

yup.
It build fine and it works for some builds I have tested since I have
installed it (at least on my laptop :-) ) .


2010/6/6 Jemos Infrajemos.in...@googlemail.com:
 

On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
   

stuff is here :

 

http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 

Thanks !

 

Hi Oliver, I take it this branch contains everything that's needed,
right? I mean Maven-3, the Plexus-Guice adapter and all required
dependencies in the POM. Correct?

Thanks.

M.


-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


   



--
Olivier
http://twitter.com/olamy
http://fr.linkedin.com/in/olamy
http://www.viadeo.com/fr/profile/olivier.lamy7

-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


 



-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


 
   



-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



Re: Branch with Google guice?

2010-06-07 Thread Stuart McCulloch
On 7 June 2010 14:23, nicolas de loof nicolas.del...@gmail.com wrote:

 From a user perspective, no visible change is fine and is what we can
 expect. What for plugin developpers ?


existing Plexus plugins should continue to work
(that's the whole point of the compatibility layer)


 Moving to @Inject annotations is a
 significant API change, and set plugin prerequisites to maven3+. I supose
 we
 will have many debates on this...


yep, then the really interesting part will begin


 Also, considering Maven3 to be embeddable in other tools (@see current
 thread on d...@hudson.java.net), the move to Guice has many impacts and
 makes
 things simplier.

 2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com

  I have been running this patch on my CI (including m3 IT's) for quite
  some time now, and it works really well here. Obviously, the more the
  merrier!
 
  But then again, from a user's perspective this change really adds very
  little to the excitement. It's supposed to be a transparent change
  without any feature changes and as far as I can see that's exactly what
  it is.
 
  Kristian
 
 
 
 
 
  sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
   Can we use the CI server to check how this branch supports the IT test
   harnesss ? It could make us more confident / help to detect
   incompatibilities when switching to Guive will become a concrete
 option.
  
   Nicolas
  
   2010/6/6 Olivier Lamy ol...@apache.org
  
yup.
It build fine and it works for some builds I have tested since I have
installed it (at least on my laptop :-) ) .
   
   
2010/6/6 Jemos Infra jemos.in...@googlemail.com:
 On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :

  http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/

 Thanks !

 Hi Oliver, I take it this branch contains everything that's needed,
 right? I mean Maven-3, the Plexus-Guice adapter and all required
 dependencies in the POM. Correct?

 Thanks.

 M.



 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org


   
   
   
--
Olivier
http://twitter.com/olamy
http://fr.linkedin.com/in/olamy
http://www.viadeo.com/fr/profile/olivier.lamy7
   
-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org
   
   
 
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 




-- 
Cheers, Stuart


Re: Branch with Google guice?

2010-06-07 Thread Jason van Zyl

On Jun 7, 2010, at 2:23 AM, nicolas de loof wrote:

 From a user perspective, no visible change is fine and is what we can
 expect. What for plugin developpers ? Moving to @Inject annotations is a
 significant API change, and set plugin prerequisites to maven3+. I supose we
 will have many debates on this...

There is no change to the existing plugin API, keep writing them as you are 
writing them. Unless otherwise stated the goal of 3.0 is backward compatibility.

 Also, considering Maven3 to be embeddable in other tools (@see current
 thread on d...@hudson.java.net), the move to Guice has many impacts and makes
 things simplier.
 

Embedding is outside the scope of the 3.0 objective of backward compatibility 
for typical users. The embedding APIs are going to change a lot. Every time I 
look at another use case something changes, it's definitely not stable. I 
currently have five things where I'm trying to embed and nothing is settled and 
I'm honestly not comfortable publishing a draft until I have something working 
in:

- M2Eclipse
- Nexus
- Hudson
- Maven Shell
- Proviso

Then once the draft is published we can settle on the APIs and this is not 
going to happen in the 3.0 timeframe. It's likely to be a 3.1 thing.

 2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com
 
 I have been running this patch on my CI (including m3 IT's) for quite
 some time now, and it works really well here. Obviously, the more the
 merrier!
 
 But then again, from a user's perspective this change really adds very
 little to the excitement. It's supposed to be a transparent change
 without any feature changes and as far as I can see that's exactly what
 it is.
 
 Kristian
 
 
 
 
 
 sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
 Can we use the CI server to check how this branch supports the IT test
 harnesss ? It could make us more confident / help to detect
 incompatibilities when switching to Guive will become a concrete option.
 
 Nicolas
 
 2010/6/6 Olivier Lamy ol...@apache.org
 
 yup.
 It build fine and it works for some builds I have tested since I have
 installed it (at least on my laptop :-) ) .
 
 
 2010/6/6 Jemos Infra jemos.in...@googlemail.com:
 On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
 Thanks !
 
 Hi Oliver, I take it this branch contains everything that's needed,
 right? I mean Maven-3, the Plexus-Guice adapter and all required
 dependencies in the POM. Correct?
 
 Thanks.
 
 M.
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
 --
 Olivier
 http://twitter.com/olamy
 http://fr.linkedin.com/in/olamy
 http://www.viadeo.com/fr/profile/olivier.lamy7
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 

Thanks,

Jason

--
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
-

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





Re: Branch with Google guice?

2010-06-07 Thread nicolas de loof
2010/6/7 Jason van Zyl ja...@sonatype.com


 On Jun 7, 2010, at 2:23 AM, nicolas de loof wrote:



 Embedding is outside the scope of the 3.0 objective of backward
 compatibility for typical users. The embedding APIs are going to change a
 lot. Every time I look at another use case something changes, it's
 definitely not stable. I currently have five things where I'm trying to
 embed and nothing is settled and I'm honestly not comfortable publishing a
 draft until I have something working in:

 - M2Eclipse
 - Nexus
 - Hudson
 - Maven Shell
 - Proviso


That's fine. Feedback on integration issues is required before we can make
anything public. Any breaking change after release with the large Maven
users community is nearly impossible.



 Then once the draft is published we can settle on the APIs and this is not
 going to happen in the 3.0 timeframe. It's likely to be a 3.1 thing.


Does this mean the only way to run a Maven 3.0.FINAL build in Hudson will be
freestyle job, until we get 3.1 out ?



  2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com
 
  I have been running this patch on my CI (including m3 IT's) for quite
  some time now, and it works really well here. Obviously, the more the
  merrier!
 
  But then again, from a user's perspective this change really adds very
  little to the excitement. It's supposed to be a transparent change
  without any feature changes and as far as I can see that's exactly what
  it is.
 
  Kristian
 
 
 
 
 
  sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
  Can we use the CI server to check how this branch supports the IT test
  harnesss ? It could make us more confident / help to detect
  incompatibilities when switching to Guive will become a concrete
 option.
 
  Nicolas
 
  2010/6/6 Olivier Lamy ol...@apache.org
 
  yup.
  It build fine and it works for some builds I have tested since I have
  installed it (at least on my laptop :-) ) .
 
 
  2010/6/6 Jemos Infra jemos.in...@googlemail.com:
  On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
  stuff is here :
 
  http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
  Thanks !
 
  Hi Oliver, I take it this branch contains everything that's needed,
  right? I mean Maven-3, the Plexus-Guice adapter and all required
  dependencies in the POM. Correct?
 
  Thanks.
 
  M.
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
  --
  Olivier
  http://twitter.com/olamy
  http://fr.linkedin.com/in/olamy
  http://www.viadeo.com/fr/profile/olivier.lamy7
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 

 Thanks,

 Jason

 --
 Jason van Zyl
 Founder,  Apache Maven
 http://twitter.com/jvanzyl
 -

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

  -— Alan Perlis






Re: Branch with Google guice?

2010-06-07 Thread Jason van Zyl

On Jun 7, 2010, at 10:09 AM, nicolas de loof wrote:

 2010/6/7 Jason van Zyl ja...@sonatype.com
 
 
 On Jun 7, 2010, at 2:23 AM, nicolas de loof wrote:
 
 
 
 Embedding is outside the scope of the 3.0 objective of backward
 compatibility for typical users. The embedding APIs are going to change a
 lot. Every time I look at another use case something changes, it's
 definitely not stable. I currently have five things where I'm trying to
 embed and nothing is settled and I'm honestly not comfortable publishing a
 draft until I have something working in:
 
 - M2Eclipse
 - Nexus
 - Hudson
 - Maven Shell
 - Proviso
 
 
 That's fine. Feedback on integration issues is required before we can make
 anything public. Any breaking change after release with the large Maven
 users community is nearly impossible.
 

Nothing is going to break, the current API does not change. Make plugins the 
way you currently make them. There are currently no supported embedding APIs. 
Use components at your own risk because they are going to change. Users will be 
fine using Maven and developing plugins as they did. This was why Sonatype 
spent so much time making sure this adapter layer works the way it does. It's 
the only way to use Guice without causing massive disruptions to users. We 
achieved our goal and now it's time to get the 3.0 out.

 
 
 Then once the draft is published we can settle on the APIs and this is not
 going to happen in the 3.0 timeframe. It's likely to be a 3.1 thing.
 
 
 Does this mean the only way to run a Maven 3.0.FINAL build in Hudson will be
 freestyle job, until we get 3.1 out ?

I have no idea. I've only ever used freestyle projects.

 
 
 
 2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com
 
 I have been running this patch on my CI (including m3 IT's) for quite
 some time now, and it works really well here. Obviously, the more the
 merrier!
 
 But then again, from a user's perspective this change really adds very
 little to the excitement. It's supposed to be a transparent change
 without any feature changes and as far as I can see that's exactly what
 it is.
 
 Kristian
 
 
 
 
 
 sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
 Can we use the CI server to check how this branch supports the IT test
 harnesss ? It could make us more confident / help to detect
 incompatibilities when switching to Guive will become a concrete
 option.
 
 Nicolas
 
 2010/6/6 Olivier Lamy ol...@apache.org
 
 yup.
 It build fine and it works for some builds I have tested since I have
 installed it (at least on my laptop :-) ) .
 
 
 2010/6/6 Jemos Infra jemos.in...@googlemail.com:
 On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
 Thanks !
 
 Hi Oliver, I take it this branch contains everything that's needed,
 right? I mean Maven-3, the Plexus-Guice adapter and all required
 dependencies in the POM. Correct?
 
 Thanks.
 
 M.
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
 --
 Olivier
 http://twitter.com/olamy
 http://fr.linkedin.com/in/olamy
 http://www.viadeo.com/fr/profile/olivier.lamy7
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 Thanks,
 
 Jason
 
 --
 Jason van Zyl
 Founder,  Apache Maven
 http://twitter.com/jvanzyl
 -
 
 A language that doesn’t affect the way you think about programming is not
 worth knowing.
 
 -— Alan Perlis
 
 
 
 

Thanks,

Jason

--
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
-

the course of true love never did run smooth ...

 -- Shakespeare





Re: Branch with Google guice?

2010-06-07 Thread nicolas de loof


 Nothing is going to break, the current API does not change. Make plugins
 the way you currently make them. There are currently no supported embedding
 APIs. Use components at your own risk because they are going to change.
 Users will be fine using Maven and developing plugins as they did. This was
 why Sonatype spent so much time making sure this adapter layer works the way
 it does. It's the only way to use Guice without causing massive disruptions
 to users. We achieved our goal and now it's time to get the 3.0 out.

 I'm fine with this, Maven beeing a plugin based system, plugin developers
are mostly users, so stable plugin APIs are a requirement. I just wonder how
a new core with Google Guice as core could open new opportunities for plugin
APIs. But you're right, backward compatibility on plugins is the main
feature to focus on to ensure Maven 3 adoption.


 
 
  Then once the draft is published we can settle on the APIs and this is
 not
  going to happen in the 3.0 timeframe. It's likely to be a 3.1 thing.
 
 
  Does this mean the only way to run a Maven 3.0.FINAL build in Hudson will
 be
  freestyle job, until we get 3.1 out ?

 I have no idea. I've only ever used freestyle projects.

 Right, that's maybe the best way. Some user may claim for advanced features
in Hudson allready supporter for Maven2, like incremental build. Wait 
see...




 
  2010/6/6 Kristian Rosenvold kristian.rosenv...@gmail.com
 
  I have been running this patch on my CI (including m3 IT's) for quite
  some time now, and it works really well here. Obviously, the more the
  merrier!
 
  But then again, from a user's perspective this change really adds very
  little to the excitement. It's supposed to be a transparent change
  without any feature changes and as far as I can see that's exactly
 what
  it is.
 
  Kristian
 
 
 
 
 
  sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
  Can we use the CI server to check how this branch supports the IT
 test
  harnesss ? It could make us more confident / help to detect
  incompatibilities when switching to Guive will become a concrete
  option.
 
  Nicolas
 
  2010/6/6 Olivier Lamy ol...@apache.org
 
  yup.
  It build fine and it works for some builds I have tested since I
 have
  installed it (at least on my laptop :-) ) .
 
 
  2010/6/6 Jemos Infra jemos.in...@googlemail.com:
  On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
  stuff is here :
 
  http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
  Thanks !
 
  Hi Oliver, I take it this branch contains everything that's needed,
  right? I mean Maven-3, the Plexus-Guice adapter and all required
  dependencies in the POM. Correct?
 
  Thanks.
 
  M.
 
 
 
 -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
  --
  Olivier
  http://twitter.com/olamy
  http://fr.linkedin.com/in/olamy
  http://www.viadeo.com/fr/profile/olivier.lamy7
 
 
 -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 
 
  Thanks,
 
  Jason
 
  --
  Jason van Zyl
  Founder,  Apache Maven
  http://twitter.com/jvanzyl
  -
 
  A language that doesn’t affect the way you think about programming is
 not
  worth knowing.
 
  -— Alan Perlis
 
 
 
 

 Thanks,

 Jason

 --
 Jason van Zyl
 Founder,  Apache Maven
 http://twitter.com/jvanzyl
 -

 the course of true love never did run smooth ...

  -- Shakespeare






Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but the
 trunk still has Plexus in it. I'd like to have a look at what Maven 3
 will look like when finished (from a code perspective).


The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)

The Plexus container compatibility layer is here:

  http://svn.sonatype.org/spice/trunk/spice-inject

Note that because this supports Plexus components
on top of Guice/JSR330 there's actually no changes
needed to Maven 3 to run it on top of Guice - that's
all handled by the compatibility layer, you can even
mix JSR330 and Plexus components/annotations.

Below is the patch to build M3 with the replacement
container - note you'll need to build the spice-inject
project beforehand, unless you use the Sonatype
forge repository to get the latest snapshots:

  https://repository.sonatype.org/content/groups/forge

Changing future plugins / Maven to use pure JSR330
annotations is a separate discussion that will happen
on the dev list - first I need to write up our experience
at Sonatype with using a JSR330 component model*
so people have something concrete to discuss.

[* apologies to the dev-list for delays in writing this up]

HTH

Index: maven-repository/pom.xml
===
--- maven-repository/pom.xml(revision 951813)
+++ maven-repository/pom.xml(working copy)
@@ -39,8 +39,8 @@
   artifactIdmaven-compat/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 dependency
   groupIdorg.codehaus.plexus/groupId
Index: apache-maven/pom.xml
===
--- apache-maven/pom.xml(revision 951813)
+++ apache-maven/pom.xml(working copy)
@@ -43,8 +43,8 @@
   artifactIdmaven-compat/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 !-- CLI --
 dependency
Index: maven-compat/pom.xml
===
--- maven-compat/pom.xml(revision 951813)
+++ maven-compat/pom.xml(working copy)
@@ -53,8 +53,8 @@
   artifactIdplexus-interpolation/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
 /dependency
 dependency
   groupIdorg.codehaus.plexus/groupId
Index: maven-model-builder/pom.xml
===
--- maven-model-builder/pom.xml(revision 951813)
+++ maven-model-builder/pom.xml(working copy)
@@ -41,8 +41,8 @@
   artifactIdmaven-model/artifactId
 /dependency
 dependency
-  groupIdorg.codehaus.plexus/groupId
-  artifactIdplexus-container-default/artifactId
+  groupIdorg.sonatype.spice/groupId
+  artifactIdspice-inject-plexus/artifactId
   scopetest/scope
 /dependency
   /dependencies
Index: pom.xml
===
--- pom.xml(revision 951813)
+++ pom.xml(working copy)
@@ -44,6 +44,7 @@
 plexusVersion1.5.4/plexusVersion
 plexusInterpolationVersion1.11/plexusInterpolationVersion
 plexusUtilsVersion2.0.4/plexusUtilsVersion
+spiceInjectVersion1.2.1-SNAPSHOT/spiceInjectVersion
 wagonVersion1.0-beta-6/wagonVersion
 securityDispatcherVersion1.3/securityDispatcherVersion
 cipherVersion1.4/cipherVersion
@@ -240,15 +241,9 @@
 version${plexusUtilsVersion}/version
   /dependency
   dependency
-groupIdorg.codehaus.plexus/groupId
-artifactIdplexus-container-default/artifactId
-version${plexusVersion}/version
-exclusions
-  exclusion
-groupIdjunit/groupId
-artifactIdjunit/artifactId
-  /exclusion
-/exclusions
+groupIdorg.sonatype.spice/groupId
+artifactIdspice-inject-plexus/artifactId
+version${spiceInjectVersion}/version
   /dependency
   dependency
 groupIdorg.codehaus.plexus/groupId
Index: maven-core/pom.xml
===
--- maven-core/pom.xml(revision 951813)
+++ maven-core/pom.xml(working copy

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
Stuart, a couple of things re the below: 

1) The first URL downloads spice-inject and the whole Guice. Question:
was Guice extended for this compatibility layer? What actually is the
compatibility layer? Is it just spice or the whole lot? If it's just
spice, could we avoid from build the whole Guice and have the
dependencies downloaded from the net? 

2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds). However
I was looking for the source code. 

To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit. 

I understand that there is a compatibility layer, and I can build that
(after knowing if I have to build the whole Guice as well with it). I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL with
Guice support, and if this case I'd like a precise URL for it. 

Thanks for your time.

M.


On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds, but the
  trunk still has Plexus in it. I'd like to have a look at what Maven 3
  will look like when finished (from a code perspective).
 
 
 The idea is for Guice to replace the Plexus container
 by using a compatibility layer to inject requirements
 into components. (Plexus classworlds is more about
 classloader isolation, which is orthogonal to injection
 and may or may not be replaced in the near future)
 
 The Plexus container compatibility layer is here:
 
   http://svn.sonatype.org/spice/trunk/spice-inject
 
 Note that because this supports Plexus components
 on top of Guice/JSR330 there's actually no changes
 needed to Maven 3 to run it on top of Guice - that's
 all handled by the compatibility layer, you can even
 mix JSR330 and Plexus components/annotations.
 
 Below is the patch to build M3 with the replacement
 container - note you'll need to build the spice-inject
 project beforehand, unless you use the Sonatype
 forge repository to get the latest snapshots:
 
   https://repository.sonatype.org/content/groups/forge
 
 Changing future plugins / Maven to use pure JSR330
 annotations is a separate discussion that will happen
 on the dev list - first I need to write up our experience
 at Sonatype with using a JSR330 component model*
 so people have something concrete to discuss.
 
 [* apologies to the dev-list for delays in writing this up]
 
 HTH
 
 Index: maven-repository/pom.xml
 ===
 --- maven-repository/pom.xml(revision 951813)
 +++ maven-repository/pom.xml(working copy)
 @@ -39,8 +39,8 @@
artifactIdmaven-compat/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  dependency
groupIdorg.codehaus.plexus/groupId
 Index: apache-maven/pom.xml
 ===
 --- apache-maven/pom.xml(revision 951813)
 +++ apache-maven/pom.xml(working copy)
 @@ -43,8 +43,8 @@
artifactIdmaven-compat/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  !-- CLI --
  dependency
 Index: maven-compat/pom.xml
 ===
 --- maven-compat/pom.xml(revision 951813)
 +++ maven-compat/pom.xml(working copy)
 @@ -53,8 +53,8 @@
artifactIdplexus-interpolation/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
  /dependency
  dependency
groupIdorg.codehaus.plexus/groupId
 Index: maven-model-builder/pom.xml
 ===
 --- maven-model-builder/pom.xml(revision 951813)
 +++ maven-model-builder/pom.xml(working copy)
 @@ -41,8 +41,8 @@
artifactIdmaven-model/artifactId
  /dependency
  dependency
 -  groupIdorg.codehaus.plexus/groupId
 -  artifactIdplexus-container-default/artifactId
 +  groupIdorg.sonatype.spice/groupId
 +  artifactIdspice-inject-plexus/artifactId
scopetest/scope
  /dependency
/dependencies
 Index: pom.xml

Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, a couple of things re the below:

 1) The first URL downloads spice-inject and the whole Guice. Question:
 was Guice extended for this compatibility layer? What actually is the
 compatibility layer? Is it just spice or the whole lot?


The first URL is the umbrella project that provides the
compatibility layer - it contains a patched version of
Guice because we needed to tweak and experiment
with certain behavior during development, and handle
some corner-cases wrt. Nexus

Most changes have been committed into Guice trunk.
There's only one patch left needed for Maven, which is
the type converter feature and this should go in soon.
(diff vanilla.src vs. src to see the remaining patches)

We're still keeping our patched tree around for further
experimentation / point-releases because Guice 2.1
has not yet been officially released - otherwise you'd
need to download and build Guice from scratch too.

spice-inject also contains various modules that provide
classpath scanning and Plexus-like features on top of
Guice - these modules are combined into the two main
distro jars: spice-inject-bean and spice-inject-plexus
for convenience sake. [ these are not going back into
Guice as they're external extensions ]

spice-inject-bean provides a component model on top
of JSR330 (component scanning, dynamic collections)
- see the examples module for, well, an example ;)

spice-inject-plexus adds support for Plexus

to replace the Plexus container in Maven3 you need:

  spice-inject-bean-1.2.1-SNAPSHOT.jar
  spice-inject-plexus-1.2.1-SNAPSHOT.jar
  guice-patches-2.1.4-SNAPSHOT-noaop.jar

at least until the type converter patches go into Guice

If it's just spice, could we avoid from build the whole Guice and have the
 dependencies downloaded from the net?


if you just want to download the dependencies then add
that second URL (the Sonatype Forge) as a snapshot
repository in your settings.xml, apply the patch from the
end of my original email to Maven 3 trunk, and do a build

2) The second URL points to a Maven repository. You were talking of a
 replacement container (which I thought of as being classworlds). However
 I was looking for the source code.


for the new container source code see 1) ... specifically
guice-bean / guice-plexus which form most of the code
[ it's modular so there's no single project source tree ]

also look at the example to see JSR330 in practice

To summarise, I'd like to have the URLs only to the source code needed
 to build Maven 3 with the Guice bit.


you already have it... build 1) and you have everything
needed - as explained you still need the patch of Guice
for now, but won't in the future

or just use 2) to download the binary snapshots


 I understand that there is a compatibility layer, and I can build that
 (after knowing if I have to build the whole Guice as well with it). I
 understand that there is a replacement container (but I don't have a
 precise URL to the SVN code for it); I'd like to know if the Maven 3
 trunk builds already on top of the above, or if I need another URL with
 Guice support, and if this case I'd like a precise URL for it.


Maven 3 trunk still builds with Plexus at the moment,
but if you take the patch from the bottom of my earlier
email and apply it to Maven 3 then it will build with the
new artifacts

or just grab a snapshot build of Maven 3, remove the
Plexus container jar and add the three artifacts listed
above...

Thanks for your time.

 M.


 On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
  On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Hi,
  
   Can somebody point me to the Maven 3 branch with Google guice? I
   undertsand that Google guice will replace Plexus classworlds, but the
   trunk still has Plexus in it. I'd like to have a look at what Maven 3
   will look like when finished (from a code perspective).
  
 
  The idea is for Guice to replace the Plexus container
  by using a compatibility layer to inject requirements
  into components. (Plexus classworlds is more about
  classloader isolation, which is orthogonal to injection
  and may or may not be replaced in the near future)
 
  The Plexus container compatibility layer is here:
 
http://svn.sonatype.org/spice/trunk/spice-inject
 
  Note that because this supports Plexus components
  on top of Guice/JSR330 there's actually no changes
  needed to Maven 3 to run it on top of Guice - that's
  all handled by the compatibility layer, you can even
  mix JSR330 and Plexus components/annotations.
 
  Below is the patch to build M3 with the replacement
  container - note you'll need to build the spice-inject
  project beforehand, unless you use the Sonatype
  forge repository to get the latest snapshots:
 
https://repository.sonatype.org/content/groups/forge
 
  Changing future plugins / Maven to use pure JSR330
  annotations is a separate discussion that will happen

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
Stuart, thank you for your email. Do you think that future emails
related to the process below (mainly if I found any difficulties in
building the whole thing plus observations, suggestions, etc) should be
addressed to the dev mailing list?

M.

On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
 On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, a couple of things re the below:
 
  1) The first URL downloads spice-inject and the whole Guice. Question:
  was Guice extended for this compatibility layer? What actually is the
  compatibility layer? Is it just spice or the whole lot?
 
 
 The first URL is the umbrella project that provides the
 compatibility layer - it contains a patched version of
 Guice because we needed to tweak and experiment
 with certain behavior during development, and handle
 some corner-cases wrt. Nexus
 
 Most changes have been committed into Guice trunk.
 There's only one patch left needed for Maven, which is
 the type converter feature and this should go in soon.
 (diff vanilla.src vs. src to see the remaining patches)
 
 We're still keeping our patched tree around for further
 experimentation / point-releases because Guice 2.1
 has not yet been officially released - otherwise you'd
 need to download and build Guice from scratch too.
 
 spice-inject also contains various modules that provide
 classpath scanning and Plexus-like features on top of
 Guice - these modules are combined into the two main
 distro jars: spice-inject-bean and spice-inject-plexus
 for convenience sake. [ these are not going back into
 Guice as they're external extensions ]
 
 spice-inject-bean provides a component model on top
 of JSR330 (component scanning, dynamic collections)
 - see the examples module for, well, an example ;)
 
 spice-inject-plexus adds support for Plexus
 
 to replace the Plexus container in Maven3 you need:
 
   spice-inject-bean-1.2.1-SNAPSHOT.jar
   spice-inject-plexus-1.2.1-SNAPSHOT.jar
   guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
 at least until the type converter patches go into Guice
 
 If it's just spice, could we avoid from build the whole Guice and have the
  dependencies downloaded from the net?
 
 
 if you just want to download the dependencies then add
 that second URL (the Sonatype Forge) as a snapshot
 repository in your settings.xml, apply the patch from the
 end of my original email to Maven 3 trunk, and do a build
 
 2) The second URL points to a Maven repository. You were talking of a
  replacement container (which I thought of as being classworlds). However
  I was looking for the source code.
 
 
 for the new container source code see 1) ... specifically
 guice-bean / guice-plexus which form most of the code
 [ it's modular so there's no single project source tree ]
 
 also look at the example to see JSR330 in practice
 
 To summarise, I'd like to have the URLs only to the source code needed
  to build Maven 3 with the Guice bit.
 
 
 you already have it... build 1) and you have everything
 needed - as explained you still need the patch of Guice
 for now, but won't in the future
 
 or just use 2) to download the binary snapshots
 
 
  I understand that there is a compatibility layer, and I can build that
  (after knowing if I have to build the whole Guice as well with it). I
  understand that there is a replacement container (but I don't have a
  precise URL to the SVN code for it); I'd like to know if the Maven 3
  trunk builds already on top of the above, or if I need another URL with
  Guice support, and if this case I'd like a precise URL for it.
 
 
 Maven 3 trunk still builds with Plexus at the moment,
 but if you take the patch from the bottom of my earlier
 email and apply it to Maven 3 then it will build with the
 new artifacts
 
 or just grab a snapshot build of Maven 3, remove the
 Plexus container jar and add the three artifacts listed
 above...
 
 Thanks for your time.
 
  M.
 
 
  On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
   On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com wrote:
  
Hi,
   
Can somebody point me to the Maven 3 branch with Google guice? I
undertsand that Google guice will replace Plexus classworlds, but the
trunk still has Plexus in it. I'd like to have a look at what Maven 3
will look like when finished (from a code perspective).
   
  
   The idea is for Guice to replace the Plexus container
   by using a compatibility layer to inject requirements
   into components. (Plexus classworlds is more about
   classloader isolation, which is orthogonal to injection
   and may or may not be replaced in the near future)
  
   The Plexus container compatibility layer is here:
  
 http://svn.sonatype.org/spice/trunk/spice-inject
  
   Note that because this supports Plexus components
   on top of Guice/JSR330 there's actually no changes
   needed to Maven 3 to run it on top of Guice - that's
   all handled by the compatibility layer, you can even
   mix

Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, thank you for your email. Do you think that future emails
 related to the process below (mainly if I found any difficulties in
 building the whole thing plus observations, suggestions, etc) should be
 addressed to the dev mailing list?


yep, this is more of a dev discussion


 M.

 On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
  On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Stuart, a couple of things re the below:
  
   1) The first URL downloads spice-inject and the whole Guice. Question:
   was Guice extended for this compatibility layer? What actually is the
   compatibility layer? Is it just spice or the whole lot?
 
 
  The first URL is the umbrella project that provides the
  compatibility layer - it contains a patched version of
  Guice because we needed to tweak and experiment
  with certain behavior during development, and handle
  some corner-cases wrt. Nexus
 
  Most changes have been committed into Guice trunk.
  There's only one patch left needed for Maven, which is
  the type converter feature and this should go in soon.
  (diff vanilla.src vs. src to see the remaining patches)
 
  We're still keeping our patched tree around for further
  experimentation / point-releases because Guice 2.1
  has not yet been officially released - otherwise you'd
  need to download and build Guice from scratch too.
 
  spice-inject also contains various modules that provide
  classpath scanning and Plexus-like features on top of
  Guice - these modules are combined into the two main
  distro jars: spice-inject-bean and spice-inject-plexus
  for convenience sake. [ these are not going back into
  Guice as they're external extensions ]
 
  spice-inject-bean provides a component model on top
  of JSR330 (component scanning, dynamic collections)
  - see the examples module for, well, an example ;)
 
  spice-inject-plexus adds support for Plexus
 
  to replace the Plexus container in Maven3 you need:
 
spice-inject-bean-1.2.1-SNAPSHOT.jar
spice-inject-plexus-1.2.1-SNAPSHOT.jar
guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
  at least until the type converter patches go into Guice
 
  If it's just spice, could we avoid from build the whole Guice and have
 the
   dependencies downloaded from the net?
  
 
  if you just want to download the dependencies then add
  that second URL (the Sonatype Forge) as a snapshot
  repository in your settings.xml, apply the patch from the
  end of my original email to Maven 3 trunk, and do a build
 
  2) The second URL points to a Maven repository. You were talking of a
   replacement container (which I thought of as being classworlds).
 However
   I was looking for the source code.
  
 
  for the new container source code see 1) ... specifically
  guice-bean / guice-plexus which form most of the code
  [ it's modular so there's no single project source tree ]
 
  also look at the example to see JSR330 in practice
 
  To summarise, I'd like to have the URLs only to the source code needed
   to build Maven 3 with the Guice bit.
  
 
  you already have it... build 1) and you have everything
  needed - as explained you still need the patch of Guice
  for now, but won't in the future
 
  or just use 2) to download the binary snapshots
 
 
   I understand that there is a compatibility layer, and I can build that
   (after knowing if I have to build the whole Guice as well with it). I
   understand that there is a replacement container (but I don't have a
   precise URL to the SVN code for it); I'd like to know if the Maven 3
   trunk builds already on top of the above, or if I need another URL with
   Guice support, and if this case I'd like a precise URL for it.
  
 
  Maven 3 trunk still builds with Plexus at the moment,
  but if you take the patch from the bottom of my earlier
  email and apply it to Maven 3 then it will build with the
  new artifacts
 
  or just grab a snapshot build of Maven 3, remove the
  Plexus container jar and add the three artifacts listed
  above...
 
  Thanks for your time.
  
   M.
  
  
   On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
 wrote:
   
 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but
 the
 trunk still has Plexus in it. I'd like to have a look at what Maven
 3
 will look like when finished (from a code perspective).

   
The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)
   
The Plexus container compatibility layer is here:
   
  http://svn.sonatype.org/spice/trunk/spice-inject
   
Note

Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
Hi Stuart,
Any objections If I create a branch in asf svn repo ?


2010/6/6 Stuart McCulloch mccu...@gmail.com:
 On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:

 Stuart, thank you for your email. Do you think that future emails
 related to the process below (mainly if I found any difficulties in
 building the whole thing plus observations, suggestions, etc) should be
 addressed to the dev mailing list?


 yep, this is more of a dev discussion


 M.

 On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
  On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
 
   Stuart, a couple of things re the below:
  
   1) The first URL downloads spice-inject and the whole Guice. Question:
   was Guice extended for this compatibility layer? What actually is the
   compatibility layer? Is it just spice or the whole lot?
 
 
  The first URL is the umbrella project that provides the
  compatibility layer - it contains a patched version of
  Guice because we needed to tweak and experiment
  with certain behavior during development, and handle
  some corner-cases wrt. Nexus
 
  Most changes have been committed into Guice trunk.
  There's only one patch left needed for Maven, which is
  the type converter feature and this should go in soon.
  (diff vanilla.src vs. src to see the remaining patches)
 
  We're still keeping our patched tree around for further
  experimentation / point-releases because Guice 2.1
  has not yet been officially released - otherwise you'd
  need to download and build Guice from scratch too.
 
  spice-inject also contains various modules that provide
  classpath scanning and Plexus-like features on top of
  Guice - these modules are combined into the two main
  distro jars: spice-inject-bean and spice-inject-plexus
  for convenience sake. [ these are not going back into
  Guice as they're external extensions ]
 
  spice-inject-bean provides a component model on top
  of JSR330 (component scanning, dynamic collections)
  - see the examples module for, well, an example ;)
 
  spice-inject-plexus adds support for Plexus
 
  to replace the Plexus container in Maven3 you need:
 
    spice-inject-bean-1.2.1-SNAPSHOT.jar
    spice-inject-plexus-1.2.1-SNAPSHOT.jar
    guice-patches-2.1.4-SNAPSHOT-noaop.jar
 
  at least until the type converter patches go into Guice
 
  If it's just spice, could we avoid from build the whole Guice and have
 the
   dependencies downloaded from the net?
  
 
  if you just want to download the dependencies then add
  that second URL (the Sonatype Forge) as a snapshot
  repository in your settings.xml, apply the patch from the
  end of my original email to Maven 3 trunk, and do a build
 
  2) The second URL points to a Maven repository. You were talking of a
   replacement container (which I thought of as being classworlds).
 However
   I was looking for the source code.
  
 
  for the new container source code see 1) ... specifically
  guice-bean / guice-plexus which form most of the code
  [ it's modular so there's no single project source tree ]
 
  also look at the example to see JSR330 in practice
 
  To summarise, I'd like to have the URLs only to the source code needed
   to build Maven 3 with the Guice bit.
  
 
  you already have it... build 1) and you have everything
  needed - as explained you still need the patch of Guice
  for now, but won't in the future
 
  or just use 2) to download the binary snapshots
 
 
   I understand that there is a compatibility layer, and I can build that
   (after knowing if I have to build the whole Guice as well with it). I
   understand that there is a replacement container (but I don't have a
   precise URL to the SVN code for it); I'd like to know if the Maven 3
   trunk builds already on top of the above, or if I need another URL with
   Guice support, and if this case I'd like a precise URL for it.
  
 
  Maven 3 trunk still builds with Plexus at the moment,
  but if you take the patch from the bottom of my earlier
  email and apply it to Maven 3 then it will build with the
  new artifacts
 
  or just grab a snapshot build of Maven 3, remove the
  Plexus container jar and add the three artifacts listed
  above...
 
  Thanks for your time.
  
   M.
  
  
   On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
 wrote:
   
 Hi,

 Can somebody point me to the Maven 3 branch with Google guice? I
 undertsand that Google guice will replace Plexus classworlds, but
 the
 trunk still has Plexus in it. I'd like to have a look at what Maven
 3
 will look like when finished (from a code perspective).

   
The idea is for Guice to replace the Plexus container
by using a compatibility layer to inject requirements
into components. (Plexus classworlds is more about
classloader isolation, which is orthogonal to injection
and may or may not be replaced in the near future)
   
The Plexus

Re: Branch with Google guice?

2010-06-06 Thread Stuart McCulloch
On 6 June 2010 22:16, Olivier Lamy ol...@apache.org wrote:

 Hi Stuart,
 Any objections If I create a branch in asf svn repo ?


sure, fine with me

2010/6/6 Stuart McCulloch mccu...@gmail.com:
  On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, thank you for your email. Do you think that future emails
  related to the process below (mainly if I found any difficulties in
  building the whole thing plus observations, suggestions, etc) should be
  addressed to the dev mailing list?
 
 
  yep, this is more of a dev discussion
 
 
  M.
 
  On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
   On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
  
Stuart, a couple of things re the below:
   
1) The first URL downloads spice-inject and the whole Guice.
 Question:
was Guice extended for this compatibility layer? What actually is
 the
compatibility layer? Is it just spice or the whole lot?
  
  
   The first URL is the umbrella project that provides the
   compatibility layer - it contains a patched version of
   Guice because we needed to tweak and experiment
   with certain behavior during development, and handle
   some corner-cases wrt. Nexus
  
   Most changes have been committed into Guice trunk.
   There's only one patch left needed for Maven, which is
   the type converter feature and this should go in soon.
   (diff vanilla.src vs. src to see the remaining patches)
  
   We're still keeping our patched tree around for further
   experimentation / point-releases because Guice 2.1
   has not yet been officially released - otherwise you'd
   need to download and build Guice from scratch too.
  
   spice-inject also contains various modules that provide
   classpath scanning and Plexus-like features on top of
   Guice - these modules are combined into the two main
   distro jars: spice-inject-bean and spice-inject-plexus
   for convenience sake. [ these are not going back into
   Guice as they're external extensions ]
  
   spice-inject-bean provides a component model on top
   of JSR330 (component scanning, dynamic collections)
   - see the examples module for, well, an example ;)
  
   spice-inject-plexus adds support for Plexus
  
   to replace the Plexus container in Maven3 you need:
  
 spice-inject-bean-1.2.1-SNAPSHOT.jar
 spice-inject-plexus-1.2.1-SNAPSHOT.jar
 guice-patches-2.1.4-SNAPSHOT-noaop.jar
  
   at least until the type converter patches go into Guice
  
   If it's just spice, could we avoid from build the whole Guice and
 have
  the
dependencies downloaded from the net?
   
  
   if you just want to download the dependencies then add
   that second URL (the Sonatype Forge) as a snapshot
   repository in your settings.xml, apply the patch from the
   end of my original email to Maven 3 trunk, and do a build
  
   2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds).
  However
I was looking for the source code.
   
  
   for the new container source code see 1) ... specifically
   guice-bean / guice-plexus which form most of the code
   [ it's modular so there's no single project source tree ]
  
   also look at the example to see JSR330 in practice
  
   To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit.
   
  
   you already have it... build 1) and you have everything
   needed - as explained you still need the patch of Guice
   for now, but won't in the future
  
   or just use 2) to download the binary snapshots
  
  
I understand that there is a compatibility layer, and I can build
 that
(after knowing if I have to build the whole Guice as well with it).
 I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL
 with
Guice support, and if this case I'd like a precise URL for it.
   
  
   Maven 3 trunk still builds with Plexus at the moment,
   but if you take the patch from the bottom of my earlier
   email and apply it to Maven 3 then it will build with the
   new artifacts
  
   or just grab a snapshot build of Maven 3, remove the
   Plexus container jar and add the three artifacts listed
   above...
  
   Thanks for your time.
   
M.
   
   
On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
  wrote:

  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds,
 but
  the
  trunk still has Plexus in it. I'd like to have a look at what
 Maven
  3
  will look like when finished (from a code perspective).
 

 The idea is for Guice to replace the Plexus container
 by using

Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
stuff is here :
http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/

Thanks !

2010/6/6 Stuart McCulloch mccu...@gmail.com:
 On 6 June 2010 22:16, Olivier Lamy ol...@apache.org wrote:

 Hi Stuart,
 Any objections If I create a branch in asf svn repo ?


 sure, fine with me

 2010/6/6 Stuart McCulloch mccu...@gmail.com:
  On 6 June 2010 19:27, Jemos Infra jemos.in...@googlemail.com wrote:
 
  Stuart, thank you for your email. Do you think that future emails
  related to the process below (mainly if I found any difficulties in
  building the whole thing plus observations, suggestions, etc) should be
  addressed to the dev mailing list?
 
 
  yep, this is more of a dev discussion
 
 
  M.
 
  On Sun, 2010-06-06 at 18:11 +0800, Stuart McCulloch wrote:
   On 6 June 2010 17:22, Jemos Infra jemos.in...@googlemail.com wrote:
  
Stuart, a couple of things re the below:
   
1) The first URL downloads spice-inject and the whole Guice.
 Question:
was Guice extended for this compatibility layer? What actually is
 the
compatibility layer? Is it just spice or the whole lot?
  
  
   The first URL is the umbrella project that provides the
   compatibility layer - it contains a patched version of
   Guice because we needed to tweak and experiment
   with certain behavior during development, and handle
   some corner-cases wrt. Nexus
  
   Most changes have been committed into Guice trunk.
   There's only one patch left needed for Maven, which is
   the type converter feature and this should go in soon.
   (diff vanilla.src vs. src to see the remaining patches)
  
   We're still keeping our patched tree around for further
   experimentation / point-releases because Guice 2.1
   has not yet been officially released - otherwise you'd
   need to download and build Guice from scratch too.
  
   spice-inject also contains various modules that provide
   classpath scanning and Plexus-like features on top of
   Guice - these modules are combined into the two main
   distro jars: spice-inject-bean and spice-inject-plexus
   for convenience sake. [ these are not going back into
   Guice as they're external extensions ]
  
   spice-inject-bean provides a component model on top
   of JSR330 (component scanning, dynamic collections)
   - see the examples module for, well, an example ;)
  
   spice-inject-plexus adds support for Plexus
  
   to replace the Plexus container in Maven3 you need:
  
     spice-inject-bean-1.2.1-SNAPSHOT.jar
     spice-inject-plexus-1.2.1-SNAPSHOT.jar
     guice-patches-2.1.4-SNAPSHOT-noaop.jar
  
   at least until the type converter patches go into Guice
  
   If it's just spice, could we avoid from build the whole Guice and
 have
  the
dependencies downloaded from the net?
   
  
   if you just want to download the dependencies then add
   that second URL (the Sonatype Forge) as a snapshot
   repository in your settings.xml, apply the patch from the
   end of my original email to Maven 3 trunk, and do a build
  
   2) The second URL points to a Maven repository. You were talking of a
replacement container (which I thought of as being classworlds).
  However
I was looking for the source code.
   
  
   for the new container source code see 1) ... specifically
   guice-bean / guice-plexus which form most of the code
   [ it's modular so there's no single project source tree ]
  
   also look at the example to see JSR330 in practice
  
   To summarise, I'd like to have the URLs only to the source code needed
to build Maven 3 with the Guice bit.
   
  
   you already have it... build 1) and you have everything
   needed - as explained you still need the patch of Guice
   for now, but won't in the future
  
   or just use 2) to download the binary snapshots
  
  
I understand that there is a compatibility layer, and I can build
 that
(after knowing if I have to build the whole Guice as well with it).
 I
understand that there is a replacement container (but I don't have a
precise URL to the SVN code for it); I'd like to know if the Maven 3
trunk builds already on top of the above, or if I need another URL
 with
Guice support, and if this case I'd like a precise URL for it.
   
  
   Maven 3 trunk still builds with Plexus at the moment,
   but if you take the patch from the bottom of my earlier
   email and apply it to Maven 3 then it will build with the
   new artifacts
  
   or just grab a snapshot build of Maven 3, remove the
   Plexus container jar and add the three artifacts listed
   above...
  
   Thanks for your time.
   
M.
   
   
On Sun, 2010-06-06 at 16:40 +0800, Stuart McCulloch wrote:
 On 6 June 2010 02:27, Jemos Infra jemos.in...@googlemail.com
  wrote:

  Hi,
 
  Can somebody point me to the Maven 3 branch with Google guice? I
  undertsand that Google guice will replace Plexus classworlds,
 but
  the
  trunk still has Plexus in it. I'd like to have a look at what
 Maven
  3

Re: Branch with Google guice?

2010-06-06 Thread Jemos Infra
On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
 Thanks !
 
Hi Oliver, I take it this branch contains everything that's needed,
right? I mean Maven-3, the Plexus-Guice adapter and all required
dependencies in the POM. Correct?

Thanks.

M.


-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



Re: Branch with Google guice?

2010-06-06 Thread Olivier Lamy
yup.
It build fine and it works for some builds I have tested since I have
installed it (at least on my laptop :-) ) .


2010/6/6 Jemos Infra jemos.in...@googlemail.com:
 On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
 stuff is here :
 http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/

 Thanks !

 Hi Oliver, I take it this branch contains everything that's needed,
 right? I mean Maven-3, the Plexus-Guice adapter and all required
 dependencies in the POM. Correct?

 Thanks.

 M.


 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org





-- 
Olivier
http://twitter.com/olamy
http://fr.linkedin.com/in/olamy
http://www.viadeo.com/fr/profile/olivier.lamy7

-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



Re: Branch with Google guice?

2010-06-06 Thread nicolas de loof
Can we use the CI server to check how this branch supports the IT test
harnesss ? It could make us more confident / help to detect
incompatibilities when switching to Guive will become a concrete option.

Nicolas

2010/6/6 Olivier Lamy ol...@apache.org

 yup.
 It build fine and it works for some builds I have tested since I have
 installed it (at least on my laptop :-) ) .


 2010/6/6 Jemos Infra jemos.in...@googlemail.com:
  On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
  stuff is here :
  http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
 
  Thanks !
 
  Hi Oliver, I take it this branch contains everything that's needed,
  right? I mean Maven-3, the Plexus-Guice adapter and all required
  dependencies in the POM. Correct?
 
  Thanks.
 
  M.
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 



 --
 Olivier
 http://twitter.com/olamy
 http://fr.linkedin.com/in/olamy
 http://www.viadeo.com/fr/profile/olivier.lamy7

 -
 To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
 For additional commands, e-mail: users-h...@maven.apache.org




Re: Branch with Google guice?

2010-06-06 Thread Kristian Rosenvold
I have been running this patch on my CI (including m3 IT's) for quite
some time now, and it works really well here. Obviously, the more the
merrier!

But then again, from a user's perspective this change really adds very
little to the excitement. It's supposed to be a transparent change
without any feature changes and as far as I can see that's exactly what
it is.

Kristian





sø., 06.06.2010 kl. 21.45 +0200, skrev nicolas de loof:
 Can we use the CI server to check how this branch supports the IT test
 harnesss ? It could make us more confident / help to detect
 incompatibilities when switching to Guive will become a concrete option.
 
 Nicolas
 
 2010/6/6 Olivier Lamy ol...@apache.org
 
  yup.
  It build fine and it works for some builds I have tested since I have
  installed it (at least on my laptop :-) ) .
 
 
  2010/6/6 Jemos Infra jemos.in...@googlemail.com:
   On Sun, 2010-06-06 at 16:58 +0200, Olivier Lamy wrote:
   stuff is here :
   http://svn.apache.org/repos/asf/maven/maven-3/branches/guice-support/
  
   Thanks !
  
   Hi Oliver, I take it this branch contains everything that's needed,
   right? I mean Maven-3, the Plexus-Guice adapter and all required
   dependencies in the POM. Correct?
  
   Thanks.
  
   M.
  
  
   -
   To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
   For additional commands, e-mail: users-h...@maven.apache.org
  
  
 
 
 
  --
  Olivier
  http://twitter.com/olamy
  http://fr.linkedin.com/in/olamy
  http://www.viadeo.com/fr/profile/olivier.lamy7
 
  -
  To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
  For additional commands, e-mail: users-h...@maven.apache.org
 
 



-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



Branch with Google guice?

2010-06-05 Thread Jemos Infra
Hi, 

Can somebody point me to the Maven 3 branch with Google guice? I
undertsand that Google guice will replace Plexus classworlds, but the
trunk still has Plexus in it. I'd like to have a look at what Maven 3
will look like when finished (from a code perspective).

Thanks.

M.


-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org