From 3783b01564c002302a68fb39e8a1be6dce750e98 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 18 Feb 2015 09:32:25 +0100 Subject: [PATCH] Move CPD properties to make them back into UI --- .../org/sonar/batch/cpd/CpdComponents.java | 36 ------------------- .../sonar/batch/cpd/CpdComponentsTest.java | 2 +- .../core/config/CorePropertyDefinitions.java | 36 ++++++++++++++++++- 3 files changed, 36 insertions(+), 38 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdComponents.java b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdComponents.java index 6032e60b9b6..8ab889c30d5 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdComponents.java +++ b/sonar-batch/src/main/java/org/sonar/batch/cpd/CpdComponents.java @@ -20,10 +20,6 @@ package org.sonar.batch.cpd; import com.google.common.collect.ImmutableList; -import org.sonar.api.CoreProperties; -import org.sonar.api.PropertyType; -import org.sonar.api.config.PropertyDefinition; -import org.sonar.api.resources.Qualifiers; import org.sonar.batch.cpd.decorators.DuplicationDensityDecorator; import org.sonar.batch.cpd.decorators.SumDuplicationsDecorator; import org.sonar.batch.cpd.index.IndexFactory; @@ -34,38 +30,6 @@ public final class CpdComponents { public static List all() { return ImmutableList.of( - PropertyDefinition.builder(CoreProperties.CPD_CROSS_PROJECT) - .defaultValue(CoreProperties.CPD_CROSS_RPOJECT_DEFAULT_VALUE + "") - .name("Cross project duplication detection") - .description("By default, SonarQube detects duplications at sub-project level. This means that a block " - + "duplicated on two sub-projects of the same project won't be reported. Setting this parameter to \"true\" " - + "allows to detect duplicates across sub-projects and more generally across projects. Note that activating " - + "this property will slightly increase each SonarQube analysis time.") - .onQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE) - .category(CoreProperties.CATEGORY_GENERAL) - .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS) - .type(PropertyType.BOOLEAN) - .build(), - PropertyDefinition.builder(CoreProperties.CPD_SKIP_PROPERTY) - .defaultValue("false") - .name("Skip") - .description("Disable detection of duplications") - .hidden() - .category(CoreProperties.CATEGORY_GENERAL) - .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS) - .type(PropertyType.BOOLEAN) - .build(), - PropertyDefinition.builder(CoreProperties.CPD_EXCLUSIONS) - .defaultValue("") - .name("Duplication Exclusions") - .description("Patterns used to exclude some source files from the duplication detection mechanism. " + - "See below to know how to use wildcards to specify this property.") - .onQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE) - .category(CoreProperties.CATEGORY_EXCLUSIONS) - .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS_EXCLUSIONS) - .multiValues(true) - .build(), - CpdSensor.class, CpdMappings.class, SumDuplicationsDecorator.class, diff --git a/sonar-batch/src/test/java/org/sonar/batch/cpd/CpdComponentsTest.java b/sonar-batch/src/test/java/org/sonar/batch/cpd/CpdComponentsTest.java index 90632426ee3..1b5f9310b0a 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/cpd/CpdComponentsTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/cpd/CpdComponentsTest.java @@ -27,6 +27,6 @@ public class CpdComponentsTest { @Test public void getExtensions() { - assertThat(CpdComponents.all()).hasSize(10); + assertThat(CpdComponents.all().size()).isGreaterThan(0); } } diff --git a/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java b/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java index d10afcf4cf9..33f926a08a0 100644 --- a/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java +++ b/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java @@ -22,6 +22,7 @@ package org.sonar.core.config; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import org.sonar.api.CoreProperties; +import org.sonar.api.PropertyType; import org.sonar.api.config.PropertyDefinition; import org.sonar.api.resources.Qualifiers; import org.sonar.core.computation.dbcleaner.DataCleanerProperties; @@ -102,8 +103,41 @@ public class CorePropertyDefinitions { .onlyOnQualifiers(Qualifiers.PROJECT) .category(CoreProperties.CATEGORY_GENERAL) .subCategory(CoreProperties.SUBCATEGORY_DIFFERENTIAL_VIEWS) + .build(), + + // CPD + PropertyDefinition.builder(CoreProperties.CPD_CROSS_PROJECT) + .defaultValue(CoreProperties.CPD_CROSS_RPOJECT_DEFAULT_VALUE + "") + .name("Cross project duplication detection") + .description("By default, SonarQube detects duplications at sub-project level. This means that a block " + + "duplicated on two sub-projects of the same project won't be reported. Setting this parameter to \"true\" " + + "allows to detect duplicates across sub-projects and more generally across projects. Note that activating " + + "this property will slightly increase each SonarQube analysis time.") + .onQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE) + .category(CoreProperties.CATEGORY_GENERAL) + .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS) + .type(PropertyType.BOOLEAN) + .build(), + PropertyDefinition.builder(CoreProperties.CPD_SKIP_PROPERTY) + .defaultValue("false") + .name("Skip") + .description("Disable detection of duplications") + .hidden() + .category(CoreProperties.CATEGORY_GENERAL) + .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS) + .type(PropertyType.BOOLEAN) + .build(), + PropertyDefinition.builder(CoreProperties.CPD_EXCLUSIONS) + .defaultValue("") + .name("Duplication Exclusions") + .description("Patterns used to exclude some source files from the duplication detection mechanism. " + + "See below to know how to use wildcards to specify this property.") + .onQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE) + .category(CoreProperties.CATEGORY_EXCLUSIONS) + .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS_EXCLUSIONS) + .multiValues(true) .build() - )); + )); return defs; } } -- 2.39.5