Title: [798] trunk: [EK] Fixed the build file so that it will find and run all behaviours, rather than relying on AllBehaviours suites.
Revision
798
Author
sirenian
Date
2007-09-09 11:29:47 -0500 (Sun, 09 Sep 2007)

Log Message

[EK] Fixed the build file so that it will find and run all behaviours, rather than relying on AllBehaviours suites.

Modified Paths

Diff

Modified: trunk/build.xml (797 => 798)

--- trunk/build.xml	2007-09-07 09:19:24 UTC (rev 797)
+++ trunk/build.xml	2007-09-09 16:29:47 UTC (rev 798)
@@ -104,14 +104,25 @@
 	</target>
 	
 	<target name="verify-behaviour" depends="compile-behaviour" description="Verify behaviour">
+		<taskdef name="runbehaviours" classname="${behaviour.runner.task}" classpath="${jbehave_jar}" />
+		<!-- Verify the Ant task behaviour -->
 		<java taskname="run behaviours" classname="org.jbehave.core.Run" fork="true" failonerror="true" clonevm="true">
-			<arg value="org.jbehave.AllBehaviours" />
+			<arg value="org.jbehave.ant.BehaviourRunnerTaskBehaviour" />
 			<classpath>
+				<pathelement path="${jbehave_jar}" />
 				<pathelement path="${behaviour_classes_dir}" />
+				<path refid="libs" />
+			</classpath>
+		</java>
+		<!-- Now we know the Ant task is working, we can use it to verify everything else -->
+		<runbehaviours clonevm="true">
+			<classpath>
 				<pathelement path="${jbehave_jar}" />
+				<pathelement path="${behaviour_classes_dir}" />
 				<path refid="libs" />
 			</classpath>
-		</java>
+			<behaviours dir="${behaviour_classes_dir}" includes="**/*Behaviour.class" />
+		</runbehaviours>
 	</target>
 
 	<!-- create website -->

Modified: trunk/core/src/java/org/jbehave/core/BehaviourRunner.java (797 => 798)

--- trunk/core/src/java/org/jbehave/core/BehaviourRunner.java	2007-09-07 09:19:24 UTC (rev 797)
+++ trunk/core/src/java/org/jbehave/core/BehaviourRunner.java	2007-09-09 16:29:47 UTC (rev 798)
@@ -87,8 +87,7 @@
             }
             System.exit(runner.succeeded() ? 0 : 1);
         } catch (ClassNotFoundException e) {
-            e.printStackTrace();
-            System.exit(1);
+            throw new RuntimeException(e);
         }
     }
 

Modified: trunk/extensions/ant/src/java/org/jbehave/ant/TrimFilesetParser.java (797 => 798)

--- trunk/extensions/ant/src/java/org/jbehave/ant/TrimFilesetParser.java	2007-09-07 09:19:24 UTC (rev 797)
+++ trunk/extensions/ant/src/java/org/jbehave/ant/TrimFilesetParser.java	2007-09-09 16:29:47 UTC (rev 798)
@@ -24,18 +24,19 @@
                     base.getAbsolutePath().length() + 1).replace('\\', '/')
                     .replace('/', '.');
 
-            int classnameIndex = classname.indexOf(".class");
-            if (classnameIndex != -1) {
-                classname = classname.substring(0, classnameIndex);
-            }
-
-            classnameIndex = classname.indexOf(".java");
-            if (classnameIndex != -1) {
-                classname = classname.substring(0, classnameIndex);
-            }
+            classname = stripJavaOrClassFromEndOfFile(classname);
             classnames.add(classname);
         }
         return (String[]) classnames.toArray(new String[classnames.size()]);
     }
 
+	private String stripJavaOrClassFromEndOfFile(String classname) {
+		if (classname.length() > 6 && classname.substring(classname.length() - 6, classname.length()).equals(".class")) {
+		    classname = classname.substring(0, classname.length() - 6);
+		} else if (classname.length() > 5 && classname.substring(classname.length() - 5, classname.length()).equals(".java")) {
+		    classname = classname.substring(0, classname.length() -5);
+		}
+		return classname;
+	}
+
 }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to