Under the hood ScenarioClassNameFinder uses Ant's DirectoryScanner,
which can be customised to have certain categories excluded by default,
scm files or directories being one of them.
But one sure way to have lookup work is to specify a bit more the
include pattern to include the parent dir of the scenario classes,
e.g. **/scenarios/*Scenario.java (or whatever the parent dir is).
The problem is that **/*Scenario.java matches the svn files which
are used to provide the baseline for offline operations.
I've created http://jira.codehaus.org/browse/JBEHAVE-207 to track this.
Cheers
Joris wijlens wrote:
Hi,
Mauro thanks for the quick reply.
I don't see why **/*Scenario.java matches .svn/entries. I often use
this construction in ant / maven related situations and it never gives
me problems. Why is this a problem with Jbehave?
But of course I tried what you proposed (and I think I already tried it
before)
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>run-scenarios-found</id>
<phase>integration-test</phase>
<configuration>
<scenarioincludes>
<scenarioinclude>**/*Scenario.java</scenarioinclude>
</scenarioincludes>
<scenarioexcludes>
<scenarioexclude>**/.svn/*</scenarioexclude>
</scenarioexcludes>
<classloaderinjected>false</classloaderinjected>
</configuration>
<goals>
<goal>run-scenarios</goal>
</goals>
</execution>
</executions>
</plugin>
but i still get the same error.
2009/11/14 Mauro Talevi
<[email protected]
<mailto:[email protected]>>
Joris,
the problem is that the include pattern **/*Scenario.jar is picking
up the .svn entry as well. To workaround, either specify the
pattern further, e.g. **/scenarios/*Scenario.jar, or add exclude pattarn
**/.svn/*
It should perhaps be made the default behaviour to exclude SCM
directories.
Cheers
Joris wijlens wrote:
Hi,
I have the following pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
....
<build>
<plugins>
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>run-scenarios-found</id>
<phase>integration-test</phase>
<configuration>
<scenarioincludes>
<scenarioinclude>**/*Scenario.java</scenarioinclude>
</scenarioincludes>
<classloaderinjected>false</classloaderinjected>
<skip>false</skip>
</configuration>
<goals>
<goal>run-scenarios</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
....
<dependency>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-core</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
</project>
when i run mvn install i get the folowing exception
[INFO] Trace
org.jbehave.scenario.errors.InvalidScenarioClassPathException:
Invalid scenario
class path .svn\entries
at
org.jbehave.scenario.parser.ScenarioClassNameFinder.classNameFor(Scen
arioClassNameFinder.java:53)
at
org.jbehave.scenario.parser.ScenarioClassNameFinder.listScenarioClass
Names(ScenarioClassNameFinder.java:41)
at
org.jbehave.mojo.AbstractScenarioMojo.findScenarioClassNames(Abstract
ScenarioMojo.java:130)
at
org.jbehave.mojo.AbstractScenarioMojo.scenarios(AbstractScenarioMojo.
java:184)
at
org.jbehave.mojo.ScenarioRunnerMojo.execute(ScenarioRunnerMojo.java:2
0)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:451)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:558)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi
fecycle(DefaultLifecycleExecutor.java:499)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:478)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:330)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:291)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:142)
at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at
org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
It probably has something to do with my project being a
subversion working copy.
What do I have to do to fix it?
--
Thanks,
Joris Wijlens
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
Met vriendelijke groet,
Joris Wijlens
Tel. 06-28419140
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email