[maven-repo-helper] 01/01: Always write the transformed poms in UTF-8
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Tue Jul 21 07:43:37 UTC 2015
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository maven-repo-helper.
commit 868d5bf912a1ce1fda4a8ea3202e3c8efd2f32ab
Author: Emmanuel Bourg <ebourg at apache.org>
Date: Tue Jul 21 09:42:23 2015 +0200
Always write the transformed poms in UTF-8
---
debian/changelog | 4 ++--
src/main/java/org/debian/maven/repo/POMTransformer.java | 5 +++--
src/main/java/org/debian/maven/util/Readers.java | 4 ++++
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c0cf205..5e100f3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
maven-repo-helper (1.8.12) UNRELEASED; urgency=medium
* Fixed a parsing error with poms containing a byte order mark
- * Always use ISO-8859-1 as the default charset when transforming poms
- to improve the reproducibility of the builds
+ * Always use the same system independent encoding when transforming
+ the pom files to improve the reproducibility of the builds.
-- Emmanuel Bourg <ebourg at apache.org> Tue, 21 Jul 2015 00:39:42 +0200
diff --git a/src/main/java/org/debian/maven/repo/POMTransformer.java b/src/main/java/org/debian/maven/repo/POMTransformer.java
index b90c9f6..2dfa674 100644
--- a/src/main/java/org/debian/maven/repo/POMTransformer.java
+++ b/src/main/java/org/debian/maven/repo/POMTransformer.java
@@ -19,8 +19,9 @@ package org.debian.maven.repo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.*;
import java.util.logging.Level;
@@ -278,7 +279,7 @@ public class POMTransformer extends POMReader {
String element = null;
boolean afterText = false;
XMLStreamReader parser = factory.createXMLStreamReader(new BufferedReader(Readers.read(originalPom)));
- out = new BufferedWriter(new FileWriter(targetPom));
+ out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(targetPom), "UTF-8"));
XMLStreamWriter writer = outFactory.createXMLStreamWriter(out);
XMLWriterWrapper writerWrapper = new XMLWriterWrapper(writer);
diff --git a/src/main/java/org/debian/maven/util/Readers.java b/src/main/java/org/debian/maven/util/Readers.java
index d222c52..c6df6ad 100644
--- a/src/main/java/org/debian/maven/util/Readers.java
+++ b/src/main/java/org/debian/maven/util/Readers.java
@@ -32,6 +32,10 @@ public class Readers {
/**
* Detects a BOM in the specified input stream and returns a Reader
* using the charset detected, or ISO-8859-1 otherwise.
+ * ISO-8859-1 is used by default because it won't break on invalid
+ * byte sequences unlike UTF-8. This may corrupt some non functionnal
+ * texts of the poms, but it guarantees the build will never break
+ * on corrupted characters.
*/
public static Reader read(InputStream in) throws IOException {
BOMInputStream bis = new BOMInputStream(in, false, UTF_8, UTF_16BE, UTF_16LE, UTF_32BE, UTF_32LE);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven-repo-helper.git
More information about the pkg-java-commits
mailing list