diff --git a/artifact/src/main/org/apache/maven/artifact/PomRewriter.java b/artifact/src/main/org/apache/maven/artifact/PomRewriter.java index 6337edcd..8aa2eb13 100644 --- a/artifact/src/main/org/apache/maven/artifact/PomRewriter.java +++ b/artifact/src/main/org/apache/maven/artifact/PomRewriter.java @@ -16,14 +16,6 @@ package org.apache.maven.artifact; * limitations under the License. */ -import java.io.File; -import java.io.FileWriter; -import java.io.StringReader; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - import org.apache.commons.jelly.JellyContext; import org.apache.maven.MavenException; import org.apache.maven.MavenUtils; @@ -35,6 +27,17 @@ import org.apache.maven.project.io.stax.MavenStaxReader; import org.apache.maven.project.io.stax.MavenStaxWriter; import org.codehaus.plexus.util.IOUtil; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStreamWriter; +import java.io.StringReader; +import java.io.Writer; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + /** * Rewrite a full model for publishing. Inheritence and expression will have been resolved. * @@ -47,16 +50,16 @@ public class PomRewriter throws MavenException { final Model model = PomRewriter.getRewrittenModel( project.getFile(), project.getContext() ); - - FileWriter w = null; + if ( model.getModelEncoding() == null ) + model.setModelEncoding( "UTF-8" ); + Writer w = null; try { final MavenStaxWriter writer = new MavenStaxWriter(); final File f = File.createTempFile( "maven-artifact-plugin.", null ); f.deleteOnExit(); - w = new FileWriter( f ); + w = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( f ), model.getModelEncoding() ) ); writer.write( w, model ); - return f; } catch ( final Exception e )