From fca030e92ec9708b65fd922de2b2af7ff74ef514 Mon Sep 17 00:00:00 2001 From: Valentin Delaye Date: Sun, 1 Mar 2026 16:35:50 +0100 Subject: [PATCH 1/3] Jackson3 update --- plugin/pom.xml | 4 ++-- .../plugins/coverage/metrics/steps/CoverageViewModel.java | 8 ++++---- .../plugins/coverage/metrics/steps/TrendChartFactory.java | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugin/pom.xml b/plugin/pom.xml index 9f6126127..f5b5fe064 100644 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -111,8 +111,8 @@ workflow-step-api - org.jenkins-ci.plugins - jackson2-api + io.jenkins.plugins + jackson3-api io.jenkins.plugins diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java index 03f55c5ba..77cb43ee0 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java @@ -4,9 +4,8 @@ import org.apache.commons.lang3.Strings; import org.apache.commons.lang3.exception.ExceptionUtils; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.type.TypeReference; +import tools.jackson.databind.ObjectMapper; import edu.hm.hafner.coverage.Coverage; import edu.hm.hafner.coverage.FileNode; @@ -35,6 +34,7 @@ import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.bind.JavaScriptMethod; +import tools.jackson.core.JacksonException; import hudson.model.Api; import hudson.model.ModelObject; import hudson.model.Run; @@ -240,7 +240,7 @@ private ColorProvider createColorProvider(final String json) { Map colorMapping = mapper.readValue(json, new ColorMappingType()); return ColorProviderFactory.createColorProvider(colorMapping); } - catch (JsonProcessingException e) { + catch (JacksonException e) { return ColorProviderFactory.createDefaultColorProvider(); } } diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java index 3796bb220..9ad1bf03d 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java @@ -1,8 +1,8 @@ package io.jenkins.plugins.coverage.metrics.steps; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; import edu.hm.hafner.coverage.Metric; import edu.hm.hafner.coverage.Value; @@ -80,7 +80,7 @@ Set getVisibleMetrics(final String configuration) { .collect(Collectors.toSet()); } } - catch (JsonProcessingException | ClassCastException | IllegalArgumentException ignored) { + catch (JacksonException | ClassCastException | IllegalArgumentException ignored) { // ignore and return default values } From 3035c24b077795c64d54bdda777d6f20fa285572 Mon Sep 17 00:00:00 2001 From: Valentin Delaye Date: Mon, 13 Apr 2026 13:48:25 +0200 Subject: [PATCH 2/3] JacksonException is now a runtime exception --- .../coverage/metrics/steps/CoverageViewModel.java | 12 +++--------- .../coverage/metrics/steps/TrendChartFactory.java | 3 +-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java index 77cb43ee0..62a36e1aa 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java @@ -34,7 +34,6 @@ import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.bind.JavaScriptMethod; -import tools.jackson.core.JacksonException; import hudson.model.Api; import hudson.model.ModelObject; import hudson.model.Run; @@ -235,14 +234,9 @@ public void setJenkinsColors(final String colors) { * @return the created color provider */ private ColorProvider createColorProvider(final String json) { - try { - var mapper = new ObjectMapper(); - Map colorMapping = mapper.readValue(json, new ColorMappingType()); - return ColorProviderFactory.createColorProvider(colorMapping); - } - catch (JacksonException e) { - return ColorProviderFactory.createDefaultColorProvider(); - } + var mapper = new ObjectMapper(); + Map colorMapping = mapper.readValue(json, new ColorMappingType()); + return ColorProviderFactory.createColorProvider(colorMapping); } @JavaScriptMethod diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java index 9ad1bf03d..c9e0790b9 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java @@ -2,7 +2,6 @@ import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ObjectNode; -import tools.jackson.core.JacksonException; import edu.hm.hafner.coverage.Metric; import edu.hm.hafner.coverage.Value; @@ -80,7 +79,7 @@ Set getVisibleMetrics(final String configuration) { .collect(Collectors.toSet()); } } - catch (JacksonException | ClassCastException | IllegalArgumentException ignored) { + catch (ClassCastException | IllegalArgumentException ignored) { // ignore and return default values } From b281f01486ce5094d403a62aece11b69e61e05aa Mon Sep 17 00:00:00 2001 From: Valentin Delaye Date: Wed, 15 Apr 2026 04:10:39 +0200 Subject: [PATCH 3/3] Revert "JacksonException is now a runtime exception" This reverts commit 3035c24b077795c64d54bdda777d6f20fa285572. --- .../coverage/metrics/steps/CoverageViewModel.java | 12 +++++++++--- .../coverage/metrics/steps/TrendChartFactory.java | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java index 62a36e1aa..77cb43ee0 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModel.java @@ -34,6 +34,7 @@ import org.kohsuke.stapler.StaplerRequest2; import org.kohsuke.stapler.StaplerResponse2; import org.kohsuke.stapler.bind.JavaScriptMethod; +import tools.jackson.core.JacksonException; import hudson.model.Api; import hudson.model.ModelObject; import hudson.model.Run; @@ -234,9 +235,14 @@ public void setJenkinsColors(final String colors) { * @return the created color provider */ private ColorProvider createColorProvider(final String json) { - var mapper = new ObjectMapper(); - Map colorMapping = mapper.readValue(json, new ColorMappingType()); - return ColorProviderFactory.createColorProvider(colorMapping); + try { + var mapper = new ObjectMapper(); + Map colorMapping = mapper.readValue(json, new ColorMappingType()); + return ColorProviderFactory.createColorProvider(colorMapping); + } + catch (JacksonException e) { + return ColorProviderFactory.createDefaultColorProvider(); + } } @JavaScriptMethod diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java index c9e0790b9..9ad1bf03d 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/TrendChartFactory.java @@ -2,6 +2,7 @@ import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ObjectNode; +import tools.jackson.core.JacksonException; import edu.hm.hafner.coverage.Metric; import edu.hm.hafner.coverage.Value; @@ -79,7 +80,7 @@ Set getVisibleMetrics(final String configuration) { .collect(Collectors.toSet()); } } - catch (ClassCastException | IllegalArgumentException ignored) { + catch (JacksonException | ClassCastException | IllegalArgumentException ignored) { // ignore and return default values }