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));
+ }
+
}