+1 for a canonical POM ordering of elements we could check it as an enforcer rule (activated by people interested in it). We need a tool too to help reorder the POM. Sorry, I don't have time to work on it for the moment, but definetely +1 :)
Regards, Hervé ----- Mail Original ----- De: "Paul Benedict" <[email protected]> À: "Maven Developers List" <[email protected]> Envoyé: Lundi 28 Décembre 2009 00h49:43 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: svn commit: r894080 - /maven/maven-2/branches/maven-2.2.x/maven-model/src/main/mdo/maven.mdo 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><name>value</name></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><name>value</name></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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
