diff options
author | Havoc Pennington <havoc.pennington@sonarsource.com> | 2025-02-13 11:03:27 -0500 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2025-02-19 20:03:12 +0000 |
commit | c5c17d491872221f5fc9d376ee045211094009f0 (patch) | |
tree | 46c9f2ace1fab5feec8704f5dd054ce1155ec392 | |
parent | 983e0d3ba901cda55938d608e2e3856642705108 (diff) | |
download | sonarqube-c5c17d491872221f5fc9d376ee045211094009f0.tar.gz sonarqube-c5c17d491872221f5fc9d376ee045211094009f0.zip |
SQRP-192 Store SCA analysis errors as task messages
3 files changed, 13 insertions, 11 deletions
diff --git a/server/sonar-ce-common/src/main/java/org/sonar/ce/common/sca/ScaStepProvider.java b/server/sonar-ce-common/src/main/java/org/sonar/ce/common/sca/ScaStepProvider.java index 6a9d3e21823..7ebfab3aaf7 100644 --- a/server/sonar-ce-common/src/main/java/org/sonar/ce/common/sca/ScaStepProvider.java +++ b/server/sonar-ce-common/src/main/java/org/sonar/ce/common/sca/ScaStepProvider.java @@ -21,13 +21,14 @@ package org.sonar.ce.common.sca; import org.sonar.api.ce.ComputeEngineSide; import org.sonar.ce.common.scanner.ScannerReportReader; +import org.sonar.ce.task.log.CeTaskMessages; import org.sonar.ce.task.step.ComputationStep; /** * When an implementation of this interface is available in the ioc container, the Compute Engine will use the value returned by - * {@link #get(ScannerReportReader, ScaHolder)} as an extra step for software composition analysis. + * {@link #get(ScannerReportReader, CeTaskMessages, ScaHolder)} as an extra step for software composition analysis. */ @ComputeEngineSide public interface ScaStepProvider { - ComputationStep get(ScannerReportReader reportReader, ScaHolder scaHolder); + ComputationStep get(ScannerReportReader reportReader, CeTaskMessages ceTaskMessages, ScaHolder scaHolder); } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/ScaStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/ScaStep.java index 1156af7f71d..c349bfa8410 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/ScaStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/ScaStep.java @@ -20,10 +20,10 @@ package org.sonar.ce.task.projectanalysis.step; import javax.annotation.Nullable; - import org.sonar.ce.common.sca.ScaHolder; import org.sonar.ce.common.sca.ScaStepProvider; import org.sonar.ce.common.scanner.ScannerReportReader; +import org.sonar.ce.task.log.CeTaskMessages; import org.sonar.ce.task.step.ComputationStep; import org.springframework.beans.factory.annotation.Autowired; @@ -32,14 +32,14 @@ public class ScaStep implements ComputationStep { private final ComputationStep wrapped; @Autowired(required = false) - public ScaStep(ScannerReportReader reportReader) { - this(reportReader, null, null); + public ScaStep(ScannerReportReader reportReader, CeTaskMessages ceTaskMessages) { + this(reportReader, ceTaskMessages, null, null); } @Autowired(required = false) - public ScaStep(ScannerReportReader reportReader, @Nullable ScaStepProvider provider, @Nullable ScaHolder scaHolder ) { - if (provider != null && scaHolder != null ){ - this.wrapped = provider.get(reportReader, scaHolder); + public ScaStep(ScannerReportReader reportReader, CeTaskMessages ceTaskMessages, @Nullable ScaStepProvider provider, @Nullable ScaHolder scaHolder) { + if (provider != null && scaHolder != null) { + this.wrapped = provider.get(reportReader, ceTaskMessages, scaHolder); } else { this.wrapped = null; } diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/ScaStepTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/ScaStepTest.java index d3791e39afe..0bf793c7c3b 100644 --- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/ScaStepTest.java +++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/ScaStepTest.java @@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test; import org.sonar.ce.common.sca.ScaHolder; import org.sonar.ce.common.sca.ScaStepProvider; import org.sonar.ce.common.scanner.ScannerReportReader; +import org.sonar.ce.task.log.CeTaskMessages; import org.sonar.ce.task.step.ComputationStep; import static org.assertj.core.api.Assertions.assertThat; @@ -35,7 +36,7 @@ class ScaStepTest { @Test void shouldSkipScaStepIfNotAvailable() { - var underTest = new ScaStep(mock(ScannerReportReader.class), null, null); + var underTest = new ScaStep(mock(ScannerReportReader.class), mock(CeTaskMessages.class), null, null); assertThat(underTest.getDescription()).isEqualTo("Software composition analysis unavailable"); @@ -47,8 +48,8 @@ class ScaStepTest { var wrappedStep = mock(ComputationStep.class); when(wrappedStep.getDescription()).thenReturn("wrapped step"); - ScaStepProvider scaStepProvider = (reportReader, scaHolder) -> wrappedStep; - var underTest = new ScaStep(mock(ScannerReportReader.class), scaStepProvider, mock(ScaHolder.class)); + ScaStepProvider scaStepProvider = (reportReader, ceTaskMessages, scaHolder) -> wrappedStep; + var underTest = new ScaStep(mock(ScannerReportReader.class), mock(CeTaskMessages.class), scaStepProvider, mock(ScaHolder.class)); assertThat(underTest.getDescription()).isEqualTo("wrapped step"); |