*/
package org.sonar.plugins.cobertura;
-import org.apache.commons.lang.StringUtils;
import org.sonar.api.batch.maven.MavenPlugin;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.batch.maven.MavenSurefireUtils;
public class CoberturaMavenPluginHandler implements MavenPluginHandler {
- private CoberturaSettings settings;
+ private final CoberturaSettings settings;
public CoberturaMavenPluginHandler(CoberturaSettings settings) {
this.settings = settings;
}
public String[] getGoals() {
- return new String[] { "cobertura" };
+ return new String[] {"cobertura"};
}
public void configure(Project project, MavenPlugin coberturaPlugin) {
- configureCobertura(project, coberturaPlugin);
+ configureCobertura(coberturaPlugin);
MavenSurefireUtils.configure(project);
}
- private void configureCobertura(Project project, MavenPlugin coberturaPlugin) {
+ private void configureCobertura(MavenPlugin coberturaPlugin) {
coberturaPlugin.setParameter("formats/format", "xml");
- for (String pattern : project.getExclusionPatterns()) {
- if (pattern.endsWith(".java")) {
- pattern = StringUtils.substringBeforeLast(pattern, ".") + ".class";
-
- } else if (StringUtils.substringAfterLast(pattern, "/").indexOf(".") < 0) {
- pattern = pattern + ".class";
- }
- coberturaPlugin.addParameter("instrumentation/excludes/exclude", pattern);
- }
coberturaPlugin.setParameter("maxmem", settings.getMaxMemory());
}
}
public void should_enable_xml_format() {
Project project = mock(Project.class);
when(project.getPom()).thenReturn(new MavenProject());
- when(project.getExclusionPatterns()).thenReturn(new String[0]);
MavenPlugin coberturaPlugin = new MavenPlugin(CoberturaUtils.COBERTURA_GROUP_ID, CoberturaUtils.COBERTURA_ARTIFACT_ID, null);
handler.configure(project, coberturaPlugin);
assertThat(coberturaPlugin.getParameter("formats/format")).isEqualTo("xml");
}
- @Test
- public void should_set_cobertura_exclusions() {
- Project project = mock(Project.class);
- when(project.getPom()).thenReturn(new MavenProject());
- when(project.getExclusionPatterns()).thenReturn(new String[]{"**/Foo.java", "com/*Test.*", "com/*"});
-
- MavenPlugin coberturaPlugin = new MavenPlugin(CoberturaUtils.COBERTURA_GROUP_ID, CoberturaUtils.COBERTURA_ARTIFACT_ID, null);
- handler.configure(project, coberturaPlugin);
-
- assertThat(coberturaPlugin.getParameters("instrumentation/excludes/exclude")).isEqualTo(new String[]{
- "**/Foo.class", "com/*Test.*", "com/*.class"
- });
- }
-
@Test
public void should_set_max_memory() {
when(settings.getMaxMemory()).thenReturn("128m");