aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine
diff options
context:
space:
mode:
authorBenoƮt Gianinetti <benoit.gianinetti@sonarsource.com>2019-01-14 10:14:29 +0100
committerSonarTech <sonartech@sonarsource.com>2019-01-22 20:21:01 +0100
commit93ae9e4354431a59c44a26350b70691cb9a6de3d (patch)
tree9a1a852f3672d73494dc5f986e86ef14afbe951f /sonar-scanner-engine
parentd666593ada6756a990e7b50b35e765f45e684703 (diff)
downloadsonarqube-93ae9e4354431a59c44a26350b70691cb9a6de3d.tar.gz
sonarqube-93ae9e4354431a59c44a26350b70691cb9a6de3d.zip
SONAR-11621 Add sonar.scm.exclusions.disabled property
Diffstat (limited to 'sonar-scanner-engine')
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/scm/ScmConfiguration.java8
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/scm/ScmConfigurationTest.java31
2 files changed, 39 insertions, 0 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scm/ScmConfiguration.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scm/ScmConfiguration.java
index 05737631ae2..e00a06c7da5 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/scm/ScmConfiguration.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/scm/ScmConfiguration.java
@@ -59,6 +59,7 @@ public class ScmConfiguration implements Startable {
public static final String FORCE_RELOAD_KEY = "sonar.scm.forceReloadAll";
static final String MESSAGE_SCM_STEP_IS_DISABLED_BY_CONFIGURATION = "SCM Step is disabled by configuration";
+ static final String MESSAGE_SCM_EXLUSIONS_IS_DISABLED_BY_CONFIGURATION = "Exclusions based on SCM info is disabled by configuration";
private final Configuration settings;
private final AnalysisWarnings analysisWarnings;
@@ -105,6 +106,9 @@ public class ScmConfiguration implements Startable {
analysisWarnings.addUnique(message);
}
}
+ if (isExclusionDisabled()) {
+ LOG.info(MESSAGE_SCM_EXLUSIONS_IS_DISABLED_BY_CONFIGURATION);
+ }
}
private void setProviderIfSupported(String forcedProviderKey) {
@@ -150,6 +154,10 @@ public class ScmConfiguration implements Startable {
return settings.getBoolean(CoreProperties.SCM_DISABLED_KEY).orElse(false);
}
+ public boolean isExclusionDisabled() {
+ return isDisabled() || settings.getBoolean(CoreProperties.SCM_EXCLUSIONS_DISABLED_KEY).orElse(false);
+ }
+
public boolean forceReloadAll() {
return settings.getBoolean(FORCE_RELOAD_KEY).orElse(false);
}
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scm/ScmConfigurationTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scm/ScmConfigurationTest.java
index 34809883d2c..efa705bf0f1 100644
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/scm/ScmConfigurationTest.java
+++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/scm/ScmConfigurationTest.java
@@ -48,6 +48,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.withSettings;
+import static org.sonar.scanner.scm.ScmConfiguration.MESSAGE_SCM_EXLUSIONS_IS_DISABLED_BY_CONFIGURATION;
import static org.sonar.scanner.scm.ScmConfiguration.MESSAGE_SCM_STEP_IS_DISABLED_BY_CONFIGURATION;
@RunWith(DataProviderRunner.class)
@@ -104,6 +105,36 @@ public class ScmConfigurationTest {
}
@Test
+ public void log_when_exclusion_is_disabled() {
+ when(settings.getBoolean(CoreProperties.SCM_EXCLUSIONS_DISABLED_KEY)).thenReturn(Optional.of(true));
+
+ underTest.start();
+
+ assertThat(logTester.logs()).contains(MESSAGE_SCM_EXLUSIONS_IS_DISABLED_BY_CONFIGURATION);
+ }
+
+ @Test
+ @UseDataProvider("scmDisabledProperty")
+ public void exclusion_is_disabled_by_property(boolean scmDisabled, boolean scmExclusionsDisabled, boolean isScmExclusionDisabled) {
+ when(settings.getBoolean(CoreProperties.SCM_DISABLED_KEY)).thenReturn(Optional.of(scmDisabled));
+ when(settings.getBoolean(CoreProperties.SCM_EXCLUSIONS_DISABLED_KEY)).thenReturn(Optional.of(scmExclusionsDisabled));
+
+ underTest.start();
+
+ assertThat(underTest.isExclusionDisabled()).isEqualTo(isScmExclusionDisabled);
+ }
+
+ @DataProvider
+ public static Object[][] scmDisabledProperty() {
+ return new Object[][] {
+ {true, true, true},
+ {true, false, true},
+ {false, true, true},
+ {false, false, false}
+ };
+ }
+
+ @Test
public void return_early_from_start_in_issues_mode() {
// return early = doesn't reach the logging when disabled
when(settings.getBoolean(CoreProperties.SCM_DISABLED_KEY)).thenReturn(Optional.of(true));