From b526146d2a7af21e6f7feb02e35f1a63a33d09c1 Mon Sep 17 00:00:00 2001 From: mickael-caro-sonarsource Date: Fri, 3 Jan 2020 15:58:43 +0100 Subject: SQSCANNER-57 - Rename scanner SonarScanner (#78) * SQSCANNER-57 - Rename scanner SonarScanner --- src/main/assembly/bin/sonar-scanner | 4 +-- src/main/assembly/bin/sonar-scanner-debug | 6 ++-- src/main/assembly/bin/sonar-scanner-debug.bat | 6 ++-- src/main/assembly/bin/sonar-scanner.bat | 4 +-- .../java/org/sonarsource/scanner/cli/Conf.java | 11 +++++++ .../java/org/sonarsource/scanner/cli/Main.java | 8 ++--- .../org/sonarsource/scanner/cli/SystemInfo.java | 2 +- .../java/org/sonarsource/scanner/cli/ConfTest.java | 35 ++++++++++++++++++++ .../java/org/sonarsource/scanner/cli/MainTest.java | 37 ++++++++++++++-------- .../sonarsource/scanner/cli/SystemInfoTest.java | 4 +-- 10 files changed, 87 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/main/assembly/bin/sonar-scanner b/src/main/assembly/bin/sonar-scanner index fefac84..e73cf23 100755 --- a/src/main/assembly/bin/sonar-scanner +++ b/src/main/assembly/bin/sonar-scanner @@ -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 diff --git a/src/main/assembly/bin/sonar-scanner-debug b/src/main/assembly/bin/sonar-scanner-debug index d43b036..823a1ab 100755 --- a/src/main/assembly/bin/sonar-scanner-debug +++ b/src/main/assembly/bin/sonar-scanner-debug @@ -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 "$@" diff --git a/src/main/assembly/bin/sonar-scanner-debug.bat b/src/main/assembly/bin/sonar-scanner-debug.bat index 1ebc42c..aea4d97 100644 --- a/src/main/assembly/bin/sonar-scanner-debug.bat +++ b/src/main/assembly/bin/sonar-scanner-debug.bat @@ -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 %* diff --git a/src/main/assembly/bin/sonar-scanner.bat b/src/main/assembly/bin/sonar-scanner.bat index e71f518..4ee9e55 100644 --- a/src/main/assembly/bin/sonar-scanner.bat +++ b/src/main/assembly/bin/sonar-scanner.bat @@ -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 diff --git a/src/main/java/org/sonarsource/scanner/cli/Conf.java b/src/main/java/org/sonarsource/scanner/cli/Conf.java index b914516..e6a84a8 100644 --- a/src/main/java/org/sonarsource/scanner/cli/Conf.java +++ b/src/main/java/org/sonarsource/scanner/cli/Conf.java @@ -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(); diff --git a/src/main/java/org/sonarsource/scanner/cli/Main.java b/src/main/java/org/sonarsource/scanner/cli/Main.java index 5764423..229a9d2 100644 --- a/src/main/java/org/sonarsource/scanner/cli/Main.java +++ b/src/main/java/org/sonarsource/scanner/cli/Main.java @@ -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."); } } diff --git a/src/main/java/org/sonarsource/scanner/cli/SystemInfo.java b/src/main/java/org/sonarsource/scanner/cli/SystemInfo.java index 2ee3468..09ad1f5 100644 --- a/src/main/java/org/sonarsource/scanner/cli/SystemInfo.java +++ b/src/main/java/org/sonarsource/scanner/cli/SystemInfo.java @@ -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"); diff --git a/src/test/java/org/sonarsource/scanner/cli/ConfTest.java b/src/test/java/org/sonarsource/scanner/cli/ConfTest.java index a5c8b5f..c1b172e 100644 --- a/src/test/java/org/sonarsource/scanner/cli/ConfTest.java +++ b/src/test/java/org/sonarsource/scanner/cli/ConfTest.java @@ -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(); + } } diff --git a/src/test/java/org/sonarsource/scanner/cli/MainTest.java b/src/test/java/org/sonarsource/scanner/cli/MainTest.java index dc1013b..fe532af 100644 --- a/src/test/java/org/sonarsource/scanner/cli/MainTest.java +++ b/src/test/java/org/sonarsource/scanner/cli/MainTest.java @@ -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 diff --git a/src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java b/src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java index b9cfb8d..2d93e24 100644 --- a/src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java +++ b/src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java @@ -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"); -- cgit v1.2.3