com.github.searls.jasmine.PreparePackageMojo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jasmine-maven-plugin Show documentation
Show all versions of jasmine-maven-plugin Show documentation
A JavaScript unit test plugin that processes JavaScript sources and Jasmine specs, prepares test runner HTML files, executes Jasmine specs headlessly with HtmlUnit, and produces JUnit XML reports
package com.github.searls.jasmine;
import java.io.File;
import java.io.IOException;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.codehaus.plexus.util.FileUtils;
/**
* @goal preparePackage
* @phase prepare-package
*/
public class PreparePackageMojo extends AbstractJasmineMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
File targetSrcDir = new File(jasmineTargetDir,srcDirectoryName);
if(targetSrcDir.exists()) {
getLog().info("Copying processed JavaScript sources into package");
try {
FileUtils.copyDirectoryStructure(targetSrcDir, new File(packageDir,packageJavaScriptPath));
} catch (IOException e) {
throw new MojoFailureException("Failed to copy processed JavaScript sources into package directory");
}
} else {
getLog().warn("Expected processed JavaScript source files in ${jasmineTargetDir}/${srcDirectoryName}, but directory wasn't found. " +
"This may result in JavaScript sources being excluded from the package. Skipping jasmine:preparePackage.");
}
}
}