diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index 510f24fb..a2d496cc 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -2,6 +2,6 @@ io.jenkins.tools.incrementals git-changelist-maven-extension - 1.0-beta-3 + 1.0-beta-4 diff --git a/pom.xml b/pom.xml index fc164824..e519c0b7 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.jenkins-ci.plugins plugin - 3.14 + 3.19 org.jenkins-ci.plugins.workflow @@ -64,11 +64,11 @@ 2.24 -SNAPSHOT - 2.62 + 2.73.3 8 false - 2.17 - 2.1.1 + 2.20 + 2.2.6 3.2.0 2.33 @@ -104,7 +104,7 @@ org.jenkins-ci.plugins structs - 1.7 + 1.10 test diff --git a/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java b/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java index 38e6ac1f..53b9f5e4 100644 --- a/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java +++ b/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java @@ -71,7 +71,6 @@ import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; -import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -230,7 +229,7 @@ StreamBuildListener getListener() { if (listener == null) { try { OutputStream logger = new FileOutputStream(getLogFile(), true); - listener = new StreamBuildListener(logger, Charset.defaultCharset()); + listener = new StreamBuildListener(logger, getCharset()); } catch (FileNotFoundException fnf) { LOGGER.log(Level.WARNING, "Error trying to open build log file for writing, output will be lost: "+getLogFile(), fnf); return NULL_LISTENER; @@ -282,6 +281,7 @@ public WorkflowRun(WorkflowJob job, File dir) throws IOException { } try { onStartBuilding(); + charset = "UTF-8"; // cannot override getCharset, and various Run methods do not call it anyway StreamBuildListener myListener = getListener(); myListener.started(getCauses()); Authentication auth = Jenkins.getAuthentication(); diff --git a/src/test/java/org/jenkinsci/plugins/workflow/job/WorkflowRunTest.java b/src/test/java/org/jenkinsci/plugins/workflow/job/WorkflowRunTest.java index 6b8766b4..7a23f8fb 100644 --- a/src/test/java/org/jenkinsci/plugins/workflow/job/WorkflowRunTest.java +++ b/src/test/java/org/jenkinsci/plugins/workflow/job/WorkflowRunTest.java @@ -469,4 +469,12 @@ private void assertCulprits(WorkflowRun b, String... expectedIds) throws IOExcep } } + @Issue("JENKINS-31096") + @Test public void unicode() throws Exception { + WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p"); + String message = "¡Čau → there!"; + p.setDefinition(new CpsFlowDefinition("echo '" + message + "'", true)); + r.assertLogContains(message, r.buildAndAssertSuccess(p)); + } + }