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 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <parent>
+    <groupId>org.apache.maven.dotnet</groupId>
+    <version>0.14-SNAPSHOT</version>
+    <artifactId>dotnet-components</artifactId>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet</groupId>
+  <artifactId>dotnet-embedder</artifactId>
+  <version>0.14-SNAPSHOT</version>
+  <name>dotnet-embedder</name>
+  <description>
+    NMaven
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-embedder</artifactId>
+      <version>2.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-plexus</artifactId>
+      <version>1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-java5</artifactId>
+      <version>1.2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>javax.ws</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+  </dependencies>
+</project>
\ 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.*;
+
[EMAIL PROTECTED](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<String> goals = new ArrayList<String>();
+        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 @@
+<component-set>
+  <components>
+    <component>
+      <role>org.apache.maven.dotnet.embedder.MavenEmbedderService</role>
+      
<implementation>org.apache.maven.dotnet.embedder.impl.MavenEmbedderServiceImpl</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.dotnet.embedder.MavenExecutionRequest</role>
+      
<implementation>org.apache.maven.dotnet.embedder.impl.MavenExecutionRequestImpl</implementation>
+    </component>
+    <component>
+      <role>org.codehaus.xfire.plexus.config.ConfigurationService</role>
+      
<implementation>org.codehaus.xfire.plexus.config.DefaultConfigurationService</implementation>
+      <configuration>
+        <services>
+          <service>
+            <name>MavenEmbedderService</name>
+            
<namespace>http://incubator.apache.org/nmaven/MavenEmbedderService</namespace>
+            
<serviceClass>org.apache.maven.dotnet.embedder.MavenEmbedderService</serviceClass>
+          </service>
+        </services>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.xfire.plexus.config.Configurator</role>
+          
<role-hint>org.codehaus.xfire.service.object.ObjectService</role-hint>
+        </requirement>
+      </requirements>
+    </component>
+  </components>
+</component-set>

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 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet</groupId>
+  <artifactId>dotnet-service-embedder</artifactId>
+  <version>0.14-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>dotnet-service-embedder</name>
+  <description>
+    NMaven
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-embedder</artifactId>
+      <version>0.14-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+</project>
\ 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+  <load-on-start>
+    <component>
+      <role>org.codehaus.xfire.plexus.config.ConfigurationService</role>
+    </component>
+  </load-on-start>
+</plexus>
\ 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
+         version="2.4">
+  <display-name>Maven Embedder Service</display-name>
+  <listener>
+    
<listener-class>org.codehaus.plexus.servlet.PlexusServletContextListener</listener-class>
+  </listener>
+  <servlet>
+    <servlet-name>XFire</servlet-name>
+    <display-name>XFire Servlet</display-name>
+    <servlet-class>
+      org.codehaus.xfire.plexus.PlexusXFireServlet
+    </servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>XFire</servlet-name>
+    <url-pattern>/servlet/XFireServlet/*</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>XFire</servlet-name>
+    <url-pattern>/services/*</url-pattern>
+  </servlet-mapping>
+</web-app>
\ 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


Reply via email to