This sounds like an issue I raised on the user list today:
http://n2.nabble.com/Canonical-order-of-POM-elements-tc4219932.html#a4219932

I definitely want (but not mandated) a canonical POM ordering of elements.

Paul

On Sun, Dec 27, 2009 at 4:46 PM, Dennis Lundberg <[email protected]> wrote:
> I'm -1 on this change.
>
> We, the Maven project, have our own POM code conventions. Other
> project/companies may follow ours or they may have their own
> conventions. At my day job we follow the order of the (current) POM
> documentation. Reordering the documentation will confuse people that are
> already using it. What is the gain by this change?
>
> If we want to have the POM ordered in a certain way, we should enforce
> that in the next POM version instead. That would mean making it possible
> in Modello to have the schema enforce the order of the elements in the POM.
>
>
>
> [email protected] wrote:
>> Author: hboutemy
>> Date: Sun Dec 27 17:08:02 2009
>> New Revision: 894080
>>
>> URL: http://svn.apache.org/viewvc?rev=894080&view=rev
>> Log:
>> reordered maven.mdo fields to better match POM Code Convention.
>> Note: remaining issues cannot easily be fixed since Model inherits from 
>> ModelBase, then any field in ModelBase appears at the end of Model (after 
>> build and profiles elements)
>>
>> Modified:
>>     maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo
>>
>> Modified: 
>> maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo
>> URL: 
>> http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo?rev=894080&r1=894079&r2=894080&view=diff
>> ==============================================================================
>> --- maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo 
>> (original)
>> +++ maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo 
>> Sun Dec 27 17:08:02 2009
>> @@ -316,15 +316,6 @@
>>            </association>
>>          </field>
>>          <field xdoc.separator="blank">
>> -          <name>mailingLists</name>
>> -          <version>3.0.0+</version>
>> -          <description>Contains information about a project's mailing 
>> lists.</description>
>> -          <association>
>> -            <type>MailingList</type>
>> -            <multiplicity>*</multiplicity>
>> -          </association>
>> -        </field>
>> -        <field xdoc.separator="blank">
>>            <name>developers</name>
>>            <version>3.0.0+</version>
>>            <description>Describes the committers of a project.</description>
>> @@ -343,22 +334,26 @@
>>            </association>
>>          </field>
>>
>> +        <field xdoc.separator="blank">
>> +          <name>mailingLists</name>
>> +          <version>3.0.0+</version>
>> +          <description>Contains information about a project's mailing 
>> lists.</description>
>> +          <association>
>> +            <type>MailingList</type>
>> +            <multiplicity>*</multiplicity>
>> +          </association>
>> +        </field>
>> +
>>          <!-- 
>> ====================================================================== -->
>> -        <!-- Issue Tracking                                                 
>>         -->
>> +        <!-- Build prerequisites                                            
>>         -->
>>          <!-- 
>> ====================================================================== -->
>>
>>          <field xdoc.separator="blank">
>> -          <name>issueTrackingUrl</name>
>> -          <version>3.0.0</version>
>> -          <description>The URL of the project's issue tracking 
>> system.</description>
>> -          <type>String</type>
>> -        </field>
>> -        <field xdoc.separator="blank">
>> -          <name>issueManagement</name>
>> +          <name>prerequisites</name>
>>            <version>4.0.0</version>
>> -          <description>The project's issue management system 
>> information.</description>
>> +          <description>Describes the prerequisites in the build environment 
>> for this project.</description>
>>            <association>
>> -            <type>IssueManagement</type>
>> +            <type>Prerequisites</type>
>>            </association>
>>          </field>
>>
>> @@ -387,7 +382,7 @@
>>              <type>Repository</type>
>>            </association>
>>          </field>
>> -        <field>
>> +        <field xdoc.separator="blank">
>>            <name>scm</name>
>>            <version>4.0.0</version>
>>            <description>Specification for the SCM used by the project, such 
>> as CVS, Subversion, etc.</description>
>> @@ -397,6 +392,25 @@
>>          </field>
>>
>>          <!-- 
>> ====================================================================== -->
>> +        <!-- Issue Tracking                                                 
>>         -->
>> +        <!-- 
>> ====================================================================== -->
>> +
>> +        <field>
>> +          <name>issueTrackingUrl</name>
>> +          <version>3.0.0</version>
>> +          <description>The URL of the project's issue tracking 
>> system.</description>
>> +          <type>String</type>
>> +        </field>
>> +        <field>
>> +          <name>issueManagement</name>
>> +          <version>4.0.0</version>
>> +          <description>The project's issue management system 
>> information.</description>
>> +          <association>
>> +            <type>IssueManagement</type>
>> +          </association>
>> +        </field>
>> +
>> +        <!-- 
>> ====================================================================== -->
>>          <!-- CI Management                                                  
>>         -->
>>          <!-- 
>> ====================================================================== -->
>>
>> @@ -493,19 +507,6 @@
>>          </field>
>>
>>          <!-- 
>> ====================================================================== -->
>> -        <!-- Build prerequisites                                            
>>         -->
>> -        <!-- 
>> ====================================================================== -->
>> -
>> -        <field xdoc.separator="blank">
>> -          <name>prerequisites</name>
>> -          <version>4.0.0</version>
>> -          <description>Describes the prerequisites in the build environment 
>> for this project.</description>
>> -          <association>
>> -            <type>Prerequisites</type>
>> -          </association>
>> -        </field>
>> -
>> -        <!-- 
>> ====================================================================== -->
>>          <!-- Build                                                          
>>         -->
>>          <!-- 
>> ====================================================================== -->
>>
>> @@ -597,15 +598,6 @@
>>          ]]>
>>        </description>
>>        <fields>
>> -        <field>
>> -          <name>distributionManagement</name>
>> -          <version>4.0.0</version>
>> -          <description>Distribution information for a project that enables 
>> deployment of the site
>> -            and artifacts to remote web servers and repositories 
>> respectively.</description>
>> -          <association>
>> -            <type>DistributionManagement</type>
>> -          </association>
>> -        </field>
>>          <field xdoc.separator="blank">
>>            <name>modules</name>
>>            <version>4.0.0</version>
>> @@ -617,26 +609,44 @@
>>            </association>
>>          </field>
>>          <field xdoc.separator="blank">
>> -          <name>repositories</name>
>> +          <name>distributionManagement</name>
>>            <version>4.0.0</version>
>> -          <description>The lists of the remote repositories for discovering 
>> dependencies and
>> -            extensions.</description>
>> +          <description>Distribution information for a project that enables 
>> deployment of the site
>> +            and artifacts to remote web servers and repositories 
>> respectively.</description>
>>            <association>
>> -            <type>Repository</type>
>> -            <multiplicity>*</multiplicity>
>> +            <type>DistributionManagement</type>
>>            </association>
>>          </field>
>> -        <field>
>> -          <name>pluginRepositories</name>
>> +        <field xdoc.separator="blank">
>> +          <name>properties</name>
>>            <version>4.0.0</version>
>> -          <description>The lists of the remote repositories for discovering 
>> plugins for builds and
>> -            reports.</description>
>> -          <association>
>> -            <type>Repository</type>
>> +          <description>
>> +            <![CDATA[
>> +            Properties that can be used throughout the POM as a 
>> substitution, and
>> +            are used as filters in resources if enabled.
>> +            The format is <code>&lt;name&gt;value&lt;/name&gt;</code>.
>> +            ]]>
>> +          </description>
>> +          <type>Properties</type>
>> +          <association xml.mapStyle="inline">
>> +            <type>String</type>
>>              <multiplicity>*</multiplicity>
>>            </association>
>>          </field>
>>          <field xdoc.separator="blank">
>> +          <name>dependencyManagement</name>
>> +          <version>4.0.0</version>
>> +          <required>false</required>
>> +          <description>Default dependency information for projects that 
>> inherit from this one. The
>> +            dependencies in this section are not immediately resolved. 
>> Instead, when a POM derived
>> +            from this one declares a dependency described by a matching 
>> groupId and artifactId, the
>> +            version and other values from this section are used for that 
>> dependency if they were not
>> +            already specified.</description>
>> +          <association>
>> +            <type>DependencyManagement</type>
>> +          </association>
>> +        </field>
>> +        <field>
>>            <name>dependencies</name>
>>            <version>3.0.0+</version>
>>            <description>
>> @@ -656,6 +666,26 @@
>>            </association>
>>          </field>
>>          <field xdoc.separator="blank">
>> +          <name>repositories</name>
>> +          <version>4.0.0</version>
>> +          <description>The lists of the remote repositories for discovering 
>> dependencies and
>> +            extensions.</description>
>> +          <association>
>> +            <type>Repository</type>
>> +            <multiplicity>*</multiplicity>
>> +          </association>
>> +        </field>
>> +        <field>
>> +          <name>pluginRepositories</name>
>> +          <version>4.0.0</version>
>> +          <description>The lists of the remote repositories for discovering 
>> plugins for builds and
>> +            reports.</description>
>> +          <association>
>> +            <type>Repository</type>
>> +            <multiplicity>*</multiplicity>
>> +          </association>
>> +        </field>
>> +        <field xdoc.separator="blank">
>>            <name>reports</name>
>>            <version>4.0.0</version>
>>            <description>
>> @@ -680,35 +710,6 @@
>>              <type>Reporting</type>
>>            </association>
>>          </field>
>> -        <field xdoc.separator="blank">
>> -          <name>dependencyManagement</name>
>> -          <version>4.0.0</version>
>> -          <required>false</required>
>> -          <description>Default dependency information for projects that 
>> inherit from this one. The
>> -            dependencies in this section are not immediately resolved. 
>> Instead, when a POM derived
>> -            from this one declares a dependency described by a matching 
>> groupId and artifactId, the
>> -            version and other values from this section are used for that 
>> dependency if they were not
>> -            already specified.</description>
>> -          <association>
>> -            <type>DependencyManagement</type>
>> -          </association>
>> -        </field>
>> -        <field xdoc.separator="blank">
>> -          <name>properties</name>
>> -          <version>4.0.0</version>
>> -          <description>
>> -            <![CDATA[
>> -            Properties that can be used throughout the POM as a 
>> substitution, and
>> -            are used as filters in resources if enabled.
>> -            The format is <code>&lt;name&gt;value&lt;/name&gt;</code>.
>> -            ]]>
>> -          </description>
>> -          <type>Properties</type>
>> -          <association xml.mapStyle="inline">
>> -            <type>String</type>
>> -            <multiplicity>*</multiplicity>
>> -          </association>
>> -        </field>
>>        </fields>
>>      </class>
>>      <class>
>>
>>
>>
>
>
> --
> Dennis Lundberg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to