ReportStepdocsAsEmbeddables.java

  1. package org.jbehave.mojo;

  2. import org.apache.maven.plugin.MojoFailureException;
  3. import org.apache.maven.plugins.annotations.Mojo;
  4. import org.apache.maven.plugins.annotations.ResolutionScope;
  5. import org.jbehave.core.Embeddable;
  6. import org.jbehave.core.configuration.Configuration;
  7. import org.jbehave.core.embedder.Embedder;
  8. import org.jbehave.core.steps.CandidateSteps;

  9. /**
  10.  * Mojo to report stepdocs for the {@link Embeddable} instances provided (more
  11.  * specifically instances of {@link ConfiguredEmbedder} which provides both
  12.  * {@link Configuration} and {@link CandidateSteps}).
  13.  */
  14. @Mojo(name = "report-stepdocs-as-embeddables", requiresDependencyResolution = ResolutionScope.TEST)
  15. public class ReportStepdocsAsEmbeddables extends AbstractEmbedderMojo {

  16.     @Override
  17.     public void execute() throws MojoFailureException {
  18.         Embedder embedder = newEmbedder();
  19.         getLog().info("Reporting stepdocs as embeddables using embedder " + embedder);
  20.         try {
  21.             embedder.reportStepdocsAsEmbeddables(classNames());
  22.         } catch (RuntimeException e) {
  23.             throw new MojoFailureException("Failed to report stepdocs as embeddables", e);
  24.         }
  25.     }

  26. }