package org.codehaus.sonar.cql.maven;
import org.apache.maven.model.PluginExecution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
public class XdependMavenPluginHandler implements MavenPluginHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(XdependMavenPluginHandler.class);
public static final String XDEPEND_GROUP_ID = "com.octo.xdepend";
public static final String XDEPEND_ARTIFACT_ID = "xdepend-maven-plugin";
public static final String XDEPEND_VERSION = "1.0.1";
public XdependMavenPluginHandler(){
LOGGER.info("creating the XdependMavenPluginHandler");
}
public String getGroupId() {
return XDEPEND_GROUP_ID;
}
public String getArtifactId() {
return XDEPEND_ARTIFACT_ID;
}
public String getVersion() {
return XDEPEND_VERSION;
}
public boolean isFixedVersion() {
return true;
}
public String[] getGoals() {
return new String[]{"xdepend"};
}
public void configure(Project project, MavenPlugin plugin) {
LOGGER.info("about to configure the maven xdepend plugin for the project [{}] and maven plugin [{}]",project,plugin);
plugin.setParameter("outputDir", project.getFileSystem().getBuildDir().getAbsolutePath());
PluginExecution pluginExecution = new PluginExecution();
pluginExecution.addGoal("xdepend");
pluginExecution.setPhase("post-integration-test");
plugin.getPlugin().addExecution(pluginExecution );
}
}