Browse Source

SQSCANNER-57 - Rename scanner SonarScanner (#78)

* SQSCANNER-57 - Rename scanner SonarScanner
tags/4.3.0.2102
mickael-caro-sonarsource 3 years ago
parent
commit
b526146d2a
No account linked to committer's email address

+ 1
- 1
it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java View File

@@ -184,7 +184,7 @@ public class ScannerTest extends ScannerTestCase {
"{ \"sonar.scanner.skip\":\"true\" }");

BuildResult result = orchestrator.executeBuild(build);
assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped");
assertThat(result.getLogs()).contains("SonarScanner analysis skipped");
}

@Test

+ 1
- 1
sonar-docs/analysis/scan/sonarscanner.md View File

@@ -4,7 +4,7 @@ url: /analysis/scan/sonarscanner/
---

[[info]]
| **Download SonarScanner 4.0** - Compatible with SonarQube 6.7+ (LTS)
| **Download SonarScanner 4.0** - Compatible with SonarQube 6.7+ (LTS) and SonarCloud
| By [SonarSource](https://www.sonarsource.com/) – GNU LGPL 3 – [Issue Tracker](https://jira.sonarsource.com/browse/SQSCANNER) – [Source](https://github.com/Sonarsource/sonar-scanner-cli)
|
| [Linux 64-bit](https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744-linux.zip) |

+ 2
- 2
src/main/assembly/bin/sonar-scanner View File

@@ -1,9 +1,9 @@
#!/bin/sh
#
# SonarQube Scanner Startup Script for Unix
# SonarScanner Startup Script for Unix
#
# Optional ENV vars:
# SONAR_SCANNER_OPTS - Parameters passed to the Java VM when running the SonarQube Scanner
# SONAR_SCANNER_OPTS - Parameters passed to the Java VM when running the SonarScanner
# SONAR_SCANNER_DEBUG_OPTS - Extra parameters passed to the Java VM for debugging
# JAVA_HOME - Location of Java's installation


+ 3
- 3
src/main/assembly/bin/sonar-scanner-debug View File

@@ -1,14 +1,14 @@
#!/bin/sh
#
# SonarQube Scanner Startup Script for Unix
# SonarScanner Startup Script for Unix
#
# Optional ENV vars:
# SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarQube Scanner
# SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarScanner
# JAVA_HOME - Location of Java's installation

SONAR_SCANNER_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"

echo "Executing SonarQube Scanner in Debug Mode"
echo "Executing SonarScanner in Debug Mode"
echo "SONAR_SCANNER_DEBUG_OPTS=\"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000\""

env SONAR_SCANNER_OPTS="$SONAR_SCANNER_OPTS" SONAR_SCANNER_DEBUG_OPTS="$SONAR_SCANNER_DEBUG_OPTS" "$(dirname "$0")"/sonar-scanner "$@"

+ 3
- 3
src/main/assembly/bin/sonar-scanner-debug.bat View File

@@ -1,13 +1,13 @@
@REM SonarQube Scanner Startup Script for Windows
@REM SonarScanner Startup Script for Windows
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars:
@REM SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarQube Scanner
@REM SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarScanner

@setlocal
@set SONAR_SCANNER_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
echo "Executing SonarQube Scanner in Debug Mode"
echo "Executing SonarScanner in Debug Mode"
echo "SONAR_SCANNER_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
@call "%~dp0"sonar-scanner.bat %*

+ 2
- 2
src/main/assembly/bin/sonar-scanner.bat View File

@@ -1,10 +1,10 @@
@REM SonarQube Scanner Startup Script for Windows
@REM SonarScanner Startup Script for Windows
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars:
@REM SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarQube Scanner
@REM SONAR_SCANNER_OPTS - parameters passed to the Java VM when running the SonarScanner

@echo off


+ 11
- 0
src/main/java/org/sonarsource/scanner/cli/Conf.java View File

@@ -28,6 +28,7 @@ import java.nio.file.Paths;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import javax.annotation.Nullable;
@@ -42,6 +43,7 @@ class Conf {
private static final String PROPERTY_PROJECT_BASEDIR = "sonar.projectBaseDir";
private static final String PROPERTY_PROJECT_CONFIG_FILE = "sonar.projectConfigFile";
private static final String SONAR_PROJECT_PROPERTIES_FILENAME = "sonar-project.properties";
private static final String PROPERTY_SONAR_HOST_URL = "sonar.host.url";

private final Cli cli;
private final Logs logger;
@@ -68,6 +70,15 @@ class Conf {
return result;
}

boolean isSonarCloud(@Nullable Properties testProperties) {
String hostUrl = testProperties != null ? testProperties.getProperty(PROPERTY_SONAR_HOST_URL) : properties().getProperty(PROPERTY_SONAR_HOST_URL);
if (hostUrl != null) {
return hostUrl.toLowerCase(Locale.getDefault()).contains("sonarcloud");
}

return false;
}

private Properties resolve(Properties props) {
PropertyResolver resolver = new PropertyResolver(props, env);
return resolver.resolve();

+ 4
- 4
src/main/java/org/sonarsource/scanner/cli/Main.java View File

@@ -71,12 +71,12 @@ public class Main {
configureLogging(p);
init(p);
runner.start();
logger.info("SonarQube server " + runner.serverVersion());
logger.info(String.format("Analyzing on %s", conf.isSonarCloud(null) ? "SonarCloud" : ("SonarQube server " + runner.serverVersion())));
execute(stats, p);
status = Exit.SUCCESS;
} catch (Throwable e) {
displayExecutionResult(stats, "FAILURE");
showError("Error during SonarQube Scanner execution", e, cli.isDebugEnabled());
showError("Error during SonarScanner execution", e, cli.isDebugEnabled());
status = isUserError(e) ? Exit.USER_ERROR : Exit.INTERNAL_ERROR;
} finally {
exit.exit(status);
@@ -86,7 +86,7 @@ public class Main {

private void checkSkip(Properties properties) {
if ("true".equalsIgnoreCase(properties.getProperty(ScanProperties.SKIP))) {
logger.info("SonarQube Scanner analysis skipped");
logger.info("SonarScanner analysis skipped");
exit.exit(Exit.SUCCESS);
}
}
@@ -149,7 +149,7 @@ public class Main {

private void suggestDebugMode() {
if (!cli.isEmbedded()) {
logger.error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
logger.error("Re-run SonarScanner using the -X switch to enable full debug logging.");
}
}


+ 1
- 1
src/main/java/org/sonarsource/scanner/cli/SystemInfo.java View File

@@ -30,7 +30,7 @@ class SystemInfo {
}

static void print(Logs logger) {
logger.info("SonarQube Scanner " + ScannerVersion.version());
logger.info("SonarScanner " + ScannerVersion.version());
logger.info(java());
logger.info(os());
String scannerOpts = system.getenv("SONAR_SCANNER_OPTS");

+ 35
- 0
src/test/java/org/sonarsource/scanner/cli/ConfTest.java View File

@@ -336,4 +336,39 @@ public class ConfTest {
properties = conf.properties();
assertThat(properties.get("sonar.prop")).isEqualTo("expected");
}

// SQSCANNER-57
@Test
public void should_return_true_is_sonar_cloud() {

args.setProperty("sonar.host.url", "https://sonarcloud.io");

conf.properties();

assertThat(conf.isSonarCloud(null)).isTrue();
}

// SQSCANNER-57
@Test
public void should_return_false_is_sonar_cloud() {
args.setProperty("sonar.host.url", "https://mysonarqube.com:9000/");

//Still returns false, sonarcloud not detected in the content of the url
Properties properties = conf.properties();

assertThat(properties.getProperty("sonar.host.url")).isEqualTo("https://mysonarqube.com:9000/");

assertThat(conf.isSonarCloud(null)).isFalse();
}

// SQSCANNER-57
@Test
public void should_return_false_is_sonar_cloud_host_is_null() {

Properties emptyProperties = new Properties();

assertThat(emptyProperties.getProperty("sonar.host.url")).isNull();

assertThat(conf.isSonarCloud(emptyProperties)).isFalse();
}
}

+ 24
- 13
src/test/java/org/sonarsource/scanner/cli/MainTest.java View File

@@ -90,7 +90,7 @@ public class MainTest {
main.execute();

verify(exit).exit(Exit.INTERNAL_ERROR);
verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs).error("Error during SonarScanner execution", e);
}

@Test
@@ -108,7 +108,7 @@ public class MainTest {
verify(runner).start();
verify(runner, never()).execute(any());
verify(exit).exit(Exit.INTERNAL_ERROR);
verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs).error("Error during SonarScanner execution", e);
}

@Test
@@ -116,8 +116,8 @@ public class MainTest {
Exception e = createException(false);
testException(e, false, false, Exit.INTERNAL_ERROR);

verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
verify(logs).error("Error during SonarScanner execution", e);
verify(logs).error("Re-run SonarScanner using the -X switch to enable full debug logging.");
}

@Test
@@ -126,11 +126,11 @@ public class MainTest {
testException(e, false, false, Exit.USER_ERROR);

verify(logs, times(5)).error(anyString());
verify(logs).error("Error during SonarQube Scanner execution");
verify(logs).error("Error during SonarScanner execution");
verify(logs).error("my message");
verify(logs).error("Caused by: A functional cause");
verify(logs).error("");
verify(logs).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
verify(logs).error("Re-run SonarScanner using the -X switch to enable full debug logging.");
}

@Test
@@ -139,7 +139,7 @@ public class MainTest {
testException(e, false, true, Exit.USER_ERROR);

verify(logs, times(4)).error(anyString());
verify(logs).error("Error during SonarQube Scanner execution");
verify(logs).error("Error during SonarScanner execution");
verify(logs).error("my message");
verify(logs).error("Caused by: A functional cause");
verify(logs).error("");
@@ -151,7 +151,7 @@ public class MainTest {
testException(e, true, false, Exit.USER_ERROR);

verify(logs, times(1)).error(anyString(), any(Throwable.class));
verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs).error("Error during SonarScanner execution", e);
}

@Test
@@ -160,7 +160,7 @@ public class MainTest {
testException(e, true, true, Exit.USER_ERROR);

verify(logs, times(1)).error(anyString(), any(Throwable.class));
verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs).error("Error during SonarScanner execution", e);
}

@Test
@@ -168,8 +168,8 @@ public class MainTest {
Exception e = createException(false);
testException(e, true, false, Exit.INTERNAL_ERROR);

verify(logs).error("Error during SonarQube Scanner execution", e);
verify(logs, never()).error("Re-run SonarQube Scanner using the -X switch to enable full debug logging.");
verify(logs).error("Error during SonarScanner execution", e);
verify(logs, never()).error("Re-run SonarScanner using the -X switch to enable full debug logging.");
}

private void testException(Exception e, boolean debugEnabled, boolean isEmbedded, int expectedExitCode) {
@@ -222,7 +222,7 @@ public class MainTest {
Main main = new Main(exit, cli, conf, scannerFactory, logs);
main.execute();

verify(logs).info("SonarQube Scanner analysis skipped");
verify(logs).info("SonarScanner analysis skipped");
InOrder inOrder = Mockito.inOrder(exit, scannerFactory);

inOrder.verify(exit, times(1)).exit(Exit.SUCCESS);
@@ -239,7 +239,18 @@ public class MainTest {

Main main = new Main(exit, cli, conf, scannerFactory, logs);
main.execute();
verify(logs).info("SonarQube server 5.5");
verify(logs).info("Analyzing on SonarQube server 5.5");
}

@Test
public void should_log_SonarCloud_server() {
Properties p = new Properties();
when(conf.properties()).thenReturn(p);
when(conf.isSonarCloud(null)).thenReturn(true);

Main main = new Main(exit, cli, conf, scannerFactory, logs);
main.execute();
verify(logs).info("Analyzing on SonarCloud");
}

@Test

+ 2
- 2
src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java View File

@@ -82,8 +82,8 @@ public class SystemInfoTest {
verify(mockSystem).getProperty("os.version");
verify(mockSystem).getenv("SONAR_SCANNER_OPTS");

verify(logs, never()).info("SonarQube Scanner null");
verify(logs).info("SonarQube Scanner " + ScannerVersion.version());
verify(logs, never()).info("SonarScanner null");
verify(logs).info("SonarScanner " + ScannerVersion.version());
verify(logs).info("Java 1.9 oracle (64-bit)");
verify(logs).info("linux 2.5 x64");
verify(logs).info("SONAR_SCANNER_OPTS=arg");

Loading…
Cancel
Save