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
