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

Reply via email to