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.
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 inapp-stories/pom.xml
will not find those output files and write thereports.html
to the incorrect directory, unless the Maven build is started in theapp-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 samepom.xml
will work correctly, because it uses a different (and correct) way of configuring the output directory.Suggestion:
Use the
project.build.outputDirectory
orproject.build.testOutputDirectory
properties to derive the story reporter builder code location from within the mojo.