Title: [959] trunk/jbehave-ant/src/main/java/org/jbehave/ant: Added optional skip and ignoreFailure flags.

Diff

Modified: trunk/jbehave-ant/src/main/java/org/jbehave/ant/AbstractScenarioTask.java (958 => 959)

--- trunk/jbehave-ant/src/main/java/org/jbehave/ant/AbstractScenarioTask.java	2008-10-01 11:03:46 UTC (rev 958)
+++ trunk/jbehave-ant/src/main/java/org/jbehave/ant/AbstractScenarioTask.java	2008-10-02 08:14:35 UTC (rev 959)
@@ -1,6 +1,7 @@
 package org.jbehave.ant;
 
 import static java.util.Arrays.asList;
+import static org.apache.tools.ant.Project.MSG_INFO;
 
 import java.net.MalformedURLException;
 import java.util.ArrayList;
@@ -94,7 +95,7 @@
         CommandlineJava commandLine = new CommandlineJava();
         Path path = commandLine.createClasspath(getProject()).createPath();
         List<String> classpathElements = asList(path.list());
-        log("Created classpath with elements "+classpathElements);
+        log("Created classpath with elements "+classpathElements, MSG_INFO);
         return classpathElements;
     }
 
@@ -112,7 +113,7 @@
             names = findScenarioClassNames();
         }
         if (names.isEmpty()) {
-            log("No scenarios to run.");
+            log("No scenarios to run.", MSG_INFO);
         }
         ScenarioClassLoader classLoader = null;
         try {

Modified: trunk/jbehave-ant/src/main/java/org/jbehave/ant/ScenarioRunnerTask.java (958 => 959)

--- trunk/jbehave-ant/src/main/java/org/jbehave/ant/ScenarioRunnerTask.java	2008-10-01 11:03:46 UTC (rev 958)
+++ trunk/jbehave-ant/src/main/java/org/jbehave/ant/ScenarioRunnerTask.java	2008-10-02 08:14:35 UTC (rev 959)
@@ -1,5 +1,8 @@
 package org.jbehave.ant;
 
+import static org.apache.tools.ant.Project.MSG_INFO;
+import static org.apache.tools.ant.Project.MSG_WARN;
+
 import org.apache.tools.ant.BuildException;
 import org.jbehave.scenario.RunnableScenario;
 
@@ -9,18 +12,43 @@
  * @author Mauro Talevi
  */
 public class ScenarioRunnerTask extends AbstractScenarioTask {
+    /**
+     * The boolean flag to skip running scenario
+     */
+    private boolean skip = false;
 
+    /**
+     * The boolean flag to ignoreFailure
+     */
+    private boolean ignoreFailure = false;
+
     public void execute() throws BuildException {
+        if (skip) {
+            log("Skipped running scenarios", MSG_INFO);
+            return;
+        }
         for (RunnableScenario scenario : scenarios()) {
             try {
                 log("Running scenario " + scenario.getClass().getName());
                 scenario.runScenario();
             } catch (Throwable e) {
-                throw new BuildException("Failed to run scenario " + scenario.getClass().getName(), e);
+                String message = "Failed to run scenario " + scenario.getClass().getName();
+                if (ignoreFailure) {
+                    log(message, e, MSG_WARN);
+                } else {
+                    throw new BuildException(message, e);
+                }
             }
         }
- 
     }
 
-        
+    // Setters
+    public void setSkip(boolean skip) {
+        this.skip = skip;
+    }
+
+    public void setIgnoreFailure(boolean ignoreFailure) {
+        this.ignoreFailure = ignoreFailure;
+    }
+
 }

Modified: trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java (958 => 959)

--- trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java	2008-10-01 11:03:46 UTC (rev 958)
+++ trunk/jbehave-maven-plugin/src/main/java/org/jbehave/mojo/ScenarioRunnerMojo.java	2008-10-02 08:14:35 UTC (rev 959)
@@ -12,13 +12,36 @@
  */
 public class ScenarioRunnerMojo extends AbstractScenarioMojo {
 
+    /**
+     * The boolean flag to skip running scenario
+     * 
+     * @parameter default-value="false"
+     */
+    private boolean skip;
+    
+    /**
+     * The boolean flag to ignoreFailure
+     * 
+     * @parameter default-value="false"
+     */
+    private boolean ignoreFailure;
+    
     public void execute() throws MojoExecutionException, MojoFailureException {
+        if ( skip ){
+            getLog().info("Skipped running scenarios");
+            return;
+        }
         for (RunnableScenario scenario : scenarios()) {
             try {
                 getLog().info("Running scenario " + scenario.getClass().getName());
                 scenario.runScenario();
             } catch (Throwable e) {
-                throw new MojoExecutionException("Failed to run scenario " + scenario.getClass().getName(), e);
+                String message = "Failed to run scenario " + scenario.getClass().getName();
+                if ( ignoreFailure ){
+                    getLog().warn(message, e);
+                } else {
+                    throw new MojoExecutionException(message, e);
+                }
             }
         }
     }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to