aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormickael-caro-sonarsource <mickael.caro@sonarsource.com>2020-01-03 15:58:43 +0100
committerGitHub <noreply@github.com>2020-01-03 15:58:43 +0100
commitb526146d2a7af21e6f7feb02e35f1a63a33d09c1 (patch)
tree1715205ad68d293868141e19e113646b0a2ef244
parent460cee11506ca9a7cb919d6cbb66e50029ed9b66 (diff)
downloadsonar-scanner-cli-b526146d2a7af21e6f7feb02e35f1a63a33d09c1.tar.gz
sonar-scanner-cli-b526146d2a7af21e6f7feb02e35f1a63a33d09c1.zip
SQSCANNER-57 - Rename scanner SonarScanner (#78)
* SQSCANNER-57 - Rename scanner SonarScanner
-rw-r--r--it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java2
-rw-r--r--sonar-docs/analysis/scan/sonarscanner.md2
-rwxr-xr-xsrc/main/assembly/bin/sonar-scanner4
-rwxr-xr-xsrc/main/assembly/bin/sonar-scanner-debug6
-rw-r--r--src/main/assembly/bin/sonar-scanner-debug.bat6
-rw-r--r--src/main/assembly/bin/sonar-scanner.bat4
-rw-r--r--src/main/java/org/sonarsource/scanner/cli/Conf.java11
-rw-r--r--src/main/java/org/sonarsource/scanner/cli/Main.java8
-rw-r--r--src/main/java/org/sonarsource/scanner/cli/SystemInfo.java2
-rw-r--r--src/test/java/org/sonarsource/scanner/cli/ConfTest.java35
-rw-r--r--src/test/java/org/sonarsource/scanner/cli/MainTest.java37
-rw-r--r--src/test/java/org/sonarsource/scanner/cli/SystemInfoTest.java4
12 files changed, 89 insertions, 32 deletions
diff --git a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
index c61a3e4..f1c30eb 100644
--- a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
+++ b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
@@ -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
diff --git a/sonar-docs/analysis/scan/sonarscanner.md b/sonar-docs/analysis/scan/sonarscanner.md
index d963b04..c225792 100644
--- a/sonar-docs/analysis/scan/sonarscanner.md
+++ b/sonar-docs/analysis/scan/sonarscanner.md
@@ -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) |
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");