]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8281 Change coverage API to accept unlimited reports/deprecate coverage type
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 12 Oct 2016 14:11:42 +0000 (16:11 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Tue, 18 Oct 2016 14:00:26 +0000 (16:00 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/coverage/CoverageType.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/coverage/NewCoverage.java

index 6597c3bcc01e61a76599010620031d9fe6307a94..019624c0dbb293a1592678ae7d21db11bb7ddbfd 100644 (file)
@@ -48,7 +48,10 @@ import static org.sonar.api.measures.CoreMetrics.UNCOVERED_LINES;
 /**
  * Different coverage categories.
  * @since 5.2
+ *
+ * @deprecated since 6.2 SonarQube merge all coverage reports and don't keep track of different test category
  */
+@Deprecated
 public enum CoverageType {
 
   UNIT(LINES_TO_COVER, UNCOVERED_LINES, COVERAGE_LINE_HITS_DATA, CONDITIONS_TO_COVER, UNCOVERED_CONDITIONS, COVERED_CONDITIONS_BY_LINE, CONDITIONS_BY_LINE),
index 63877cbe34dd32725e3ec4f3f48c6f9675c8df2a..81dce497138aa371e215cfc8b0b3cbfef9685403 100644 (file)
@@ -22,13 +22,12 @@ package org.sonar.api.batch.sensor.coverage;
 import org.sonar.api.batch.fs.InputFile;
 
 /**
- * This builder is used to define code coverage by tests of a given type (UT/IT/Overall) on files.
+ * This class is used to report code coverage on files.
  * 
  * Example:
  * 
  * <pre>
  *   sensorContext.newCoverage().onFile(file)
-       .ofType(UNIT)
        .lineHits(1, 2)
        .lineHits(2, 5)
        .lineHits(3, 0)
@@ -39,6 +38,13 @@ import org.sonar.api.batch.fs.InputFile;
        .save();
  *     
  * </pre>
+ * 
+ * Since 6.2 you can save several reports for the same file and reports will be merged using the following "additive" strategy:
+ * <ul>
+ *   <li>Line hits are cumulated</li>
+ *   <li>We keep the max for condition coverage. Examples: 2/4 + 2/4 = 2/4, 2/4 + 3/4 = 3/4</li>
+ * </ul>
+ * 
  * @since 5.2
  */
 public interface NewCoverage {
@@ -48,6 +54,10 @@ public interface NewCoverage {
    */
   NewCoverage onFile(InputFile inputFile);
 
+  /**
+   * @deprecated since 6.2 SonarQube merge all coverage reports and don't keep track of different test category
+   */
+  @Deprecated
   NewCoverage ofType(CoverageType type);
 
   /**
@@ -66,7 +76,7 @@ public interface NewCoverage {
   NewCoverage conditions(int line, int conditions, int coveredConditions);
 
   /**
-   * Call this method only once when your are done with defining coverage of the file.
+   * Call this method to save the coverage report for the given file. Data will be merged with existing coverage information.
    */
   void save();
 }