package org.objectstyle.woproject.maven2.wolifecycle;
//org.apache.maven.plugins:maven-compiler-plugin:compile
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProjectHelper;
public abstract class AbstractPackageMojo extends AbstractWOMojo {
/**
* @component
*/
private MavenProjectHelper projectHelper;
public AbstractPackageMojo() {
super();
}
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().info("Starting to package WebObject project...");
File artifactFile = getArtifactFile();
BufferedWriter artifactWriter = null;
getLog().debug("Writing artifact to " + artifactFile.getAbsolutePath());
try {
artifactWriter = new BufferedWriter(new FileWriter(artifactFile));
artifactWriter.write("This is an empty file created beacuse of the Maven extension mechanism.\n");
} catch (IOException ioe) {
new MojoExecutionException("Could not package the WebObjects project. Error writing" + artifactFile.getAbsolutePath(), ioe);
} finally {
IOUtils.closeQuietly(artifactWriter);
}
if (artifactFile == null) {
return;
}
getLog().debug("Defining artifact filename as " + artifactFile.getName());
getProject().getArtifact().setFile(artifactFile);
}
protected File getArtifactFile() {
return new File(getBuildDirectory(), getFinalName() + getClassifierAsString() + "." + getProductExtension());
}
public MavenProjectHelper getProjectHelper() {
return projectHelper;
}
public void setProjectHelper(final MavenProjectHelper projectHelper) {
this.projectHelper = projectHelper;
}
}