From 72529df46a149d505fa8438b57731736e09aa146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Brand=C3=A3o?= Date: Wed, 28 Oct 2015 20:34:44 -0200 Subject: [PATCH] - Including jacoco logo (48x48 png) - Including summary.jelly for JacocoBuildAction, which will be presented on build status page - Including JacocoBuildAction.getCoverageRatios to expose coverage ratios to summary.jelly in order to build the table showing coverage sumary for the current build --- .../plugins/jacoco/JacocoBuildAction.java | 31 ++++++++++++++++++ .../jacoco/JacocoBuildAction/summary.jelly | 17 ++++++++++ src/main/webapp/icons/jacoco-48x48.png | Bin 0 -> 3399 bytes 3 files changed, 48 insertions(+) create mode 100644 src/main/resources/hudson/plugins/jacoco/JacocoBuildAction/summary.jelly create mode 100644 src/main/webapp/icons/jacoco-48x48.png diff --git a/src/main/java/hudson/plugins/jacoco/JacocoBuildAction.java b/src/main/java/hudson/plugins/jacoco/JacocoBuildAction.java index 7d5adb94..9e472245 100644 --- a/src/main/java/hudson/plugins/jacoco/JacocoBuildAction.java +++ b/src/main/java/hudson/plugins/jacoco/JacocoBuildAction.java @@ -240,6 +240,37 @@ public JacocoBuildAction getPreviousResult() { return getPreviousResult(owner); } + /** + * @return Map to represents coverage objects and its status to show on build status page (summary.jelly). + */ + public Map getCoverageRatios(){ + CoverageReport result = getResult(); + Map ratios = new LinkedHashMap(); + if( result != null ) { + Coverage instructionCoverage = result.getInstructionCoverage(); + Coverage classCoverage = result.getClassCoverage(); + Coverage complexityScore = result.getComplexityScore(); + Coverage branchCoverage = result.getBranchCoverage(); + Coverage lineCoverage = result.getLineCoverage(); + Coverage methodCoverage = result.getMethodCoverage(); + + instructionCoverage.setType(CoverageElement.Type.INSTRUCTION); + classCoverage.setType(CoverageElement.Type.CLASS); + complexityScore.setType(CoverageElement.Type.COMPLEXITY); + branchCoverage.setType(CoverageElement.Type.BRANCH); + lineCoverage.setType(CoverageElement.Type.LINE); + methodCoverage.setType(CoverageElement.Type.METHOD); + + ratios.put(instructionCoverage,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(instructionCoverage)); + ratios.put(branchCoverage,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(branchCoverage)); + ratios.put(complexityScore,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(complexityScore)); + ratios.put(lineCoverage,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(lineCoverage)); + ratios.put(methodCoverage,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(methodCoverage)); + ratios.put(classCoverage,JacocoHealthReportThresholds.RESULT.BELLOWMINIMUM == thresholds.getResultByTypeAndRatio(classCoverage)); + } + return ratios; + } + /** * Gets the previous {@link JacocoBuildAction} of the given build. */ diff --git a/src/main/resources/hudson/plugins/jacoco/JacocoBuildAction/summary.jelly b/src/main/resources/hudson/plugins/jacoco/JacocoBuildAction/summary.jelly new file mode 100644 index 00000000..fa55433d --- /dev/null +++ b/src/main/resources/hudson/plugins/jacoco/JacocoBuildAction/summary.jelly @@ -0,0 +1,17 @@ + + + + Jacoco - ${%Overall Coverage Summary} + + + + + + + + +
${coverageRatio.key.type}${coverageRatio.key.percentage}%
+
+
\ No newline at end of file diff --git a/src/main/webapp/icons/jacoco-48x48.png b/src/main/webapp/icons/jacoco-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..c281a43b31a854680fd807d2a1bff540806e739b GIT binary patch literal 3399 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 literal 0 HcmV?d00001