aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-07-09 18:36:52 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-07-09 18:36:52 +0200
commit4d5d1f5be3d1ace0199d39a086165e1086600a26 (patch)
treef44cfe310ddf3cd277fce68fbec36e90fdb255c8 /sonar-plugin-api
parent6a7de91d1fb7b3197da780079607a2489064d67b (diff)
downloadsonarqube-4d5d1f5be3d1ace0199d39a086165e1086600a26.tar.gz
sonarqube-4d5d1f5be3d1ace0199d39a086165e1086600a26.zip
SONAR-5388 Introduce the SQALE Rating metric in SonarQube Core
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java45
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java33
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/resources/CoreMetricsTest.java2
3 files changed, 79 insertions, 1 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java
index 81765da230e..ef86086c8be 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java
@@ -567,4 +567,49 @@ public interface CoreProperties {
* @since 4.0
*/
String HOURS_IN_DAY = "sonar.technicalDebt.hoursInDay";
+
+ /**
+ * @since 4.5
+ */
+ String SIZE_METRIC = "sonar.technicalDebt.sizeMetric";
+
+ /**
+ * @since 4.5
+ */
+ String MAN_DAYS_BY_SIZE_POINT = "sonar.technicalDebt.workUnitsBySizePoint";
+
+ /**
+ * @since 4.5
+ */
+ String MAN_DAYS_BY_SIZE_POINT_DEF_VALUE = "30";
+
+ /**
+ * @since 4.5
+ */
+ String RATING_GRID = "sonar.technicalDebt.ratingGrid";
+
+ /**
+ * @since 4.5
+ */
+ String RATING_GRID_DEF_VALUES = "0.1,0.2,0.5,1";
+
+ /**
+ * @since 4.5
+ */
+ String LANGUAGE_SPECIFIC_PARAMETERS = "languageSpecificParameters";
+
+ /**
+ * @since 4.5
+ */
+ String LANGUAGE_SPECIFIC_PARAMETERS_LANGUAGE_KEY = "language";
+
+ /**
+ * @since 4.5
+ */
+ String LANGUAGE_SPECIFIC_PARAMETERS_MAN_DAYS_KEY = "man_days";
+
+ /**
+ * @since 4.5
+ */
+ String LANGUAGE_SPECIFIC_PARAMETERS_SIZE_METRIC_KEY = "size_metric";
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java
index 5051dd5e2e1..c0d57a89728 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/CoreMetrics.java
@@ -2122,6 +2122,39 @@ public final class CoreMetrics {
.setDeleteHistoricalData(true)
.create();
+ /**
+ * @since 4.5
+ */
+ public static final String SQALE_RATING_KEY = "sqale_rating";
+
+ /**
+ * @since 4.5
+ */
+ public static final Metric<String> RATING = new Metric.Builder(SQALE_RATING_KEY, "SQALE Rating", Metric.ValueType.RATING)
+ .setDomain(DOMAIN_TECHNICAL_DEBT)
+ .setDirection(Metric.DIRECTION_WORST)
+ .setQualitative(true)
+ .setBestValue(1.0)
+ .setWorstValue(5.0)
+ .create();
+
+ /**
+ * @since 4.5
+ */
+ public static final String DEVELOPMENT_COST_KEY = "development_cost";
+
+ /**
+ * @since 4.5
+ */
+ public static final Metric<String> DEVELOPMENT_COST = new Metric.Builder(DEVELOPMENT_COST_KEY, "SQALE Development Cost", Metric.ValueType.STRING)
+ .setDomain(DOMAIN_TECHNICAL_DEBT)
+ .setDirection(Metric.DIRECTION_WORST)
+ .setOptimizedBestValue(true)
+ .setBestValue(0.0)
+ .setQualitative(true)
+ .setHidden(true)
+ .create();
+
// --------------------------------------------------------------------------------------------------------------------
//
// FILE DATA
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/resources/CoreMetricsTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/resources/CoreMetricsTest.java
index 1db080ea3c3..086005be0f8 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/resources/CoreMetricsTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/resources/CoreMetricsTest.java
@@ -32,7 +32,7 @@ public class CoreMetricsTest {
@Test
public void read_metrics_from_class_reflection() {
List<Metric> metrics = CoreMetrics.getMetrics();
- assertThat(metrics).hasSize(150);
+ assertThat(metrics).hasSize(152);
assertThat(metrics).contains(CoreMetrics.NCLOC, CoreMetrics.DIRECTORIES);
}