On 6 June 2010 02:27, Jemos Infra <[email protected]> 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 @@
       <artifactId>maven-compat</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
Index: apache-maven/pom.xml
===================================================================
--- apache-maven/pom.xml    (revision 951813)
+++ apache-maven/pom.xml    (working copy)
@@ -43,8 +43,8 @@
       <artifactId>maven-compat</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-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 @@
       <artifactId>plexus-interpolation</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
     </dependency>
     <dependency>
       <groupId>org.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 @@
       <artifactId>maven-model</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
Index: pom.xml
===================================================================
--- pom.xml    (revision 951813)
+++ pom.xml    (working copy)
@@ -44,6 +44,7 @@
     <plexusVersion>1.5.4</plexusVersion>
     <plexusInterpolationVersion>1.11</plexusInterpolationVersion>
     <plexusUtilsVersion>2.0.4</plexusUtilsVersion>
+    <spiceInjectVersion>1.2.1-SNAPSHOT</spiceInjectVersion>
     <wagonVersion>1.0-beta-6</wagonVersion>
     <securityDispatcherVersion>1.3</securityDispatcherVersion>
     <cipherVersion>1.4</cipherVersion>
@@ -240,15 +241,9 @@
         <version>${plexusUtilsVersion}</version>
       </dependency>
       <dependency>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-container-default</artifactId>
-        <version>${plexusVersion}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-          </exclusion>
-        </exclusions>
+        <groupId>org.sonatype.spice</groupId>
+        <artifactId>spice-inject-plexus</artifactId>
+        <version>${spiceInjectVersion}</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
Index: maven-core/pom.xml
===================================================================
--- maven-core/pom.xml    (revision 951813)
+++ maven-core/pom.xml    (working copy)
@@ -51,8 +51,8 @@
     </dependency>
     <!-- Plexus -->
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
Index: maven-plugin-api/pom.xml
===================================================================
--- maven-plugin-api/pom.xml    (revision 951813)
+++ maven-plugin-api/pom.xml    (working copy)
@@ -48,8 +48,8 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
     </dependency>
   </dependencies>

Index: maven-embedder/pom.xml
===================================================================
--- maven-embedder/pom.xml    (revision 951813)
+++ maven-embedder/pom.xml    (working copy)
@@ -54,8 +54,8 @@
       <artifactId>plexus-classworlds</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
+      <groupId>org.sonatype.spice</groupId>
+      <artifactId>spice-inject-plexus</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>


> Thanks.
>
> M.
>

-- 
Cheers, Stuart

Reply via email to