Skip to content

Commit

Permalink
Move quality gate API to plugin-util.
Browse files Browse the repository at this point in the history
  • Loading branch information
uhafner committed Jan 1, 2024
1 parent 5682c3a commit 9b3e82b
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 62 deletions.
2 changes: 1 addition & 1 deletion plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
<!-- Jenkins Plug-in Dependencies Versions -->
<git-forensics.version>2.0.0</git-forensics.version>
<prism-api.version>1.29.0-8</prism-api.version>
<plugin-util-api.version>3.9.0-rc847.81820ecdfde2</plugin-util-api.version>
<plugin-util-api.version>3.9.0-rc848.2d5e600a_712a_</plugin-util-api.version>

<!-- Test Library Dependencies Versions -->
<xmlunit.version>2.9.1</xmlunit.version>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
package io.jenkins.plugins.coverage.metrics.restapi;

import java.util.Collection;
import java.util.Locale;
import java.util.NavigableMap;
import java.util.TreeMap;
import java.util.stream.Collectors;

import edu.hm.hafner.coverage.Metric;

import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import hudson.model.Result;

import io.jenkins.plugins.coverage.metrics.model.Baseline;
import io.jenkins.plugins.coverage.metrics.model.CoverageStatistics;
import io.jenkins.plugins.coverage.metrics.model.ElementFormatter;
import io.jenkins.plugins.util.QualityGate.QualityGateResultApi;
import io.jenkins.plugins.util.QualityGateResult;
import io.jenkins.plugins.util.QualityGateResult.QualityGateResultItem;

/**
* Remote API to list the details of the coverage results.
Expand Down Expand Up @@ -127,61 +124,4 @@ private NavigableMap<String, String> mapToStrings(final Baseline baseline) {

return values;
}

/**
* Remote API to list the overview of the quality gate evaluation.
*/
@ExportedBean
public static class QualityGateResultApi {
private final QualityGateResult qualityGateResult;

QualityGateResultApi(final QualityGateResult qualityGateResult) {
this.qualityGateResult = qualityGateResult;
}

@Exported(inline = true)
public Result getOverallResult() {
return qualityGateResult.getOverallStatus().getResult();
}

@Exported(inline = true)
public Collection<QualityGateItemApi> getResultItems() {
return qualityGateResult.getResultItems()
.stream()
.map(QualityGateItemApi::new)
.collect(Collectors.toList());
}
}

/**
* Remote API to show the content of an individual quality gate item.
*/
@ExportedBean
public static class QualityGateItemApi {
private final QualityGateResultItem item;

QualityGateItemApi(final QualityGateResultItem item) {
this.item = item;
}

@Exported
public String getQualityGate() {
return item.getQualityGate().getName();
}

@Exported
public double getThreshold() {
return item.getQualityGate().getThreshold();
}

@Exported(inline = true)
public Result getResult() {
return item.getStatus().getResult();
}

@Exported
public String getValue() {
return item.getActualValue();
}
}
}

0 comments on commit 9b3e82b

Please sign in to comment.