ExportFromFilesystemMojo.java
- package org.jbehave.core.io.rest.mojo;
- import org.apache.maven.plugin.MojoExecutionException;
- import org.apache.maven.plugins.annotations.Mojo;
- import org.apache.maven.plugins.annotations.Parameter;
- import org.jbehave.core.io.rest.ResourceExporter;
- import org.jbehave.core.io.rest.ResourceIndexer;
- import org.jbehave.core.io.rest.ResourceUploader;
- import org.jbehave.core.io.rest.filesystem.ExportFromFilesystem;
- /**
- * Mojo to export resources to REST root path from filesystem.
- */
- @Mojo(name = "export-from-filesystem", requiresProject = false)
- public class ExportFromFilesystemMojo extends AbstractFilesystemMojo {
- /**
- * The includes pattern of the resources
- */
- @Parameter(property = "jbehave.rest.resourcesIncludes", defaultValue = "**")
- String resourcesIncludes;
- /**
- * The syntax of the resources
- */
- @Parameter(property = "jbehave.rest.resourcesSyntax", defaultValue = "")
- String resourcesSyntax;
- @Override
- public void execute() throws MojoExecutionException {
- try {
- getLog().info(
- "Exporting from filesystem resources to REST root URI "
- + restRootURI);
- ResourceExporter exporter = createExporter();
- exporter.exportResources(restRootURI);
- } catch (Exception e) {
- String message = "Failed to export from filesystem resources to REST root URI "
- + restRootURI;
- getLog().warn(message);
- throw new MojoExecutionException(message, e);
- }
- }
- private ResourceExporter createExporter() {
- ResourceIndexer indexer = newResourceIndexer();
- ResourceUploader uploader = newResourceUploader();
- getLog().info(
- "Creating exporter from filesystem using REST provider "
- + restProvider + " with resourcesPath " + resourcesPath
- + ", resourcesExt " + resourcesExt + ", resourcesSyntax "
- + resourcesSyntax + " and resourcesIncludes "
- + resourcesIncludes);
- return new ExportFromFilesystem(indexer, uploader, resourcesPath,
- resourcesExt, resourcesSyntax, resourcesIncludes);
- }
- }