@@ -223,6 +223,16 @@ public class JavaTest extends ScannerTestCase { | |||
orchestrator.executeBuild(build); | |||
} | |||
@Test | |||
public void should_skip_analysis() { | |||
SonarScanner build = newScanner(new File("projects/java-sample")) | |||
.setProperty("sonar.host.url", "http://foo") | |||
.setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{ \"sonar.scanner.skip\":\"true\" }"); | |||
BuildResult result = orchestrator.executeBuild(build); | |||
assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped"); | |||
} | |||
@Test | |||
public void should_fail_if_unable_to_connect() { | |||
SonarScanner build = newScanner(new File("projects/java-sample")) |
@@ -50,7 +50,7 @@ | |||
<dependency> | |||
<groupId>org.sonarsource.scanner.api</groupId> | |||
<artifactId>sonar-scanner-api</artifactId> | |||
<version>2.7</version> | |||
<version>2.8-build684</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.google.code.findbugs</groupId> |
@@ -22,6 +22,7 @@ package org.sonarsource.scanner.cli; | |||
import java.io.IOException; | |||
import java.util.Properties; | |||
import org.sonarsource.scanner.api.EmbeddedScanner; | |||
import org.sonarsource.scanner.api.ScanProperties; | |||
/** | |||
* Arguments : | |||
@@ -65,6 +66,7 @@ public class Main { | |||
try { | |||
Properties p = conf.properties(); | |||
checkSkip(p); | |||
configureLogging(p); | |||
init(p); | |||
runner.start(); | |||
@@ -79,6 +81,13 @@ public class Main { | |||
runner.stop(); | |||
exit.exit(Exit.SUCCESS); | |||
} | |||
private void checkSkip(Properties properties) { | |||
if ("true".equalsIgnoreCase(properties.getProperty(ScanProperties.SKIP))) { | |||
logger.info("SonarQube Scanner analysis skipped"); | |||
exit.exit(Exit.SUCCESS); | |||
} | |||
} | |||
private void init(Properties p) throws IOException { | |||
SystemInfo.print(logger); |
@@ -29,6 +29,7 @@ import org.mockito.Mock; | |||
import org.mockito.Mockito; | |||
import org.mockito.MockitoAnnotations; | |||
import org.sonarsource.scanner.api.EmbeddedScanner; | |||
import org.sonarsource.scanner.api.ScanProperties; | |||
import static org.fest.assertions.Assertions.assertThat; | |||
import static org.mockito.Matchers.any; | |||
@@ -150,6 +151,23 @@ public class MainTest { | |||
inOrder.verify(runnerFactory, times(1)).create(p); | |||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | |||
} | |||
@Test | |||
public void should_skip() throws IOException { | |||
Properties p = new Properties(); | |||
p.setProperty(ScanProperties.SKIP, "true"); | |||
when(conf.properties()).thenReturn(p); | |||
Main main = new Main(exit, cli, conf, runnerFactory, logs); | |||
main.execute(); | |||
verify(logs).info("SonarQube Scanner analysis skipped"); | |||
InOrder inOrder = Mockito.inOrder(exit, runnerFactory); | |||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | |||
inOrder.verify(runnerFactory, times(1)).create(p); | |||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | |||
} | |||
@Test | |||
public void shouldLogServerVersion() throws IOException { |