Search in sources :

Example 31 with Metric

use of org.sonar.ce.task.projectanalysis.metric.Metric in project sonarqube by SonarSource.

the class PostProjectAnalysisTasksExecutorTest method createCondition.

private static Condition createCondition(String metricKey) {
    Metric metric = mock(Metric.class);
    when(metric.getKey()).thenReturn(metricKey);
    return new Condition(metric, Condition.Operator.LESS_THAN.getDbValue(), "error threshold");
}
Also used : Condition(org.sonar.ce.task.projectanalysis.qualitygate.Condition) Metric(org.sonar.ce.task.projectanalysis.metric.Metric)

Example 32 with Metric

use of org.sonar.ce.task.projectanalysis.metric.Metric in project sonarqube by SonarSource.

the class QualityGateMeasuresStep method addProjectMeasure.

private void addProjectMeasure(Component project, QualityGateDetailsDataBuilder builder) {
    Measure globalMeasure = Measure.newMeasureBuilder().setQualityGateStatus(new QualityGateStatus(builder.getGlobalLevel(), StringUtils.join(builder.getLabels(), ", "))).create(builder.getGlobalLevel());
    Metric metric = metricRepository.getByKey(CoreMetrics.ALERT_STATUS_KEY);
    measureRepository.add(project, metric, globalMeasure);
    String detailMeasureValue = new QualityGateDetailsData(builder.getGlobalLevel(), builder.getEvaluatedConditions(), builder.isIgnoredConditions()).toJson();
    Measure detailsMeasure = Measure.newMeasureBuilder().create(detailMeasureValue);
    Metric qgDetailsMetric = metricRepository.getByKey(CoreMetrics.QUALITY_GATE_DETAILS_KEY);
    measureRepository.add(project, qgDetailsMetric, detailsMeasure);
}
Also used : QualityGateStatus(org.sonar.ce.task.projectanalysis.measure.QualityGateStatus) QualityGateDetailsData(org.sonar.ce.task.projectanalysis.measure.qualitygatedetails.QualityGateDetailsData) Measure(org.sonar.ce.task.projectanalysis.measure.Measure) Metric(org.sonar.ce.task.projectanalysis.metric.Metric)

Example 33 with Metric

use of org.sonar.ce.task.projectanalysis.metric.Metric in project sonarqube by SonarSource.

the class QualityGateEventsStep method executeForProject.

private void executeForProject(Component project) {
    Metric metric = metricRepository.getByKey(CoreMetrics.ALERT_STATUS_KEY);
    Optional<Measure> rawStatus = measureRepository.getRawMeasure(project, metric);
    if (!rawStatus.isPresent() || !rawStatus.get().hasQualityGateStatus()) {
        return;
    }
    checkQualityGateStatusChange(project, metric, rawStatus.get().getQualityGateStatus());
}
Also used : Measure(org.sonar.ce.task.projectanalysis.measure.Measure) Metric(org.sonar.ce.task.projectanalysis.metric.Metric)

Example 34 with Metric

use of org.sonar.ce.task.projectanalysis.metric.Metric in project sonarqube by SonarSource.

the class UpdateQualityProfilesLastUsedDateStep method execute.

@Override
public void execute(ComputationStep.Context context) {
    Component root = treeRootHolder.getRoot();
    Metric metric = metricRepository.getByKey(QUALITY_PROFILES_KEY);
    Set<QualityProfile> qualityProfiles = parseQualityProfiles(measureRepository.getRawMeasure(root, metric));
    try (DbSession dbSession = dbClient.openSession(true)) {
        for (QualityProfile qualityProfile : qualityProfiles) {
            updateDate(dbSession, qualityProfile.getQpKey(), analysisMetadataHolder.getAnalysisDate());
        }
        dbSession.commit();
    }
}
Also used : DbSession(org.sonar.db.DbSession) Metric(org.sonar.ce.task.projectanalysis.metric.Metric) QualityProfile(org.sonar.server.qualityprofile.QualityProfile) Component(org.sonar.ce.task.projectanalysis.component.Component)

Example 35 with Metric

use of org.sonar.ce.task.projectanalysis.metric.Metric in project sonarqube by SonarSource.

the class ComputeQProfileMeasureStep method execute.

@Override
public void execute(ComputationStep.Context context) {
    Metric qProfilesMetric = metricRepository.getByKey(CoreMetrics.QUALITY_PROFILES_KEY);
    new PathAwareCrawler<>(new QProfileAggregationComponentVisitor(qProfilesMetric)).visit(treeRootHolder.getRoot());
}
Also used : Metric(org.sonar.ce.task.projectanalysis.metric.Metric)

Aggregations

Metric (org.sonar.ce.task.projectanalysis.metric.Metric)35 Test (org.junit.Test)16 Measure (org.sonar.ce.task.projectanalysis.measure.Measure)15 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)5 MetricImpl (org.sonar.ce.task.projectanalysis.metric.MetricImpl)5 Condition (org.sonar.ce.task.projectanalysis.qualitygate.Condition)4 ImmutableMap (com.google.common.collect.ImmutableMap)2 Map (java.util.Map)2 QualityGateStatus (org.sonar.ce.task.projectanalysis.measure.QualityGateStatus)2 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 RuleType (org.sonar.api.rules.RuleType)1 Branch (org.sonar.ce.task.projectanalysis.analysis.Branch)1 Component (org.sonar.ce.task.projectanalysis.component.Component)1 EvaluatedCondition (org.sonar.ce.task.projectanalysis.measure.qualitygatedetails.EvaluatedCondition)1 QualityGateDetailsData (org.sonar.ce.task.projectanalysis.measure.qualitygatedetails.QualityGateDetailsData)1 MetricType (org.sonar.ce.task.projectanalysis.metric.Metric.MetricType)1 EvaluationResult (org.sonar.ce.task.projectanalysis.qualitygate.EvaluationResult)1 QualityGate (org.sonar.ce.task.projectanalysis.qualitygate.QualityGate)1 TestComputationStepContext (org.sonar.ce.task.step.TestComputationStepContext)1