Currently, this fragile post-processing is needed to make the content in a file generated with -Doutput=... parseable:
<move overwrite="true" file="${deploy.effective.pom.xml.file}.tmp" tofile="${deploy.effective.pom.xml.file}">
<filterchain>
<replaceregex pattern="^(Created by
" replace='<!--
\1' />
<replaceregex pattern="^<.xml .*>(<project>)" replace='-->
\1' />
<replaceregex pattern="^*+$" replace='' />
</filterchain>
</move>
Solution: Either add XML comments in the generation markup, or only output the XML proper to the output file, leaving the text out of it.
We could make xml comments only if reactorProjects is empty.
If reactorProjects is not empty, the output file appends all effective poms in one file and thus it is an invalid xml file.