[ https://issues.apache.org/jira/browse/ARCHETYPE-584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17008264#comment-17008264 ]
Ruwen Reddig commented on ARCHETYPE-584: ---------------------------------------- Stumpled over the same problem yesterday. Please have a look at my PR. I added some explanation in the github comment. Here is a minimal, reproducible example of the problem + fix {code:java} public static void main(String[] args) throws Exception { String dummyPom = "<project " + "xmlns=\"http://maven.apache.org/POM/4.0.0\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + "xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 " + "http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n" + " <modelVersion>4.0.0</modelVersion>\n" + " <packaging>pom</packaging>\n" + "</project>"; InputSource inputSource = new InputSource(); inputSource.setCharacterStream( new StringReader(dummyPom) ); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // uncomment the following lines to see the fix(?) //dbf.setIgnoringElementContentWhitespace(true); dbf.setNamespaceAware(true); dbf.setSchema( getSchema() ); Document document = dbf.newDocumentBuilder().parse( inputSource ); Transformer tr = TransformerFactory.newInstance().newTransformer(); tr.setOutputProperty( OutputKeys.INDENT, "yes" ); // comment this line and output still looks okay?!! tr.setOutputProperty( "{http://xml.apache.org/xslt}indent-amount", "2" ); StringWriter fileWriter = new StringWriter(); tr.transform( new DOMSource( document ), new StreamResult( fileWriter ) ); System.out.println(fileWriter.toString()); } private static Schema getSchema() throws SAXException, MalformedURLException { URI uri = URI.create("https://maven.apache.org/xsd/maven-4.0.0.xsd"); return SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI) .newSchema(uri.toURL()); } {code} > Resulting root pom.xml from archetype generation has bad indentation > -------------------------------------------------------------------- > > Key: ARCHETYPE-584 > URL: https://issues.apache.org/jira/browse/ARCHETYPE-584 > Project: Maven Archetype > Issue Type: Bug > Components: Archetypes > Affects Versions: 3.1.1, 3.1.2 > Reporter: Andre Prata > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > This issue does not apply to version 3.1.0, it was introduced in version > 3.1.0. > > In our project, we have the default configuration of the root pom.xml that > contains lines such as this: > {code:java} > <properties> > <java.version>11</java.version> > <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version> > </properties> > {code} > These lines are still in good shape when added to the jar artifact. However, > upon generating the project from the archetype, we get the following (note > also the whitespace on the blank lines hinting at some indentation attempts, > not just the unexpected line breaks) > {code:java} > <properties> > > > <java.version>11</java.version> > > > <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version> > > </properties> > > {code} > This issue does *not* occur in in child module pom.xml files. -- This message was sent by Atlassian Jira (v8.3.4#803005)