I wish to write a component to inject into my Maven Mojo whichis running
from an 'embedded' Maven deployment.
By embedded I mean I am starting up Plexus and Maven like this...
import org.apache.maven.Maven;
import org.apache.maven.cli.MavenLoggerManager;
import org.apache.maven.model.building.ModelProcessor;
import org.codehaus.plexus.DefaultContainerConfiguration;
import org.codehaus.plexus.DefaultPlexusContainer;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.classworlds.ClassWorld;
import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
public class MvnServer2
{
final Logger logger;
final BespokeExecutionListener executionListener;
final Maven maven;
final ModelProcessor modelProcessor;
MvnServer2() throws PlexusContainerException,
ComponentLookupException {
ClassWorld classWorld = new ClassWorld("plexus.core",
Thread.currentThread().getContextClassLoader());
DefaultContainerConfiguration cc =
new DefaultContainerConfiguration();
cc.setClassWorld(classWorld);
cc.setName("embedder");
DefaultPlexusContainer plexus = new DefaultPlexusContainer(cc);
logger = new ConsoleLogger();
plexus.setLoggerManager(new MavenLoggerManager(logger));
maven = plexus.lookup(Maven.class);
modelProcessor = plexus.lookup(ModelProcessor.class);
executionListener = new BespokeExecutionListener(logger);
I was looking at
http://www.sonatype.com/people/2009/05/plexus-container-five-minute-tutorial/
but noticed that the archetypes and documentation at
http://plexus.codehaus.org/guides/writing-components/00_index.html seems
to be out of date. I also see that sonatype are migrating to Guice.
Which would be a better place to start for component writing, Guice or
Plexus?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]