You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/08/10 18:30:43 UTC

svn commit: r684549 - in /maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker: BeanShellScriptInterpreter.java GroovyScriptInterpreter.java ScriptEvaluationException.java ScriptInterpreter.java

Author: bentmann
Date: Sun Aug 10 09:30:43 2008
New Revision: 684549

URL: http://svn.apache.org/viewvc?rev=684549&view=rev
Log:
o Improved handling of script exceptions

Modified:
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/BeanShellScriptInterpreter.java
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/GroovyScriptInterpreter.java
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptEvaluationException.java
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptInterpreter.java

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/BeanShellScriptInterpreter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/BeanShellScriptInterpreter.java?rev=684549&r1=684548&r2=684549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/BeanShellScriptInterpreter.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/BeanShellScriptInterpreter.java Sun Aug 10 09:30:43 2008
@@ -28,6 +28,7 @@
 
 import bsh.EvalError;
 import bsh.Interpreter;
+import bsh.TargetError;
 
 /**
  * Provides a facade to evaluate BeanShell scripts.
@@ -88,8 +89,7 @@
                     }
                     catch ( EvalError e )
                     {
-                        throw new ScriptEvaluationException( "Illegal global variable: " + variable + " = " + value,
-                                                             e );
+                        throw new RuntimeException( e );
                     }
                 }
             }
@@ -98,9 +98,13 @@
             {
                 return engine.eval( script );
             }
-            catch ( EvalError e )
+            catch ( TargetError e )
             {
-                throw new ScriptEvaluationException( "script evaluation error", e );
+                throw new ScriptEvaluationException( e.getTarget() );
+            }
+            catch ( Exception e )
+            {
+                throw new ScriptEvaluationException( e );
             }
         }
         finally

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/GroovyScriptInterpreter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/GroovyScriptInterpreter.java?rev=684549&r1=684548&r2=684549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/GroovyScriptInterpreter.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/GroovyScriptInterpreter.java Sun Aug 10 09:30:43 2008
@@ -20,7 +20,6 @@
  */
 
 import groovy.lang.Binding;
-import groovy.lang.GroovyRuntimeException;
 import groovy.lang.GroovyShell;
 
 import java.io.File;
@@ -83,9 +82,9 @@
             {
                 return interpreter.evaluate( script );
             }
-            catch ( GroovyRuntimeException e )
+            catch ( Exception e )
             {
-                throw new ScriptEvaluationException( "script evaluation error", e );
+                throw new ScriptEvaluationException( e );
             }
         }
         finally

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptEvaluationException.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptEvaluationException.java?rev=684549&r1=684548&r2=684549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptEvaluationException.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptEvaluationException.java Sun Aug 10 09:30:43 2008
@@ -20,7 +20,8 @@
  */
 
 /**
- * Signals an error during parsing/evaluation of a script (e.g. a syntax error).
+ * Signals an error during parsing/evaluation of a script. This can either be a syntax error in the script itself or an
+ * exception triggered by the methods it invoked.
  * 
  * @author Benjamin Bentmann
  * @version $Id$
@@ -35,14 +36,13 @@
     private static final long serialVersionUID = 199336743291078393L;
 
     /**
-     * Creates a new exception with the specified detail message and cause.
+     * Creates a new exception with the specified cause.
      * 
-     * @param message The detail message, may be <code>null</code>.
      * @param cause The cause, may be <code>null</code>.
      */
-    public ScriptEvaluationException( String message, Throwable cause )
+    public ScriptEvaluationException( Throwable cause )
     {
-        super( message, cause );
+        super( cause );
     }
 
 }

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptInterpreter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptInterpreter.java?rev=684549&r1=684548&r2=684549&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptInterpreter.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/ScriptInterpreter.java Sun Aug 10 09:30:43 2008
@@ -45,7 +45,7 @@
      * @param scriptOutput A print stream to redirect any output from the script to, may be <code>null</code> to use
      *            stdout/stderr.
      * @return The return value from the script, can be <code>null</code>
-     * @throws ScriptEvaluationException If the script could not be evaluated.
+     * @throws ScriptEvaluationException If the script evaluation produced an error.
      */
     Object evaluateScript( String script, List classPath, Map globalVariables, PrintStream scriptOutput )
         throws ScriptEvaluationException;