StoryReporterBuilder code location should be settable from the output directory by Ant tasks and Maven goals

Description

The Maven plug-in does not configure a code location on the embedder's storyReportBuilder, therefore the story reporter will attempt to find story stats files in a directory relative to the current directory, and write the reports relative to the current directory as well.

Example project structure:

If the app-stories project uses the JUnit integration to run stories, its output files will correctly be written to /app-stories/target/jbehave.
A generate-stories-view mojo configured in app-stories/pom.xml will not find those output files and write the reports.html to the incorrect directory, unless the Maven build is started in the app-stories module directory.

For instance, in the root directory:

would search for story output files in /target/jbehave, not find anything, and write an empty reports.html to /target/jbehave/views.

Note that the unpack-view-resources mojo in the same pom.xml will work correctly, because it uses a different (and correct) way of configuring the output directory.

Suggestion:
Use the project.build.outputDirectory or project.build.testOutputDirectory properties to derive the story reporter builder code location from within the mojo.

Activity

Show:
Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created August 23, 2011 at 7:05 PM
Updated September 11, 2011 at 8:49 AM
Resolved August 26, 2011 at 8:19 AM