The component POMs currently have many different layouts.

This makes it harder to compare POMs (can be useful for debugging failures) and makes it harder to find one's way around.

The following is a suggested overall layout based on the Maven Coding convention.

Two changes are made:

  • the developers and contributors sections can be quite large, so are moved to the end.
  • the properties section is moved to where the developers/contributors section was, i.e. after the project description block.

This means that most of the customised data is near the start.

Within tags, the ordering should follow the Maven Model.

Note that not all the entries are required, e.g. <packaging> is unlikely to be needed

<project>
    <modelVersion/>

    <parent/>

    <groupId/>
    <artifactId/>
    <version/>
    <packaging/>

    <name/>
    <description/>
    <url/>
    <inceptionYear/>
    <organization/>
    <licenses/>

    <properties/>

    <mailingLists/>

    <prerequisites/>

    <modules/>

    <scm/>
    <issueManagement/>
    <ciManagement/>
    <distributionManagement/>

    <dependencyManagement/>
    <dependencies/>

    <repositories/>
    <pluginRepositories/>

    <build/>

    <reporting/>

    <profiles/>

    <developers/>
    <contributors/>

</project>

  • No labels