package org.spiffyui.maven.plugins;
import java.io.File;
import java.util.Properties;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
import org.apache.tools.ant.BuildException;
import org.spiffyui.build.RevisionInfoBean;
import org.spiffyui.build.RevisionInfoUtil;
/**
* Determines various revision details about the build
*
* @goal rev-info
* @phase initialize
*/
public class RevisionInfoMojo extends AbstractMojo
{
/**
* The maven project.
*
* @parameter expression="${project}"
* @required
* @readonly
*/
private MavenProject project;
/**
* The maven project.
*
* @parameter expression="${basedir}"
* @required
* @readonly
*/
private File basedir;
@Override
public void execute()
throws MojoExecutionException,
MojoFailureException
{
Properties p = project.getProperties();
try {
RevisionInfoBean revInfo = RevisionInfoUtil.getRevisionInfo(basedir);
getLog().debug("revInfo.getRevNumber(): " + revInfo.getRevNumber());
p.setProperty("revision.number", revInfo.getRevNumber());
p.setProperty("revision.date", revInfo.getRevDate());
} catch (InterruptedException ie) {
throw new BuildException(ie);
}
}
}