aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Marion <steve.marion@sonarsource.com>2025-03-17 10:15:37 +0100
committerMatteo Mara <matteo.mara@sonarsource.com>2025-03-17 22:23:55 +0100
commit81d211dee70e2689d615b2a8595b51317f425437 (patch)
tree0ad5aa63a49ca71ae4057c6b00fbffe118b1d024
parent051b18e3e260ca068f480d08c7cee6ad8c951db6 (diff)
downloadsonarqube-81d211dee70e2689d615b2a8595b51317f425437.tar.gz
sonarqube-81d211dee70e2689d615b2a8595b51317f425437.zip
SONAR-24514 Merge graph loading into persist step.
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationCheck.java2
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStep.java10
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationCheck.java3
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStep.java15
-rw-r--r--server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStepTest.java28
-rw-r--r--server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStepTest.java30
6 files changed, 41 insertions, 47 deletions
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationCheck.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationCheck.java
index 210c1e5ff76..27ffc039b71 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationCheck.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationCheck.java
@@ -21,6 +21,7 @@ package org.sonar.ce.task.projectanalysis.measure;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.ce.common.scanner.ScannerReportReader;
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder;
import org.sonar.ce.task.projectanalysis.analysis.Branch;
import org.sonar.ce.task.projectanalysis.component.Component;
@@ -53,6 +54,7 @@ public interface PostMeasuresComputationCheck {
Branch getBranch();
+ ScannerReportReader getReportReader();
/**
* Return the ncloc computed for the current analysis
*/
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStep.java
index 92e9d3a170e..4ce9187cc70 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStep.java
@@ -22,6 +22,7 @@ package org.sonar.ce.task.projectanalysis.measure;
import java.util.Optional;
import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.measures.CoreMetrics;
+import org.sonar.ce.common.scanner.ScannerReportReader;
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder;
import org.sonar.ce.task.projectanalysis.analysis.Branch;
import org.sonar.ce.task.projectanalysis.component.Component;
@@ -42,14 +43,16 @@ public class PostMeasuresComputationChecksStep implements ComputationStep {
private final MetricRepository metricRepository;
private final MeasureRepository measureRepository;
private final AnalysisMetadataHolder analysisMetadataHolder;
+ private final ScannerReportReader reportReader;
private final PostMeasuresComputationCheck[] extensions;
public PostMeasuresComputationChecksStep(TreeRootHolder treeRootHolder, MetricRepository metricRepository, MeasureRepository measureRepository,
- AnalysisMetadataHolder analysisMetadataHolder, PostMeasuresComputationCheck[] extensions) {
+ AnalysisMetadataHolder analysisMetadataHolder, ScannerReportReader reportReader, PostMeasuresComputationCheck[] extensions) {
this.treeRootHolder = treeRootHolder;
this.metricRepository = metricRepository;
this.measureRepository = measureRepository;
this.analysisMetadataHolder = analysisMetadataHolder;
+ this.reportReader = reportReader;
this.extensions = extensions;
}
@@ -79,6 +82,11 @@ public class PostMeasuresComputationChecksStep implements ComputationStep {
}
@Override
+ public ScannerReportReader getReportReader() {
+ return reportReader;
+ }
+
+ @Override
public int getNcloc() {
Metric nclocMetric = metricRepository.getByKey(CoreMetrics.NCLOC_KEY);
Optional<Measure> nclocMeasure = measureRepository.getRawMeasure(treeRootHolder.getRoot(), nclocMetric);
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationCheck.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationCheck.java
index d72421f7037..f5df9c90078 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationCheck.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationCheck.java
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.measure;
import org.sonar.api.ExtensionPoint;
import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.config.Configuration;
-import org.sonar.ce.common.scanner.ScannerReportReader;
import org.sonar.ce.task.projectanalysis.analysis.Branch;
@@ -51,8 +50,6 @@ public interface PreMeasuresComputationCheck {
Branch getBranch();
Configuration getConfiguration();
-
- ScannerReportReader getReportReader();
}
class PreMeasuresComputationCheckException extends RuntimeException {
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStep.java
index 1ea17875a8f..b97a6e2317d 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStep.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStep.java
@@ -19,11 +19,8 @@
*/
package org.sonar.ce.task.projectanalysis.measure;
-import static org.sonar.ce.task.projectanalysis.measure.PreMeasuresComputationCheck.PreMeasuresComputationCheckException;
-
import org.sonar.api.config.Configuration;
import org.sonar.api.utils.System2;
-import org.sonar.ce.common.scanner.ScannerReportReader;
import org.sonar.ce.task.log.CeTaskMessages;
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder;
import org.sonar.ce.task.projectanalysis.analysis.Branch;
@@ -31,6 +28,8 @@ import org.sonar.ce.task.projectanalysis.component.ConfigurationRepository;
import org.sonar.ce.task.step.ComputationStep;
import org.sonar.db.dismissmessage.MessageType;
+import static org.sonar.ce.task.projectanalysis.measure.PreMeasuresComputationCheck.PreMeasuresComputationCheckException;
+
/**
* Execute {@link PreMeasuresComputationCheck} instances in no specific order.
* If an extension fails (throws an exception), consecutive extensions
@@ -42,17 +41,15 @@ public class PreMeasuresComputationChecksStep implements ComputationStep {
private final PreMeasuresComputationCheck[] extensions;
private final CeTaskMessages ceTaskMessages;
private final ConfigurationRepository configurationRepository;
- private final ScannerReportReader reportReader;
public PreMeasuresComputationChecksStep(
AnalysisMetadataHolder analysisMetadataHolder, CeTaskMessages ceTaskMessages,
- ConfigurationRepository configurationRepository, ScannerReportReader reportReader, PreMeasuresComputationCheck... extensions) {
+ ConfigurationRepository configurationRepository, PreMeasuresComputationCheck... extensions) {
this.analysisMetadataHolder = analysisMetadataHolder;
this.ceTaskMessages = ceTaskMessages;
this.configurationRepository = configurationRepository;
this.extensions = extensions;
- this.reportReader = reportReader;
}
@Override
@@ -88,11 +85,5 @@ public class PreMeasuresComputationChecksStep implements ComputationStep {
public Configuration getConfiguration() {
return configurationRepository.getConfiguration();
}
-
- @Override
- public ScannerReportReader getReportReader() {
- return reportReader;
- }
-
}
}
diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStepTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStepTest.java
index 701ec610b66..eb80fcfb603 100644
--- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStepTest.java
+++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PostMeasuresComputationChecksStepTest.java
@@ -19,23 +19,12 @@
*/
package org.sonar.ce.task.projectanalysis.measure;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.inOrder;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.sonar.api.measures.CoreMetrics.NCLOC;
-import static org.sonar.ce.task.projectanalysis.component.ReportComponent.DUMB_PROJECT;
-import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
-
import org.junit.Rule;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.InOrder;
import org.sonar.api.measures.CoreMetrics;
+import org.sonar.ce.common.scanner.ScannerReportReader;
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolderRule;
import org.sonar.ce.task.projectanalysis.component.TreeRootHolderRule;
import org.sonar.ce.task.projectanalysis.measure.PostMeasuresComputationCheck.Context;
@@ -43,6 +32,18 @@ import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule;
import org.sonar.ce.task.step.TestComputationStepContext;
import org.sonar.server.project.Project;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.sonar.api.measures.CoreMetrics.NCLOC;
+import static org.sonar.ce.task.projectanalysis.component.ReportComponent.DUMB_PROJECT;
+import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
+
public class PostMeasuresComputationChecksStepTest {
@Rule
@@ -53,6 +54,7 @@ public class PostMeasuresComputationChecksStepTest {
public MeasureRepositoryRule measureRepository = MeasureRepositoryRule.create(treeRootHolder, metricRepository);
@Rule
public AnalysisMetadataHolderRule analysisMetadataHolder = new AnalysisMetadataHolderRule();
+ private ScannerReportReader reportReader = mock(ScannerReportReader.class);
@Test
public void execute_extensions() {
@@ -131,6 +133,6 @@ public class PostMeasuresComputationChecksStepTest {
}
private PostMeasuresComputationChecksStep newStep(PostMeasuresComputationCheck... postMeasuresComputationChecks) {
- return new PostMeasuresComputationChecksStep(treeRootHolder, metricRepository, measureRepository, analysisMetadataHolder, postMeasuresComputationChecks);
+ return new PostMeasuresComputationChecksStep(treeRootHolder, metricRepository, measureRepository, analysisMetadataHolder, reportReader, postMeasuresComputationChecks);
}
}
diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStepTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStepTest.java
index b894be71e53..2a95d90c807 100644
--- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStepTest.java
+++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/measure/PreMeasuresComputationChecksStepTest.java
@@ -19,17 +19,6 @@
*/
package org.sonar.ce.task.projectanalysis.measure;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.inOrder;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.sonar.ce.task.projectanalysis.measure.PreMeasuresComputationCheck.PreMeasuresComputationCheckException;
-import static org.sonar.db.component.ComponentTesting.newPrivateProjectDto;
-
-import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.InOrder;
@@ -43,6 +32,16 @@ import org.sonar.ce.task.step.TestComputationStepContext;
import org.sonar.db.component.BranchType;
import org.sonar.server.project.Project;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.sonar.ce.task.projectanalysis.measure.PreMeasuresComputationCheck.PreMeasuresComputationCheckException;
+import static org.sonar.db.component.ComponentTesting.newProjectDto;
+
public class PreMeasuresComputationChecksStepTest {
public AnalysisMetadataHolderRule analysisMetadataHolder = mock();
@@ -50,11 +49,6 @@ public class PreMeasuresComputationChecksStepTest {
public ScannerReportReader reportReader = mock();
public ConfigurationRepository configurationRepository = mock();
- @Before
- public void setup() {
-
- }
-
@Test
public void execute_extensions() throws PreMeasuresComputationCheckException {
PreMeasuresComputationCheck check1 = mock(PreMeasuresComputationCheck.class);
@@ -69,7 +63,7 @@ public class PreMeasuresComputationChecksStepTest {
@Test
public void context_contains_project_uuid_from_analysis_metadata_holder() throws PreMeasuresComputationCheckException {
- Project project = Project.from(newPrivateProjectDto());
+ Project project = Project.fromProjectDtoWithTags(newProjectDto().setPrivate(true));
when(analysisMetadataHolder.getProject()).thenReturn(project);
PreMeasuresComputationCheck check = mock(PreMeasuresComputationCheck.class);
@@ -123,7 +117,7 @@ public class PreMeasuresComputationChecksStepTest {
}
private PreMeasuresComputationChecksStep newStep(PreMeasuresComputationCheck... preMeasuresComputationChecks) {
- return new PreMeasuresComputationChecksStep(analysisMetadataHolder, ceTaskMessages, configurationRepository, reportReader, preMeasuresComputationChecks);
+ return new PreMeasuresComputationChecksStep(analysisMetadataHolder, ceTaskMessages, configurationRepository, preMeasuresComputationChecks);
}
private void mockBranch(String branchName) {