Author: trygvis
Date: Wed May  4 13:42:31 2005
New Revision: 168187

URL: http://svn.apache.org/viewcvs?rev=168187&view=rev
Log:
o Separating the shell builder from the maven 2 builder.
o Making the Maven 2 builder return proper MavenTwoBuildResult objects.

Modified:
    
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/DefaultMavenBuilderHelper.java
    
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/MavenShellBuilder.java
    maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo

Modified: 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/DefaultMavenBuilderHelper.java
URL: 
http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/DefaultMavenBuilderHelper.java?rev=168187&r1=168186&r2=168187&view=diff
==============================================================================
--- 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/DefaultMavenBuilderHelper.java
 (original)
+++ 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/DefaultMavenBuilderHelper.java
 Wed May  4 13:42:31 2005
@@ -28,6 +28,7 @@
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.project.ContinuumProject;
+import org.apache.maven.continuum.project.MavenTwoProject;
 import org.apache.maven.model.CiManagement;
 import org.apache.maven.model.Notifier;
 import org.apache.maven.model.Repository;
@@ -74,7 +75,7 @@
         // We need to roll the project data into a file so that we can use it
         // 
----------------------------------------------------------------------
 
-        ContinuumProject project = new ContinuumProject();
+        MavenTwoProject project = new MavenTwoProject();
 
         try
         {

Modified: 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/MavenShellBuilder.java
URL: 
http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/MavenShellBuilder.java?rev=168187&r1=168186&r2=168187&view=diff
==============================================================================
--- 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/MavenShellBuilder.java
 (original)
+++ 
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/builder/maven/m2/MavenShellBuilder.java
 Wed May  4 13:42:31 2005
@@ -18,10 +18,13 @@
 
 import java.io.File;
 import java.net.URL;
-import java.util.Arrays;
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.builder.shell.ShellBuilder;
+import org.apache.maven.continuum.builder.AbstractContinuumBuilder;
+import org.apache.maven.continuum.builder.ContinuumBuilder;
+import org.apache.maven.continuum.builder.shell.ExecutionResult;
+import org.apache.maven.continuum.builder.shell.ShellCommandHelper;
+import org.apache.maven.continuum.project.ContinuumBuildResult;
 import org.apache.maven.continuum.project.ContinuumProject;
 
 /**
@@ -29,13 +32,17 @@
  * @version $Id: MavenShellBuilder.java,v 1.2 2005/04/07 23:27:39 trygvis Exp $
  */
 public class MavenShellBuilder
-    extends ShellBuilder
+    extends AbstractContinuumBuilder
+    implements ContinuumBuilder
 {
     public final static String CONFIGURATION_GOALS = "goals";
 
     public final static String ID = "maven2";
 
     /** @requirement */
+    private ShellCommandHelper shellCommandHelper;
+
+    /** @requirement */
     private MavenBuilderHelper builderHelper;
 
     /** @configuration */
@@ -48,31 +55,51 @@
     // ContinuumBuilder Implementation
     // ----------------------------------------------------------------------
 
-    public ContinuumProject createProjectFromMetadata( URL metadata )
+    public ContinuumBuildResult build( ContinuumProject project )
         throws ContinuumException
     {
-        return builderHelper.createProjectFromMetadata( metadata );
-    }
+        File workingDirectory = new File( project.getWorkingDirectory() );
 
-    public void updateProjectFromCheckOut( File workingDirectory, 
ContinuumProject project )
-        throws ContinuumException
-    {
-        builderHelper.updateProjectFromMetadata( workingDirectory, project );
-    }
+        ExecutionResult executionResult;
 
-    // ----------------------------------------------------------------------
-    // ShellBuilder Implementation
-    // ----------------------------------------------------------------------
+        String[] arguments = getArguments( project );
+
+        try
+        {
+            executionResult = shellCommandHelper.executeShellCommand( 
workingDirectory,
+                                                                      
executable,
+                                                                      
arguments );
+        }
+        catch ( Exception e )
+        {
+            throw new ContinuumException( "Error while executing shell 
command.", e );
+        }
+
+        boolean success = executionResult.getExitCode() == 0;
 
-    protected boolean prependWorkingDirectoryIfMissing()
+        MavenTwoBuildResult result = new MavenTwoBuildResult();
+
+        result.setSuccess( success );
+
+        result.setStandardOutput( executionResult.getStandardOutput() );
+
+        result.setStandardError( executionResult.getStandardError() );
+
+        result.setExitCode( executionResult.getExitCode() );
+
+        return result;
+    }
+
+    public ContinuumProject createProjectFromMetadata( URL metadata )
+        throws ContinuumException
     {
-        return false;
+        return builderHelper.createProjectFromMetadata( metadata );
     }
 
-    protected String getExecutable( ContinuumProject project )
+    public void updateProjectFromCheckOut( File workingDirectory, 
ContinuumProject project )
         throws ContinuumException
     {
-        return executable;
+        builderHelper.updateProjectFromMetadata( workingDirectory, project );
     }
 
     protected String[] getArguments( ContinuumProject project )
@@ -87,8 +114,6 @@
         System.arraycopy( a, 0, arguments, 0, a.length );
 
         System.arraycopy( goals, 0, arguments, a.length, goals.length );
-
-        System.err.println( "arguments: " + Arrays.asList( arguments ) );
 
         return arguments;
     }

Modified: maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo
URL: 
http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo?rev=168187&r1=168186&r2=168187&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo 
(original)
+++ maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo Wed 
May  4 13:42:31 2005
@@ -15,7 +15,7 @@
    |
    |-->
   <classes>
-    <class rootElement="true" stash.storable="true">
+    <class rootElement="true" stash.storable="true"><!--  java.abstract="true" 
-->
       <name>ContinuumProject</name>
       <version>1.0.0</version>
       <fields>
@@ -247,10 +247,8 @@
     |
     | BuilderBuildResult
     |
-    | This class should be abstract.
-    |
     | -->
-    <class stash.storable="true">
+    <class stash.storable="true"> <!-- java.abstract="true"-->
       <name>ContinuumBuildResult</name>
       <version>1.0.0</version>
       <fields>
@@ -321,9 +319,9 @@
         </field>
       </fields>
     </class>
-<!--
+
     <class>
-      <name>Maven2BuildResult</name>
+      <name>MavenTwoBuildResult</name>
       <packageName>org.apache.maven.continuum.builder.maven.m2</packageName>
       <superClass>ContinuumBuildResult</superClass>
       <version>1.0.0</version>
@@ -345,7 +343,7 @@
         </field>
       </fields>
     </class>
--->
+
     <class>
       <name>AntBuildResult</name>
       <packageName>org.apache.maven.continuum.builder.ant</packageName>
@@ -375,7 +373,7 @@
      | Scm Result
      |
      |-->
-    <class><!-- abstract -->
+    <class java.abstract="true">
       <name>ScmResult</name>
       <packageName>org.apache.maven.continuum.scm</packageName>
       <version>1.0.0</version>


Reply via email to