in src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java [588:626]
private void writeChangelogXml( List<ChangeLogSet> changelogList )
throws IOException
{
StringBuilder changelogXml = new StringBuilder();
changelogXml.append( "<?xml version=\"1.0\" encoding=\"" ).append( getOutputEncoding() ).append( "\"?>\n" );
changelogXml.append( "<changelog>" );
for ( ChangeLogSet changelogSet : changelogList )
{
changelogXml.append( "\n " );
String changeset = changelogSet.toXML( getOutputEncoding() );
//remove xml header
if ( changeset.startsWith( "<?xml" ) )
{
int idx = changeset.indexOf( "?>" ) + 2;
changeset = changeset.substring( idx );
}
changelogXml.append( changeset );
}
changelogXml.append( "\n</changelog>" );
outputXML.getParentFile().mkdirs();
//PrintWriter pw = new PrintWriter( new BufferedOutputStream( new FileOutputStream( outputXML ) ) );
//pw.write( changelogXml.toString() );
//pw.flush();
//pw.close();
// MCHANGELOG-86
Writer writer = WriterFactory.newWriter( new BufferedOutputStream( new FileOutputStream( outputXML ) ),
getOutputEncoding() );
writer.write( changelogXml.toString() );
writer.flush();
writer.close();
}