From nmaven-commits-return-179-apmail-incubator-nmaven-commits-archive=incubator.apache.org@incubator.apache.org Wed Mar 14 20:48:34 2007 Return-Path: Delivered-To: apmail-incubator-nmaven-commits-archive@locus.apache.org Received: (qmail 6845 invoked from network); 14 Mar 2007 20:48:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Mar 2007 20:48:31 -0000 Received: (qmail 1411 invoked by uid 500); 14 Mar 2007 20:48:32 -0000 Delivered-To: apmail-incubator-nmaven-commits-archive@incubator.apache.org Received: (qmail 1371 invoked by uid 500); 14 Mar 2007 20:48:32 -0000 Mailing-List: contact nmaven-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: nmaven-dev@incubator.apache.org Delivered-To: mailing list nmaven-commits@incubator.apache.org Received: (qmail 1333 invoked by uid 99); 14 Mar 2007 20:48:31 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Mar 2007 13:48:31 -0700 X-ASF-Spam-Status: No, hits=-98.6 required=10.0 tests=ALL_TRUSTED,INFO_TLD,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Mar 2007 13:48:21 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 1DFAF1A983E; Wed, 14 Mar 2007 13:48:01 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r518318 [2/2] - in /incubator/nmaven/branches/SI_IDE/components: dotnet-embedder/ dotnet-embedder/src/ dotnet-embedder/src/main/ dotnet-embedder/src/main/java/ dotnet-embedder/src/main/java/org/ dotnet-embedder/src/main/java/org/apache/ dot... Date: Wed, 14 Mar 2007 20:48:00 -0000 To: nmaven-commits@incubator.apache.org From: sisbell@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070314204801.1DFAF1A983E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/pom.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/pom.xml?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/pom.xml (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/pom.xml Wed Mar 14 13:47:58 2007 @@ -0,0 +1,38 @@ + + + org.apache.maven.dotnet + 0.14-SNAPSHOT + dotnet-components + + 4.0.0 + org.apache.maven.dotnet + dotnet-embedder + 0.14-SNAPSHOT + dotnet-embedder + + NMaven + + + + org.apache.maven + maven-embedder + 2.0.4 + + + org.codehaus.xfire + xfire-plexus + 1.2 + + + org.codehaus.xfire + xfire-java5 + 1.2.4 + + + org.codehaus.xfire + javax.ws + 1.0.0 + + + \ No newline at end of file Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenEmbedderService.java URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenEmbedderService.java?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenEmbedderService.java (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenEmbedderService.java Wed Mar 14 13:47:58 2007 @@ -0,0 +1,18 @@ +package org.apache.maven.dotnet.embedder; + +public interface MavenEmbedderService +{ + + /** + * Role used to register component implementations with the container. + */ + String ROLE = MavenEmbedderService.class.getName(); + + /** + * + * @param request + */ + void execute( MavenExecutionRequest request ); + + +} Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenEmbedderService.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenExecutionRequest.java URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenExecutionRequest.java?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenExecutionRequest.java (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenExecutionRequest.java Wed Mar 14 13:47:58 2007 @@ -0,0 +1,19 @@ +package org.apache.maven.dotnet.embedder; + +import org.codehaus.xfire.aegis.type.java5.*; + +@XmlType(namespace="urn:maven-embedder") +public interface MavenExecutionRequest +{ + + /** + * Role used to register component implementations with the container. + */ + String ROLE = MavenExecutionRequest.class.getName(); + + @XmlElement(name="pomFile", namespace="urn:maven-embedder") + String getPomFile(); + + void setPomFile(java.lang.String string); + +} Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/MavenExecutionRequest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenEmbedderServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenEmbedderServiceImpl.java?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenEmbedderServiceImpl.java (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenEmbedderServiceImpl.java Wed Mar 14 13:47:58 2007 @@ -0,0 +1,159 @@ +package org.apache.maven.dotnet.embedder.impl; + +import org.apache.maven.dotnet.embedder.MavenEmbedderService; +import org.apache.maven.dotnet.embedder.MavenExecutionRequest; +import org.apache.maven.embedder.MavenEmbedder; +import org.apache.maven.embedder.MavenEmbedderException; +import org.apache.maven.embedder.MavenEmbedderConsoleLogger; +import org.apache.maven.embedder.PlexusLoggerAdapter; +import org.apache.maven.embedder.MavenEmbedderLogger; +import org.apache.maven.BuildFailureException; +import org.apache.maven.cli.ConsoleDownloadMonitor; +import org.apache.maven.cli.MavenCli; +import org.apache.maven.monitor.event.EventMonitor; +import org.apache.maven.monitor.event.DefaultEventMonitor; +import org.apache.maven.lifecycle.LifecycleExecutionException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.project.ProjectBuildingException; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable; +import org.codehaus.plexus.util.dag.CycleDetectedException; +import org.codehaus.plexus.logging.LogEnabled; +import org.codehaus.plexus.logging.Logger; +import org.codehaus.classworlds.ClassWorld; +import org.codehaus.classworlds.DuplicateRealmException; + +import java.util.List; +import java.util.ArrayList; +import java.util.Properties; +import java.io.File; + +public final class MavenEmbedderServiceImpl + implements MavenEmbedderService, Initializable, Disposable, LogEnabled +{ + + private MavenEmbedder embedder; + + private Logger logger; + + private MavenEmbedderConsoleLogger embedderLogger; + + public MavenEmbedderServiceImpl() + { + } + + public void enableLogging( Logger logger ) + { + this.logger = logger; + } + + /* + * Uses the CLI + */ + public void execute( MavenExecutionRequest request ) + { + String args[] = new String[3]; + args[0] = "install"; + File pomFile = new File( "..\\dotnet-artifact\\pom.xml" ); + args[1] = "-f"; + args[2] = pomFile.getAbsolutePath(); + ClassWorld classWorld = new ClassWorld(); + try + { + classWorld.newRealm( "plexus.core", Thread.currentThread().getContextClassLoader() ); + } + catch ( DuplicateRealmException e ) + { + e.printStackTrace(); + } + MavenCli.main( args, classWorld ); + + } + + /* + * Uses the embedder + */ + public void execute1( MavenExecutionRequest request ) + { + + MavenProject mavenProject = null; + try + { + mavenProject = embedder.readProject( new File( request.getPomFile() ) ); + } + catch ( ProjectBuildingException e ) + { + logger.info( "", e ); + } + List goals = new ArrayList(); + goals.add( "install" ); + File executionRootDirectory = + new File(new File( request.getPomFile() ).getParent()); + EventMonitor eventMonitor = + new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) ); + + try + { + embedder.execute( mavenProject, goals, eventMonitor, new ConsoleDownloadMonitor(), new Properties(), + executionRootDirectory ); + } + catch ( CycleDetectedException e ) + { + e.printStackTrace(); + } + catch ( LifecycleExecutionException e ) + { + e.printStackTrace(); + } + catch ( BuildFailureException e ) + { + printFullTrace( e ); + } + catch ( org.apache.maven.project.DuplicateProjectException e ) + { + e.printStackTrace(); + } + } + + private void printFullTrace( Throwable t ) + { + Throwable cause = t.getCause(); + if ( cause != null ) + { + printFullTrace( cause ); + } + } + + public void initialize() + { + embedderLogger = new MavenEmbedderConsoleLogger(); + embedderLogger.setThreshold( MavenEmbedderLogger.LEVEL_DEBUG ); + embedder = new MavenEmbedder(); + + embedder.setClassLoader( Thread.currentThread().getContextClassLoader() ); + embedder.setLogger( embedderLogger ); + embedder.setAlignWithUserInstallation( true ); + embedder.setLocalRepositoryDirectory( new File( System.getProperty( "user.home" ) + File.separator + ".m2" ) ); + + try + { + embedder.start(); + } + catch ( MavenEmbedderException e ) + { + e.printStackTrace(); + } + } + + public void dispose() + { + try + { + embedder.stop(); + } + catch ( MavenEmbedderException e ) + { + e.printStackTrace(); + } + } +} Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenEmbedderServiceImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenExecutionRequestImpl.java URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenExecutionRequestImpl.java?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenExecutionRequestImpl.java (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenExecutionRequestImpl.java Wed Mar 14 13:47:58 2007 @@ -0,0 +1,18 @@ +package org.apache.maven.dotnet.embedder.impl; + +import org.apache.maven.dotnet.embedder.MavenExecutionRequest; + +public class MavenExecutionRequestImpl + implements MavenExecutionRequest +{ + + public void setPomFile( java.lang.String string ) + { + + } + + public String getPomFile() + { + return ""; + } +} Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/java/org/apache/maven/dotnet/embedder/impl/MavenExecutionRequestImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/resources/META-INF/plexus/components.xml?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/resources/META-INF/plexus/components.xml (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/resources/META-INF/plexus/components.xml Wed Mar 14 13:47:58 2007 @@ -0,0 +1,31 @@ + + + + org.apache.maven.dotnet.embedder.MavenEmbedderService + org.apache.maven.dotnet.embedder.impl.MavenEmbedderServiceImpl + + + org.apache.maven.dotnet.embedder.MavenExecutionRequest + org.apache.maven.dotnet.embedder.impl.MavenExecutionRequestImpl + + + org.codehaus.xfire.plexus.config.ConfigurationService + org.codehaus.xfire.plexus.config.DefaultConfigurationService + + + + MavenEmbedderService + http://incubator.apache.org/nmaven/MavenEmbedderService + org.apache.maven.dotnet.embedder.MavenEmbedderService + + + + + + org.codehaus.xfire.plexus.config.Configurator + org.codehaus.xfire.service.object.ObjectService + + + + + Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/main/resources/META-INF/plexus/components.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/test/java/ServiceTest.java URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/test/java/ServiceTest.java?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/test/java/ServiceTest.java (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/test/java/ServiceTest.java Wed Mar 14 13:47:58 2007 @@ -0,0 +1,17 @@ +import junit.framework.TestCase; +import org.apache.maven.dotnet.embedder.MavenEmbedderService; +import org.apache.maven.dotnet.embedder.MavenExecutionRequest; +import org.apache.maven.dotnet.embedder.impl.MavenEmbedderServiceImpl; +import org.apache.maven.dotnet.embedder.impl.MavenExecutionRequestImpl; + +public class ServiceTest + extends TestCase +{ + public void testA() + { + MavenEmbedderServiceImpl service = new MavenEmbedderServiceImpl(); + service.initialize(); + MavenExecutionRequest request = new MavenExecutionRequestImpl(); + //service.execute( request ); + } +} Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-embedder/src/test/java/ServiceTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/pom.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/pom.xml?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/pom.xml (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/pom.xml Wed Mar 14 13:47:58 2007 @@ -0,0 +1,19 @@ + + 4.0.0 + org.apache.maven.dotnet + dotnet-service-embedder + 0.14-SNAPSHOT + war + dotnet-service-embedder + + NMaven + + + + org.apache.maven.dotnet + dotnet-embedder + 0.14-SNAPSHOT + + + \ No newline at end of file Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/plexus.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/plexus.xml?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/plexus.xml (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/plexus.xml Wed Mar 14 13:47:58 2007 @@ -0,0 +1,8 @@ + + + + + org.codehaus.xfire.plexus.config.ConfigurationService + + + \ No newline at end of file Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/plexus.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/web.xml?view=auto&rev=518318 ============================================================================== --- incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/web.xml (added) +++ incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/web.xml Wed Mar 14 13:47:58 2007 @@ -0,0 +1,25 @@ + + + Maven Embedder Service + + org.codehaus.plexus.servlet.PlexusServletContextListener + + + XFire + XFire Servlet + + org.codehaus.xfire.plexus.PlexusXFireServlet + + + + XFire + /servlet/XFireServlet/* + + + XFire + /services/* + + \ No newline at end of file Propchange: incubator/nmaven/branches/SI_IDE/components/dotnet-service/embedder/src/main/webapp/WEB-INF/web.xml ------------------------------------------------------------------------------ svn:eol-style = native