From: Eric Hartmann Date: Tue, 17 Jul 2018 14:19:06 +0000 (+0200) Subject: SONARCLOUD-89 Implements non blocking NLOC check X-Git-Tag: 7.5~745 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=84a883d19f373f06423f638dc7ca9beff589036e;p=sonarqube.git SONARCLOUD-89 Implements non blocking NLOC check --- 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 6262ba88030..e25d30a600a 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 @@ -22,6 +22,7 @@ package org.sonar.ce.task.projectanalysis.measure; import org.sonar.api.ExtensionPoint; import org.sonar.api.ce.ComputeEngineSide; import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; +import org.sonar.ce.task.projectanalysis.analysis.Branch; /** * Extension point that is called during processing of a task @@ -53,6 +54,21 @@ public interface PostMeasuresComputationCheck { * Return the ncloc computed for the current analysis */ int getNcloc(); + + /** + * Return the organization + */ + String getOrganizationUuid(); + + /** + * Return the organization + */ + String getOrganizationKey(); + + /** + * Return the branch of the project + */ + Branch getBranch(); } } 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 a7369b4e687..2fb140e654d 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 @@ -23,6 +23,7 @@ import com.google.common.base.Optional; import org.sonar.api.ce.ComputeEngineSide; import org.sonar.api.measures.CoreMetrics; import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; +import org.sonar.ce.task.projectanalysis.analysis.Branch; import org.sonar.ce.task.projectanalysis.component.TreeRootHolder; import org.sonar.ce.task.projectanalysis.metric.Metric; import org.sonar.ce.task.projectanalysis.metric.MetricRepository; @@ -43,8 +44,7 @@ public class PostMeasuresComputationChecksStep implements ComputationStep { private final PostMeasuresComputationCheck[] extensions; public PostMeasuresComputationChecksStep(TreeRootHolder treeRootHolder, MetricRepository metricRepository, MeasureRepository measureRepository, - AnalysisMetadataHolder analysisMetadataHolder, - PostMeasuresComputationCheck[] extensions) { + AnalysisMetadataHolder analysisMetadataHolder, PostMeasuresComputationCheck[] extensions) { this.treeRootHolder = treeRootHolder; this.metricRepository = metricRepository; this.measureRepository = measureRepository; @@ -86,5 +86,20 @@ public class PostMeasuresComputationChecksStep implements ComputationStep { Optional nclocMeasure = measureRepository.getRawMeasure(treeRootHolder.getRoot(), nclocMetric); return nclocMeasure.isPresent() ? nclocMeasure.get().getIntValue() : 0; } + + @Override + public String getOrganizationUuid() { + return analysisMetadataHolder.getOrganization().getUuid(); + } + + @Override + public String getOrganizationKey() { + return analysisMetadataHolder.getOrganization().getKey(); + } + + @Override + public Branch getBranch() { + return analysisMetadataHolder.getBranch(); + } } } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStep.java index 5eb0baef0a8..0080f7c8c3b 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStep.java @@ -44,7 +44,7 @@ public class VerifyBillingStep implements ComputationStep { try { Organization organization = analysisMetadata.getOrganization(); BillingValidations.Organization billingOrganization = new BillingValidations.Organization(organization.getKey(), organization.getUuid()); - billingValidations.checkOnProjectAnalysis(billingOrganization); + billingValidations.checkBeforeProjectAnalysis(billingOrganization); } catch (BillingValidations.BillingValidationsException e) { throw MessageException.of(e.getMessage()); } diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStepTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStepTest.java index e278e63de42..975b31edb02 100644 --- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStepTest.java +++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/VerifyBillingStepTest.java @@ -54,7 +54,7 @@ public class VerifyBillingStepTest { public void execute_fails_with_MessageException_when_organization_is_not_allowed_to_execute_analysis() { doThrow(new BillingValidationsException("This organization cannot execute project analysis")) .when(validations) - .checkOnProjectAnalysis(any(BillingValidations.Organization.class)); + .checkBeforeProjectAnalysis(any(BillingValidations.Organization.class)); VerifyBillingStep underTest = new VerifyBillingStep(analysisMetadata, validations); @@ -72,7 +72,7 @@ public class VerifyBillingStepTest { VerifyBillingStep underTest = new VerifyBillingStep(analysisMetadata, validations); underTest.execute(); - verify(validations).checkOnProjectAnalysis(orgCaptor.capture()); + verify(validations).checkBeforeProjectAnalysis(orgCaptor.capture()); BillingValidations.Organization calledOrg = orgCaptor.getValue(); assertThat(calledOrg.getKey()).isEqualTo(organization.getKey()); } diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidations.java b/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidations.java index 797211a328b..d151b2e75fd 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidations.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidations.java @@ -36,7 +36,7 @@ public interface BillingValidations { /** * @throws BillingValidationsException when projects analysis on organization is not allowed */ - void checkOnProjectAnalysis(Organization organization); + void checkBeforeProjectAnalysis(Organization organization); /** * @throws BillingValidationsException when the organization cannot use private projects diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidationsProxyImpl.java b/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidationsProxyImpl.java index 717c323dd97..9ae7d6c8d5e 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidationsProxyImpl.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/organization/BillingValidationsProxyImpl.java @@ -36,11 +36,11 @@ public class BillingValidationsProxyImpl implements BillingValidationsProxy { } @Override - public void checkOnProjectAnalysis(Organization organization) { + public void checkBeforeProjectAnalysis(Organization organization) { if (billingValidationsExtension == null) { return; } - billingValidationsExtension.checkOnProjectAnalysis(organization); + billingValidationsExtension.checkBeforeProjectAnalysis(organization); } @Override diff --git a/server/sonar-server-common/src/test/java/org/sonar/server/organization/BillingValidationsProxyImplTest.java b/server/sonar-server-common/src/test/java/org/sonar/server/organization/BillingValidationsProxyImplTest.java index 3ead0f5070a..0b6f785ac12 100644 --- a/server/sonar-server-common/src/test/java/org/sonar/server/organization/BillingValidationsProxyImplTest.java +++ b/server/sonar-server-common/src/test/java/org/sonar/server/organization/BillingValidationsProxyImplTest.java @@ -42,9 +42,9 @@ public class BillingValidationsProxyImplTest { underTest = new BillingValidationsProxyImpl(billingValidationsExtension); Organization organization = new Organization(ORGANIZATION_KEY, ORGANIZATION_UUID); - underTest.checkOnProjectAnalysis(organization); + underTest.checkBeforeProjectAnalysis(organization); - verify(billingValidationsExtension).checkOnProjectAnalysis(organization); + verify(billingValidationsExtension).checkBeforeProjectAnalysis(organization); } @Test @@ -52,7 +52,7 @@ public class BillingValidationsProxyImplTest { underTest = new BillingValidationsProxyImpl(); Organization organization = new Organization(ORGANIZATION_KEY, ORGANIZATION_UUID); - underTest.checkOnProjectAnalysis(organization); + underTest.checkBeforeProjectAnalysis(organization); verifyZeroInteractions(billingValidationsExtension); }