package org.codehaus.mojo.buildhelper;
import java.io.File;
import org.apache.maven.model.Resource;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
public abstract class AbstractAddResourceMojo
extends AbstractMojo
{
/**
* Additional source directories.
*
* @parameter
* @required
*/
private Resource[] resources;
/**
* The maven project
*
* @parameter expression="${project}"
* @required
* @readonly
*/
private MavenProject project;
/**
* Main plugin execution
*/
public void execute()
throws MojoExecutionException
{
for ( int i = 0; i < resources.length; ++i )
{
// Check for relative paths in the resource configuration.
// http://maven.apache.org/plugin-developers/common-bugs.html#Resolving_Relative_Paths
File resourceDir = new File( resources[i].getDirectory() );
if ( ! resourceDir.isAbsolute() )
{
resourceDir = new File( project.getBasedir(), resources[i].getDirectory() );
resources[i].setDirectory( resourceDir.getAbsolutePath() );
}
addResource ( resources[i] );
}
}
/**
* Add the resource to the project.
*
* @param resource
*/
public abstract void addResource( Resource resource );
/**
* Get the current project instance.
*
* @return the project
*/
public MavenProject getProject()
{
return this.project;
}
}