diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-13 15:04:41 +0200 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2013-09-13 15:08:55 +0200 |
commit | 3af09034934f3f7b3611fdfed6dd217c73c033e9 (patch) | |
tree | 3a5512cfee6c317cc35efd685b43e6a7191dbe32 /sonar-batch | |
parent | c12be67f1851bc099e6343845d432f7543d0c632 (diff) | |
download | sonarqube-3af09034934f3f7b3611fdfed6dd217c73c033e9.tar.gz sonarqube-3af09034934f3f7b3611fdfed6dd217c73c033e9.zip |
SONAR-766 Add exclusions for coverage
Introduce new API to filter measures before they are saved to context
Implement a measure filter for code coverage measures
Add configuration property for coverage exclusions
Diffstat (limited to 'sonar-batch')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java | 14 | ||||
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java | 3 |
2 files changed, 14 insertions, 3 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java b/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java index 57c75b2551f..bc3c0424451 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java +++ b/sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java @@ -19,6 +19,8 @@ */ package org.sonar.batch; +import org.sonar.core.measure.MeasurementFilters; + import org.sonar.api.batch.Event; import org.sonar.api.batch.SensorContext; import org.sonar.api.batch.SonarIndex; @@ -40,10 +42,12 @@ public class DefaultSensorContext implements SensorContext { private SonarIndex index; private Project project; + private MeasurementFilters filters; - public DefaultSensorContext(SonarIndex index, Project project) { + public DefaultSensorContext(SonarIndex index, Project project, MeasurementFilters filters) { this.index = index; this.project = project; + this.filters = filters; } public Project getProject() { @@ -115,11 +119,15 @@ public class DefaultSensorContext implements SensorContext { } public Measure saveMeasure(Resource resource, Metric metric, Double value) { - return index.addMeasure(resourceOrProject(resource), new Measure(metric, value)); + return saveMeasure(resource, new Measure(metric, value)); } public Measure saveMeasure(Resource resource, Measure measure) { - return index.addMeasure(resourceOrProject(resource), measure); + if(filters.accept(resource, measure)) { + return index.addMeasure(resourceOrProject(resource), measure); + } else { + return measure; + } } public void saveViolation(Violation violation, boolean force) { diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java index 23a087ce155..0075238fd4e 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/ModuleScanContainer.java @@ -19,6 +19,8 @@ */ package org.sonar.batch.scan; +import org.sonar.core.measure.MeasurementFilters; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.api.BatchExtension; @@ -104,6 +106,7 @@ public class ModuleScanContainer extends ComponentContainer { DefaultTimeMachine.class, ViolationFilters.class, IssueFilters.class, + MeasurementFilters.class, ResourceFilters.class, DeprecatedJsonReport.class, JsonReport.class, |