aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2025-01-10 16:52:36 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2025-01-20 11:51:27 +0100
commit0d329f7d651982f0d3ca8be6742f98beef1eae50 (patch)
tree00dfddf9b034497ec35483610ed32dd00e9c4395
parent893fca0628ab4c9abc0f3aed0ee36cf8038552d6 (diff)
downloadsonar-scanner-cli-0d329f7d651982f0d3ca8be6742f98beef1eae50.tar.gz
sonar-scanner-cli-0d329f7d651982f0d3ca8be6742f98beef1eae50.zip
SCANCLI-168 Update Scanner Java Library dependency to 3.2
-rw-r--r--it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java4
-rw-r--r--pom.xml6
-rw-r--r--src/main/java/org/sonarsource/scanner/cli/Main.java25
-rw-r--r--src/test/java/org/sonarsource/scanner/cli/MainTest.java28
4 files changed, 44 insertions, 19 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 2e690ce..d0da6c6 100644
--- a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
+++ b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java
@@ -190,7 +190,7 @@ public class ScannerTest extends ScannerTestCase {
assertThat(buildResult.isSuccess()).isFalse();
assertThat(buildResult.getLogs())
- .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404");
+ .contains("Failed to query server version: Not Found");
}
@Test
@@ -216,7 +216,7 @@ public class ScannerTest extends ScannerTestCase {
assertThat(result.isSuccess()).isFalse();
// with the following message
assertThat(result.getLogs())
- .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404");
+ .contains("Failed to query server version: Not Found");
}
// SONARPLUGINS-3574
diff --git a/pom.xml b/pom.xml
index fc60ffb..12536dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,7 +81,7 @@
<dependency>
<groupId>org.sonarsource.scanner.lib</groupId>
<artifactId>sonar-scanner-java-library</artifactId>
- <version>3.1.1.261</version>
+ <version>3.2.0.370</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@@ -240,8 +240,8 @@
<configuration>
<rules>
<requireFilesSize>
- <minsize>11100000</minsize>
- <maxsize>11200000</maxsize>
+ <minsize>11200000</minsize>
+ <maxsize>11300000</maxsize>
<files>
<file>${project.build.directory}/sonar-scanner-${project.version}.zip</file>
</files>
diff --git a/src/main/java/org/sonarsource/scanner/cli/Main.java b/src/main/java/org/sonarsource/scanner/cli/Main.java
index fe53f1c..d539db4 100644
--- a/src/main/java/org/sonarsource/scanner/cli/Main.java
+++ b/src/main/java/org/sonarsource/scanner/cli/Main.java
@@ -41,6 +41,8 @@ import org.sonarsource.scanner.lib.ScannerProperties;
*/
public class Main {
private static final Logger LOG = LoggerFactory.getLogger(Main.class);
+ private static final String FAILURE = "FAILURE";
+ private static final String SUCCESS = "SUCCESS";
private final Exit exit;
private final Cli cli;
@@ -71,18 +73,25 @@ public class Main {
checkSkip(p);
configureLogging(p);
init(p);
- try (var engine = scannerEngineBootstrapper.bootstrap()) {
- var success = engine.analyze((Map) p);
- if (success) {
- displayExecutionResult(stats, "SUCCESS");
- status = Exit.SUCCESS;
+ try (var result = scannerEngineBootstrapper.bootstrap()) {
+ if (result.isSuccessful()) {
+ var engine = result.getEngineFacade();
+ var success = engine.analyze((Map) p);
+ if (success) {
+ displayExecutionResult(stats, SUCCESS);
+ status = Exit.SUCCESS;
+ } else {
+ displayExecutionResult(stats, FAILURE);
+ status = Exit.SCANNER_ENGINE_ERROR;
+ }
} else {
- displayExecutionResult(stats, "FAILURE");
- status = Exit.SCANNER_ENGINE_ERROR;
+ LOG.debug("Scanner engine bootstrapping failed");
+ displayExecutionResult(stats, FAILURE);
+ status = Exit.INTERNAL_ERROR;
}
}
} catch (Throwable e) {
- displayExecutionResult(stats, "FAILURE");
+ displayExecutionResult(stats, FAILURE);
showError(e, cli.isDebugEnabled());
status = isUserError(e) ? Exit.USER_ERROR : Exit.INTERNAL_ERROR;
} finally {
diff --git a/src/test/java/org/sonarsource/scanner/cli/MainTest.java b/src/test/java/org/sonarsource/scanner/cli/MainTest.java
index 746f5c9..7186558 100644
--- a/src/test/java/org/sonarsource/scanner/cli/MainTest.java
+++ b/src/test/java/org/sonarsource/scanner/cli/MainTest.java
@@ -30,6 +30,7 @@ import org.mockito.Mockito;
import org.slf4j.LoggerFactory;
import org.slf4j.event.Level;
import org.sonar.api.utils.MessageException;
+import org.sonarsource.scanner.lib.ScannerEngineBootstrapResult;
import org.sonarsource.scanner.lib.ScannerEngineBootstrapper;
import org.sonarsource.scanner.lib.ScannerEngineFacade;
import org.sonarsource.scanner.lib.ScannerProperties;
@@ -56,11 +57,14 @@ class MainTest {
private final ScannerEngineBootstrapperFactory scannerEngineBootstrapperFactory = mock();
private final ScannerEngineBootstrapper bootstrapper = mock();
private final ScannerEngineFacade engine = mock();
+ private final ScannerEngineBootstrapResult result = mock();
@BeforeEach
void setUp() {
when(scannerEngineBootstrapperFactory.create(any(Properties.class), any(String.class))).thenReturn(bootstrapper);
- when(bootstrapper.bootstrap()).thenReturn(engine);
+ when(result.isSuccessful()).thenReturn(true);
+ when(result.getEngineFacade()).thenReturn(engine);
+ when(bootstrapper.bootstrap()).thenReturn(result);
when(engine.analyze(any())).thenReturn(true);
when(conf.properties()).thenReturn(properties);
}
@@ -79,7 +83,7 @@ class MainTest {
}
@Test
- void should_exit_with_error_on_error_during_analysis() {
+ void should_exit_with_error_on_exception_during_analysis() {
Exception e = new NullPointerException("NPE");
e = new IllegalStateException("Error", e);
doThrow(e).when(engine).analyze(any());
@@ -94,9 +98,7 @@ class MainTest {
@Test
void should_exit_with_error_on_error_during_bootstrap() {
- Exception e = new NullPointerException("NPE");
- e = new IllegalStateException("Error", e);
- doThrow(e).when(bootstrapper).bootstrap();
+ when(result.isSuccessful()).thenReturn(false);
when(cli.getInvokedFrom()).thenReturn("");
when(cli.isDebugEnabled()).thenReturn(true);
@@ -106,7 +108,21 @@ class MainTest {
verify(bootstrapper).bootstrap();
verify(engine, never()).analyze(any());
verify(exit).exit(Exit.INTERNAL_ERROR);
- assertThat(logTester.logs(Level.ERROR)).contains("Error during SonarScanner CLI execution");
+ assertThat(logTester.logs(Level.INFO)).contains("EXECUTION FAILURE");
+ }
+
+ @Test
+ void should_exit_with_error_on_error_during_analysis() {
+ when(engine.analyze(any())).thenReturn(false);
+ when(cli.getInvokedFrom()).thenReturn("");
+ when(cli.isDebugEnabled()).thenReturn(true);
+
+ Main main = new Main(exit, cli, conf, scannerEngineBootstrapperFactory);
+ main.analyze();
+
+ verify(bootstrapper).bootstrap();
+ verify(exit).exit(Exit.SCANNER_ENGINE_ERROR);
+ assertThat(logTester.logs(Level.INFO)).contains("EXECUTION FAILURE");
}
@Test