jdcasey 2005/04/07 22:36:37
Modified:
maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade
MarmaladeMojo.java
Log:
merging changes from 1.0-alpha-1 branch that enable output to logs from a
marmalade mojo.
Revision Changes Path
1.7 +28 -3
maven-components/maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade/MarmaladeMojo.java
Index: MarmaladeMojo.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-script/maven-script-marmalade/src/main/java/org/apache/maven/script/marmalade/MarmaladeMojo.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MarmaladeMojo.java 22 Mar 2005 06:51:59 -0000 1.6
+++ MarmaladeMojo.java 8 Apr 2005 05:36:37 -0000 1.7
@@ -16,6 +16,7 @@
* limitations under the License.
*/
+import org.apache.maven.monitor.logging.Log;
import org.apache.maven.plugin.AbstractPlugin;
import org.apache.maven.plugin.FailureResponse;
import org.apache.maven.plugin.PluginExecutionRequest;
@@ -25,6 +26,9 @@
import org.codehaus.marmalade.runtime.MarmaladeExecutionContext;
import org.codehaus.marmalade.runtime.MarmaladeExecutionException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
/**
* @author jdcasey
*/
@@ -47,15 +51,36 @@
context.setVariable( MarmaladeMojoExecutionDirectives.REQUEST_INVAR,
request );
context.setVariable(
MarmaladeMojoExecutionDirectives.RESPONSE_INVAR, response );
-
+
+ StringWriter sOutWriter = new StringWriter();
+ PrintWriter outWriter = new PrintWriter(sOutWriter);
+
+ context.setOutWriter(outWriter);
+
+ StringWriter sErrWriter = new StringWriter();
+ PrintWriter errWriter = new PrintWriter(sErrWriter);
+
+ context.setErrWriter(errWriter);
+
try
{
script.execute( context );
}
catch ( MarmaladeExecutionException e )
{
- FailureResponse failure = new MarmaladeMojoFailureResponse(
script.getLocation(), e );
- response.setExecutionFailure( failure );
+ throw e;
+ }
+
+ StringBuffer output = sOutWriter.getBuffer();
+ if(output.length() > 0)
+ {
+ getLog().info(output);
+ }
+
+ StringBuffer error = sErrWriter.getBuffer();
+ if(error.length() > 0)
+ {
+ getLog().error(error);
}
// TODO: need to be able to pass back results