diff options
author | Steve Marion <steve.marion@sonarsource.com> | 2025-03-17 10:15:37 +0100 |
---|---|---|
committer | Matteo Mara <matteo.mara@sonarsource.com> | 2025-03-17 22:23:55 +0100 |
commit | 81d211dee70e2689d615b2a8595b51317f425437 (patch) | |
tree | 0ad5aa63a49ca71ae4057c6b00fbffe118b1d024 | |
parent | 051b18e3e260ca068f480d08c7cee6ad8c951db6 (diff) | |
download | sonarqube-81d211dee70e2689d615b2a8595b51317f425437.tar.gz sonarqube-81d211dee70e2689d615b2a8595b51317f425437.zip |
SONAR-24514 Merge graph loading into persist step.
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) { |