diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-07-09 18:36:52 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-07-09 18:36:52 +0200 |
commit | 4d5d1f5be3d1ace0199d39a086165e1086600a26 (patch) | |
tree | f44cfe310ddf3cd277fce68fbec36e90fdb255c8 /sonar-plugin-api | |
parent | 6a7de91d1fb7b3197da780079607a2489064d67b (diff) | |
download | sonarqube-4d5d1f5be3d1ace0199d39a086165e1086600a26.tar.gz sonarqube-4d5d1f5be3d1ace0199d39a086165e1086600a26.zip |
SONAR-5388 Introduce the SQALE Rating metric in SonarQube Core
Diffstat (limited to 'sonar-plugin-api')
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); } |