/*
* Sonar Clirr Plugin
* Copyright (C) 2009 SonarSource
* dev@sonar.codehaus.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
/*
* Sonar is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* Sonar is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
package org.sonar.plugins.clirr;
import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.batch.maven.MavenUtils;
import org.sonar.api.resources.Project;
public final class ClirrMavenPluginHandler implements MavenPluginHandler {
private ClirrConfiguration configuration;
public ClirrMavenPluginHandler(ClirrConfiguration configuration) {
this.configuration = configuration;
}
public String getArtifactId() {
return "clirr-maven-plugin";
}
public String[] getGoals() {
return new String[]{"clirr"};
}
public String getGroupId() {
return MavenUtils.GROUP_ID_CODEHAUS_MOJO;
}
public boolean isFixedVersion() {
return false;
}
public String getVersion() {
return "2.2.2";
}
public void configure(Project project, MavenPlugin plugin) {
if (configuration.hasComparisonVersion()) {
plugin.setParameter("comparisonVersion", configuration.getComparisonVersion());
}
plugin.setParameter("textOutputFile", project.getFileSystem().getSonarWorkingDirectory() + "/" + ClirrConstants.RESULT_TXT);
String[] wildcardPatterns = project.getExclusionPatterns();
for (String excludePattern : wildcardPatterns) {
plugin.addParameter("excludes/exclude", excludePattern);
}
}
}