You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/08/26 00:25:53 UTC

svn commit: r688905 [2/3] - in /maven/components/branches/maven-2.0.x: ./ apache-maven/ apache-maven/src/bin/ apache-maven/src/conf/ apache-maven/src/site/ bootstrap/ maven-artifact-manager/ maven-artifact-manager/src/site/ maven-artifact-test/ maven-a...

Modified: maven/components/branches/maven-2.0.x/maven-model/src/main/mdo/maven.mdo
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-model/src/main/mdo/maven.mdo?rev=688905&r1=688904&r2=688905&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-model/src/main/mdo/maven.mdo (original)
+++ maven/components/branches/maven-2.0.x/maven-model/src/main/mdo/maven.mdo Mon Aug 25 15:25:50 2008
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 
 <!--
   Licensed to the Apache Software Foundation (ASF) under one
@@ -20,6 +20,7 @@
 -->
 
 <!--
+  | Improvements:
   |
   | o add specification element to a field, this would be more a technical description of
   |   what is allowed in the field.
@@ -29,7 +30,7 @@
   |   dealt with by something like drools.
   |
   | o i18n: would be good to be able to have names/descriptions/specifications
-  |   in as many languages as possible.
+  |   in as many languages as possible. (see MNG-3626)
   |
   | o annotation mechanism so that changes to the model can be accurately tracked.
   |
@@ -38,11 +39,11 @@
   |
   | o use enums where appropriate (eg dependency scope)
   |
-  | o a number of elements have a grouId/artifactId and sometimes version. It would be good to have them all extend one
+  | o a number of elements have a groupId/artifactId and sometimes version. It would be good to have them all extend one
   |   definition of these types
   |
 -->
-<model>
+<model xsd.namespace="http://maven.apache.org/POM/4.0.0" xsd.target-namespace="http://maven.apache.org/POM/4.0.0">
   <id>maven</id>
   <name>Maven</name>
   <description>
@@ -73,60 +74,65 @@
       </description>
       <version>3.0.0+</version>
       <fields>
+
+        <!-- ====================================================================== -->
+        <!-- Model Version                                                          -->
+        <!-- ====================================================================== -->
+
         <field>
-          <name>extend</name>
+          <name>pomVersion</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The location of the parent project, if one exists. Values from the
-            parent project will be the default for this project if they are
-            left unspecified. The path may be absolute, or relative to the
-            current <code>project.xml</code> file. For example,
-            <code>&lt;extend&gt;${basedir}/../project.xml&lt;/extend&gt;</code>.
-            ]]>
-          </description>
+          <required>true</required>
           <type>String</type>
-        </field>
-        <field>
-          <name>parent</name>
-          <version>4.0.0</version>
           <description>
             <![CDATA[
-            The location of the parent project, if one exists. Values from the
-            parent project will be the default for this project if they are
-            left unspecified. The location is given as a group ID, artifact ID
-            and version.
+            Declares to which version of project descriptor this POM conforms.
+            The only valid value is <code>3</code>.
             ]]>
           </description>
-          <association>
-            <type>Parent</type>
-          </association>
-          <comment></comment>
         </field>
         <field>
           <name>modelVersion</name>
           <version>4.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            Declares to which version of project descriptor this POM conforms.
-            ]]>
-          </description>
+          <description>Declares to which version of project descriptor this POM conforms.</description>
           <type>String</type>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- Parent Model                                                           -->
+        <!-- ====================================================================== -->
+
         <field>
-          <name>pomVersion</name>
+          <name>extend</name>
           <version>3.0.0</version>
-          <required>true</required>
-          <type>String</type>
           <description>
             <![CDATA[
-            Declares to which version of project descriptor this POM conforms.
-            The only valid value is <code>3</code>.
+            The location of the parent project, if one exists. Values from the
+            parent project will be the default for this project if they are
+            left unspecified. The path may be absolute, or relative to the
+            current <code>project.xml</code> file. For example,
+            <code>&lt;extend&gt;${basedir}/../project.xml&lt;/extend&gt;</code>.
             ]]>
           </description>
+          <type>String</type>
         </field>
         <field>
+          <name>parent</name>
+          <version>4.0.0</version>
+          <description>The location of the parent project, if one exists. Values from the parent
+            project will be the default for this project if they are left unspecified. The location
+            is given as a group ID, artifact ID and version.</description>
+          <association>
+            <type>Parent</type>
+          </association>
+        </field>
+
+        <!-- ====================================================================== -->
+        <!-- groupId/artifactId/Version/Packaging                                   -->
+        <!-- ====================================================================== -->
+
+        <field>
           <name>groupId</name>
           <version>3.0.0+</version>
           <required>true</required>
@@ -143,15 +149,10 @@
           <name>artifactId</name>
           <version>3.0.0+</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            The identifier for this artifact that is unique within the group
-            given by the group ID.
-            An artifact is something that is either produced or used by a project.
-            Examples of artifacts produced by Maven for a project include: JARs,
-            source and binary distributions, and WARs.
-            ]]>
-          </description>
+          <description>The identifier for this artifact that is unique within the group given by the
+            group ID. An artifact is something that is either produced or used by a project.
+            Examples of artifacts produced by Maven for a project include: JARs, source and binary
+            distributions, and WARs.</description>
           <type>String</type>
         </field>
         <field>
@@ -167,6 +168,29 @@
           <type>String</type>
         </field>
         <field>
+          <name>currentVersion</name>
+          <description>The current version of the artifact produced by this project.</description>
+          <version>3.0.0</version>
+          <required>true</required>
+          <type>String</type>
+        </field>
+        <field>
+          <name>version</name>
+          <version>4.0.0</version>
+          <required>true</required>
+          <description>The current version of the artifact produced by this project.</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>versions</name>
+          <version>3.0.0</version>
+          <description>Contains information on previous versions of the project.</description>
+          <association>
+            <type>Version</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field>
           <name>packaging</name>
           <version>4.0.0</version>
           <description>
@@ -183,63 +207,33 @@
           <type>String</type>
           <defaultValue>jar</defaultValue>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- Elements which describe a project                                      -->
+        <!-- ====================================================================== -->
+
         <field>
           <name>name</name>
           <version>3.0.0+</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            The full name of the project.
-            ]]>
-          </description>
-          <type>String</type>
-        </field>
-        <field>
-          <name>currentVersion</name>
-          <description>
-            <![CDATA[
-            The current version of the artifact produced by this project.
-            ]]>
-          </description>
-          <version>3.0.0</version>
-          <required>true</required>
-          <type>String</type>
-        </field>
-        <field>
-          <name>version</name>
-          <version>4.0.0</version>
-          <required>true</required>
-          <description>
-            <![CDATA[
-            The current version of the artifact produced by this project.
-            ]]>
-          </description>
+          <description>The full name of the project.</description>
           <type>String</type>
         </field>
         <field>
           <name>shortDescription</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            A short description of the project. The short description should be
-            limited to a single line.
-            ]]>
-          </description>
+          <description>A short description of the project. The short description should be limited
+            to a single line.</description>
           <type>String</type>
         </field>
         <field>
           <name>description</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            A detailed description of the project, used by Maven whenever it needs
-            to describe the project, such as on the web site. While this element
-            can be specified as CDATA to enable the use of HTML tags within the
-            description, it is discouraged to allow plain text representation.
-            If you need to modify the index page of the generated web site, you are
-            able to specify your own instead of adjusting this text.
-            ]]>
-          </description>
+          <description>A detailed description of the project, used by Maven whenever it needs to
+            describe the project, such as on the web site. While this element can be specified as
+            CDATA to enable the use of HTML tags within the description, it is discouraged to allow
+            plain text representation. If you need to modify the index page of the generated web
+            site, you are able to specify your own instead of adjusting this text.</description>
           <type>String</type>
         </field>
         <field>
@@ -253,139 +247,75 @@
           <type>String</type>
         </field>
         <field>
-          <name>logo</name>
+          <name>siteAddress</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The URL of the project's logo image.  This can be an URL relative
-            to the base directory of the generated web site,
-            (e.g., <code>/images/project-logo.png</code>) or an absolute URL
-            (e.g., <code>http://my.corp/project-logo.png</code>). This is used
-            when generating the project documentation.
-            ]]>
-          </description>
+          <description>The hostname of the web server that hosts the project's web site. This is
+            used when the web site is deployed.</description>
           <type>String</type>
         </field>
         <field>
-          <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>
-        <field>
-          <name>issueTrackingUrl</name>
+          <name>siteDirectory</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The URL of the project's issue tracking system.
-            ]]>
-          </description>
+          <description>The directory on the web server where the public web site for this project
+            resides. This is used when the web site is deployed.</description>
           <type>String</type>
         </field>
         <field>
-          <name>issueManagement</name>
-          <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The project's issue management system information.
-            ]]>
-          </description>
-          <association>
-            <type>IssueManagement</type>
-          </association>
-        </field>
-        <field>
-          <name>ciManagement</name>
-          <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The project's continuous integration information.
-            ]]>
-          </description>
-          <association>
-            <type>CiManagement</type>
-          </association>
-        </field>
-        <field>
           <name>inceptionYear</name>
           <version>3.0.0+</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            The year of the project's inception, specified with 4 digits.
-            This value is used when generating copyright notices as well as being informational.
-            ]]>
-          </description>
-          <type>String</type>
-        </field>
-        <field>
-          <name>gumpRepositoryId</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            This is the repository identifier in Gump that this project is part of.
-            ]]>
-          </description>
-          <type>String</type>
-        </field>
-        <field>
-          <name>siteAddress</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The hostname of the web server that hosts the project's web site.
-            This is used when the web site is deployed.
-            ]]>
-          </description>
+          <description>The year of the project's inception, specified with 4 digits. This value is
+            used when generating copyright notices as well as being informational.</description>
           <type>String</type>
         </field>
         <field>
-          <name>siteDirectory</name>
+          <name>logo</name>
           <version>3.0.0</version>
           <description>
             <![CDATA[
-            The directory on the web server where the public web site
-            for this project resides. This is used when the web site is deployed.
+            The URL of the project's logo image.  This can be an URL relative
+            to the base directory of the generated web site,
+            (e.g., <code>/images/project-logo.png</code>) or an absolute URL
+            (e.g., <code>http://my.corp/project-logo.png</code>). This is used
+            when generating the project documentation.
             ]]>
           </description>
           <type>String</type>
         </field>
         <field>
-          <name>distributionSite</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The server where the final distributions will be published. This is used when the
-            distributions are deployed. If this isn't defined, the central repository is used instead as
-            determined by <code>maven.repo.central</code> and <code>maven.repo.central.directory</code>.
-            ]]>
-          </description>
-          <type>String</type>
+          <name>organization</name>
+          <version>3.0.0+</version>
+          <description>This element describes various attributes of the organization to which the
+            project belongs. These attributes are utilized when documentation is created (for
+            copyright notices and links).</description>
+          <alias>organisation</alias>
+          <association>
+            <type>Organization</type>
+          </association>
         </field>
         <field>
-          <name>distributionDirectory</name>
-          <version>3.0.0</version>
+          <name>licenses</name>
+          <version>3.0.0+</version>
           <description>
             <![CDATA[
-            The directory on the web server where the final distributions will be published.
-            This is used when the distributions are deployed.
+            This element describes all of the licenses for this project.
+            Each license is described by a <code>license</code> element, which
+            is then described by additional elements.
+            Projects should only list the license(s) that applies to the project
+            and not the licenses that apply to dependencies.
+            If multiple licenses are listed, it is assumed that the user can select
+            any of them, not that they must accept all.
             ]]>
           </description>
-          <type>String</type>
+          <association>
+            <type>License</type>
+            <multiplicity>*</multiplicity>
+          </association>
         </field>
         <field>
           <name>mailingLists</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            Contains information about a project's mailing lists.
-            ]]>
-          </description>
+          <description>Contains information about a project's mailing lists.</description>
           <association>
             <type>MailingList</type>
             <multiplicity>*</multiplicity>
@@ -394,11 +324,7 @@
         <field>
           <name>developers</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            Describes the committers of a project.
-            ]]>
-          </description>
+          <description>Describes the committers of a project.</description>
           <association>
             <type>Developer</type>
             <multiplicity>*</multiplicity>
@@ -407,48 +333,36 @@
         <field>
           <name>contributors</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            Describes the contributors to a project that are not yet committers.
-            ]]>
-          </description>
+          <description>Describes the contributors to a project that are not yet committers.</description>
           <association>
             <type>Contributor</type>
             <multiplicity>*</multiplicity>
           </association>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- Issue Tracking                                                         -->
+        <!-- ====================================================================== -->
+
         <field>
-          <name>licenses</name>
-          <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            This element describes all of the licenses for this project.
-            Each license is described by a <code>license</code> element, which
-            is then described by additional elements.
-            Projects should only list the license(s) that applies to the project
-            and not the licenses that apply to dependencies.
-            If multiple licenses are listed, it is assumed that the user can select
-            any of them, not that they must accept all.
-            ]]>
-          </description>
-          <association>
-            <type>License</type>
-            <multiplicity>*</multiplicity>
-          </association>
+          <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>versions</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            Contains information on previous versions of the project.
-            ]]>
-          </description>
+          <name>issueManagement</name>
+          <version>4.0.0</version>
+          <description>The project's issue management system information.</description>
           <association>
-            <type>Version</type>
-            <multiplicity>*</multiplicity>
+            <type>IssueManagement</type>
           </association>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- SCM                                                                    -->
+        <!-- ====================================================================== -->
+
         <field>
           <name>branches</name>
           <version>3.0.0</version>
@@ -463,72 +377,93 @@
           </association>
         </field>
         <field>
-          <name>packageGroups</name>
+          <name>repository</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            Package groups required for complete javadocs.
-            ]]>
-          </description>
+          <description>Specification for the SCM used by the project, such as CVS, Subversion, etc.</description>
           <association>
-            <type>PackageGroup</type>
-            <multiplicity>*</multiplicity>
+            <type>Repository</type>
           </association>
         </field>
         <field>
-          <name>reports</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            This element includes the specification of reports to be
-            included in a Maven-generated site.  These reports will be run
-            when a user executes <code>maven site</code>.  All of the
-            reports will be included in the navigation bar for browsing in
-            the order they are specified.
-            ]]>
-          </description>
+          <name>scm</name>
+          <version>4.0.0</version>
+          <description>Specification for the SCM used by the project, such as CVS, Subversion, etc.</description>
           <association>
-            <type>String</type>
-            <multiplicity>*</multiplicity>
+            <type>Scm</type>
           </association>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- CI Management                                                          -->
+        <!-- ====================================================================== -->
+
         <field>
-          <name>scm</name>
+          <name>gumpRepositoryId</name>
+          <version>3.0.0</version>
+          <description>This is the repository identifier in Gump that this project is part of.</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>ciManagement</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Specification for the SCM used by the project, such as CVS, Subversion, etc.
-            ]]>
-          </description>
+          <description>The project's continuous integration information.</description>
           <association>
-            <type>Scm</type>
+            <type>CiManagement</type>
           </association>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- Distribution Management                                                -->
+        <!-- ====================================================================== -->
+
         <field>
-          <name>repository</name>
+          <name>distributionSite</name>
           <version>3.0.0</version>
           <description>
             <![CDATA[
-            Specification for the SCM used by the project, such as CVS, Subversion, etc.
+            The server where the final distributions will be published. This is used when the
+            distributions are deployed. If this isn't defined, the central repository is used instead as
+            determined by <code>maven.repo.central</code> and <code>maven.repo.central.directory</code>.
             ]]>
           </description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>distributionDirectory</name>
+          <version>3.0.0</version>
+          <description>The directory on the web server where the final distributions will be
+            published. This is used when the distributions are deployed.</description>
+          <type>String</type>
+        </field>
+
+        <!-- ====================================================================== -->
+        <!-- Specific version 3                                                     -->
+        <!-- ====================================================================== -->
+
+        <field>
+          <name>packageGroups</name>
+          <version>3.0.0</version>
+          <description>Package groups required for complete javadocs.</description>
           <association>
-            <type>Repository</type>
+            <type>PackageGroup</type>
+            <multiplicity>*</multiplicity>
           </association>
         </field>
         <field>
-          <name>organization</name>
-          <version>3.0.0+</version>
+          <name>reports</name>
+          <version>3.0.0</version>
           <description>
             <![CDATA[
-            This element describes various attributes of the organization to
-            which the project belongs.  These attributes are utilized when
-            documentation is created (for copyright notices and links).
+            This element includes the specification of reports to be
+            included in a Maven-generated site.  These reports will be run
+            when a user executes <code>maven site</code>.  All of the
+            reports will be included in the navigation bar for browsing in
+            the order they are specified.
             ]]>
           </description>
-          <alias>organisation</alias>
           <association>
-            <type>Organization</type>
+            <type>String</type>
+            <multiplicity>*</multiplicity>
           </association>
         </field>
         <field>
@@ -550,35 +485,46 @@
           <name>packageName</name>
           <version>3.0.0</version>
           <type>String</type>
-          <description>
-            <![CDATA[
-            The Java package name of the project.  This value is used
-            when generating JavaDoc.
-            ]]>
-          </description>
+          <description>The Java package name of the project. This value is used when generating
+            JavaDoc.</description>
+        </field>
+
+        <!-- ====================================================================== -->
+        <!-- Build prerequisites                                                    -->
+        <!-- ====================================================================== -->
+
+        <field>
+          <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                                                                  -->
+        <!-- ====================================================================== -->
+
         <field>
           <name>build</name>
           <version>3.0.0+</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            Information required to build the project.
-            ]]>
-          </description>
+          <description>Information required to build the project.</description>
           <association>
             <type>Build</type>
           </association>
         </field>
+
+        <!-- ====================================================================== -->
+        <!-- Profiles                                                               -->
+        <!-- ====================================================================== -->
+
         <field>
           <name>profiles</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            A listing of project-local build profiles which will modify
-            the build process when activated.
-            ]]>
-          </description>
+          <description>A listing of project-local build profiles which will modify the build process
+            when activated.</description>
           <association>
             <type>Profile</type>
             <multiplicity>*</multiplicity>
@@ -649,13 +595,19 @@
       </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>
           <name>modules</name>
           <version>4.0.0</version>
-          <description>
-            The modules (sometimes called subprojects) to build as a
-            part of this project. Each module listed is a relative path
-            to the directory containing the module.
-          </description>
+          <description>The modules (sometimes called subprojects) to build as a part of this
+            project. Each module listed is a relative path to the directory containing the module.</description>
           <association>
             <type>String</type>
             <multiplicity>*</multiplicity>
@@ -664,25 +616,18 @@
         <field>
           <name>repositories</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The lists of the remote repositories for discovering dependencies and
-            extensions.
-            ]]>
-          </description>
+          <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>
-            <![CDATA[
-            The lists of the remote repositories for discovering plugins for builds and reports.
-            ]]>
-          </description>
+          <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>
@@ -736,33 +681,16 @@
           <name>dependencyManagement</name>
           <version>4.0.0</version>
           <required>false</required>
-          <description>
-            <![CDATA[
-            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>
+          <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>distributionManagement</name>
-          <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            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>
           <name>properties</name>
           <version>4.0.0</version>
           <description>
@@ -783,23 +711,14 @@
     <class>
       <name>Branch</name>
       <version>3.0.0</version>
-      <description>
-        <![CDATA[
-        Contains information on the SCM branches of the project.
-        ]]>
-      </description>
+      <description>Contains information on the SCM branches of the project.</description>
       <fields>
         <field>
           <name>tag</name>
           <version>3.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            The branch tag in the version control system (e.g. cvs) used by the
-            project for the source code associated with this branch of the
-            project.
-            ]]>
-          </description>
+          <description>The branch tag in the version control system (e.g. cvs) used by the project
+            for the source code associated with this branch of the project.</description>
           <type>String</type>
         </field>
       </fields>
@@ -807,11 +726,7 @@
     <class>
       <name>PluginContainer</name>
       <version>3.0.0+</version>
-      <description>
-        <![CDATA[
-        Contains the plugins informations for the project.
-        ]]>
-      </description>
+      <description>Contains the plugins informations for the project.</description>
       <fields>
         <field>
           <name>plugins</name>
@@ -868,11 +783,7 @@
       <name>PluginConfiguration</name>
       <version>3.0.0+</version>
       <superClass>PluginContainer</superClass>
-      <description>
-        <![CDATA[
-        Contains the plugins management informations for the project.
-        ]]>
-      </description>
+      <description>Contains the plugins management informations for the project.</description>
       <fields>
         <!-- [ jdcasey:06-Mar-2005 ] Added to handle version management, etc. for
           | plugins to be used in sub-projects. -->
@@ -880,15 +791,10 @@
           <name>pluginManagement</name>
           <version>4.0.0</version>
           <required>false</required>
-          <description>
-            <![CDATA[
-            Default plugin information to be made available for reference by
-            projects derived from this one. This plugin configuration will not
-            be resolved or bound to the lifecycle unless referenced. Any local
-            configuration for a given plugin will override the plugin's entire
-            definition here.
-            ]]>
-          </description>
+          <description>Default plugin information to be made available for reference by projects
+            derived from this one. This plugin configuration will not be resolved or bound to the
+            lifecycle unless referenced. Any local configuration for a given plugin will override
+            the plugin's entire definition here.</description>
           <association>
             <type>PluginManagement</type>
           </association>
@@ -899,33 +805,21 @@
       <name>BuildBase</name>
       <version>3.0.0+</version>
       <superClass>PluginConfiguration</superClass>
-      <description>
-        <![CDATA[
-        Generic informations for a build.
-        ]]>
-      </description>
+      <description>Generic informations for a build.</description>
       <fields>
         <field>
           <name>defaultGoal</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The default goal (or phase in Maven 2) to execute when none is
-            specified for the project.
-            ]]>
-          </description>
+          <description>The default goal (or phase in Maven 2) to execute when none is specified for
+            the project.</description>
           <type>String</type>
         </field>
         <field>
           <name>resources</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            This element describes all of the classpath resources such as
-            properties files associated with a project.
-            These resources are often included in the final package.
-            ]]>
-          </description>
+          <description>This element describes all of the classpath resources such as properties
+            files associated with a project. These resources are often included in the final
+            package.</description>
           <association>
             <type>Resource</type>
             <multiplicity>*</multiplicity>
@@ -934,12 +828,8 @@
         <field>
           <name>testResources</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            This element describes all of the classpath resources such as
-            properties files associated with a project's unit tests.
-            ]]>
-          </description>
+          <description>This element describes all of the classpath resources such as properties
+            files associated with a project's unit tests.</description>
           <association>
             <type>Resource</type>
             <multiplicity>*</multiplicity>
@@ -948,11 +838,7 @@
         <field>
           <name>directory</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The directory where all files generated by the build are placed.
-            ]]>
-          </description>
+          <description>The directory where all files generated by the build are placed.</description>
           <type>String</type>
         </field>
         <field>
@@ -970,11 +856,7 @@
         <field>
           <name>filters</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The list of filter properties files that are used when filtering is enabled.
-            ]]>
-          </description>
+          <description>The list of filter properties files that are used when filtering is enabled.</description>
           <association>
             <type>String</type>
             <multiplicity>*</multiplicity>
@@ -995,85 +877,55 @@
         <field>
           <name>nagEmailAddress</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            An address to which notifications regarding the status of builds
-            for this project can be sent. This is intended for use by tools
-            which do unattended builds, for example those providing for
-            continuous integration.
-            ]]>
-          </description>
+          <description>An address to which notifications regarding the status of builds for this
+            project can be sent. This is intended for use by tools which do unattended builds, for
+            example those providing for continuous integration.</description>
           <type>String</type>
         </field>
         <field>
           <name>sourceDirectory</name>
           <version>3.0.0+</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element specifies a directory containing the source
-            of the project. The generated build system will compile
-            the source in this directory when the project is built.
-            The path given is relative to the project descriptor.
-            ]]>
-          </description>
+          <description>This element specifies a directory containing the source of the project. The
+            generated build system will compile the source in this directory when the project is
+            built. The path given is relative to the project descriptor.</description>
           <type>String</type>
         </field>
         <field>
           <name>scriptSourceDirectory</name>
           <version>4.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element specifies a directory containing the script sources
-            of the project. This directory is meant to be different from the
-            sourceDirectory, in that its contents will be copied to the output
-            directory in most cases (since scripts are interpreted rather than
-            compiled).
-            ]]>
-          </description>
+          <description>This element specifies a directory containing the script sources of the
+            project. This directory is meant to be different from the sourceDirectory, in that its
+            contents will be copied to the output directory in most cases (since scripts are
+            interpreted rather than compiled).</description>
           <type>String</type>
         </field>
         <field>
           <name>unitTestSourceDirectory</name>
           <version>3.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element specifies a directory containing the unit test
-            source of the project. The generated build system will
-            compile these directories when the project is being tested.
-            The path given is relative to the project descriptor.
-            ]]>
-          </description>
+          <description>This element specifies a directory containing the unit test source of the
+            project. The generated build system will compile these directories when the project is
+            being tested. The path given is relative to the project descriptor.</description>
           <type>String</type>
         </field>
         <field>
           <name>testSourceDirectory</name>
           <version>4.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element specifies a directory containing the unit test
-            source of the project. The generated build system will
-            compile these directories when the project is being tested.
-            The path given is relative to the project descriptor.
-            ]]>
-          </description>
+          <description>This element specifies a directory containing the unit test source of the
+            project. The generated build system will compile these directories when the project is
+            being tested. The path given is relative to the project descriptor.</description>
           <type>String</type>
         </field>
         <field>
           <name>aspectSourceDirectory</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            This element specifies a directory containing Aspect
-            sources of the project.  The generated build system will
-            compile the Aspects in this directory when the project is
-            built if Aspects have been enabled.
-            The path given is relative to the project descriptor.
-            ]]>
-          </description>
+          <description>This element specifies a directory containing Aspect sources of the project.
+            The generated build system will compile the Aspects in this directory when the project
+            is built if Aspects have been enabled. The path given is relative to the project
+            descriptor.</description>
           <type>String</type>
         </field>
         <field>
@@ -1081,8 +933,12 @@
           <version>3.0.0</version>
           <description>
             <![CDATA[
-            This element specifies a directory containing integration test
-            sources of the project. This element is not known to be used.
+            This element is <b>deprecated</b> and should no longer be used.
+            Initially it was used by the first Cactus plugin. Now
+            the location of the Cactus test sources is defined
+            through a plugin property. See the Cactus plugin
+            <a href="http://jakarta.apache.org/cactus/integration/maven/properties.html">properties</a>
+            page.
             ]]>
           </description>
           <type>String</type>
@@ -1091,14 +947,9 @@
           <name>sourceModifications</name>
           <version>3.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element describes all of the sourceModifications associated
-            with a project. These modifications are used
-            to exclude or include various source depending on the environment
-            the build is running in.
-            ]]>
-          </description>
+          <description>This element describes all of the sourceModifications associated with a
+            project. These modifications are used to exclude or include various source depending on
+            the environment the build is running in.</description>
           <association>
             <type>SourceModification</type>
             <multiplicity>*</multiplicity>
@@ -1108,11 +959,7 @@
           <name>unitTest</name>
           <version>3.0.0</version>
           <required>true</required>
-          <description>
-            <![CDATA[
-            This element specifies unit tests associated with the project.
-            ]]>
-          </description>
+          <description>This element specifies unit tests associated with the project.</description>
           <defaultValue>new UnitTest()</defaultValue>
           <association>
             <type>UnitTest</type>
@@ -1121,29 +968,19 @@
         <field>
           <name>outputDirectory</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The directory where compiled application classes are placed.
-            ]]>
-          </description>
+          <description>The directory where compiled application classes are placed.</description>
           <type>String</type>
         </field>
         <field>
           <name>testOutputDirectory</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The directory where compiled test classes are placed.
-            ]]>
-          </description>
+          <description>The directory where compiled test classes are placed.</description>
           <type>String</type>
         </field>
         <field>
           <name>extensions</name>
           <version>4.0.0</version>
-          <description>
-            A set of build extensions to use from this project.
-          </description>
+          <description>A set of build extensions to use from this project.</description>
           <association>
             <type>Extension</type>
             <multiplicity>*</multiplicity>
@@ -1174,22 +1011,15 @@
         <field>
           <name>url</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            URL for the continuous integration system used by the project if it has a web interface.
-            ]]>
-          </description>
+          <description>URL for the continuous integration system used by the project if it has a web
+            interface.</description>
           <type>String</type>
         </field>
         <field>
           <name>notifiers</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Configuration for notifying developers/users when a build is
-            unsuccessful, including user information and notification mode.
-            ]]>
-          </description>
+          <description>Configuration for notifying developers/users when a build is unsuccessful,
+            including user information and notification mode.</description>
           <association>
             <multiplicity>*</multiplicity>
             <type>Notifier</type>
@@ -1199,10 +1029,7 @@
     </class>
     <class>
       <name>Notifier</name>
-      <description>
-        Configures one method for notifying users/developers when a
-        build breaks.
-      </description>
+      <description>Configures one method for notifying users/developers when a build breaks.</description>
       <version>4.0.0</version>
       <fields>
         <field>
@@ -1210,45 +1037,35 @@
           <version>4.0.0</version>
           <defaultValue>mail</defaultValue>
           <type>String</type>
-          <description>
-            The mechanism used to deliver notifications.
-          </description>
+          <description>The mechanism used to deliver notifications.</description>
         </field>
         <field>
           <name>sendOnError</name>
           <version>4.0.0</version>
           <defaultValue>true</defaultValue>
           <type>boolean</type>
-          <description>
-            Whether to send notifications on error.
-          </description>
+          <description>Whether to send notifications on error.</description>
         </field>
         <field>
           <name>sendOnFailure</name>
           <version>4.0.0</version>
           <defaultValue>true</defaultValue>
           <type>boolean</type>
-          <description>
-            Whether to send notifications on failure.
-          </description>
+          <description>Whether to send notifications on failure.</description>
         </field>
         <field>
           <name>sendOnSuccess</name>
           <version>4.0.0</version>
           <defaultValue>true</defaultValue>
           <type>boolean</type>
-          <description>
-            Whether to send notifications on success.
-          </description>
+          <description>Whether to send notifications on success.</description>
         </field>
         <field>
           <name>sendOnWarning</name>
           <version>4.0.0</version>
           <defaultValue>true</defaultValue>
           <type>boolean</type>
-          <description>
-            Whether to send notifications on warning.
-          </description>
+          <description>Whether to send notifications on warning.</description>
         </field>
         <!-- TODO: Remove it after continuum alpha-3 release -->
         <field>
@@ -1263,9 +1080,7 @@
         </field>
         <field>
           <name>configuration</name>
-          <description>
-            Extended configuration specific to this notifier goes here.
-          </description>
+          <description>Extended configuration specific to this notifier goes here.</description>
           <type>Properties</type>
           <association xml.mapStyle="inline">
             <type>String</type>
@@ -1276,41 +1091,26 @@
     </class>
     <class>
       <name>Contributor</name>
-      <description>
-        Description of a person who has contributed to the project, but
-        who does not have commit privileges. Usually, these
-        contributions come in the form of patches submitted.
-      </description>
+      <description>Description of a person who has contributed to the project, but who does not have
+        commit privileges. Usually, these contributions come in the form of patches submitted.</description>
       <version>3.0.0+</version>
       <fields>
         <field>
           <name>name</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The full name of the contributor.
-            ]]>
-          </description>
+          <description>The full name of the contributor.</description>
           <type>String</type>
         </field>
         <field>
           <name>email</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The email address of the contributor.
-            ]]>
-          </description>
+          <description>The email address of the contributor.</description>
           <type>String</type>
         </field>
         <field>
           <name>url</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The URL for the homepage of the contributor.
-            ]]>
-          </description>
+          <description>The URL for the homepage of the contributor.</description>
           <type>String</type>
         </field>
         <!-- TODO: should this just be a single Organization element -->
@@ -1318,22 +1118,14 @@
           <name>organization</name>
           <alias>organisation</alias>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The organization to which the contributor belongs.
-            ]]>
-          </description>
+          <description>The organization to which the contributor belongs.</description>
           <type>String</type>
         </field>
         <field>
           <name>organizationUrl</name>
           <alias>organisationUrl</alias>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The URL of the organization.
-            ]]>
-          </description>
+          <description>The URL of the organization.</description>
           <type>String</type>
         </field>
         <field>
@@ -1341,9 +1133,9 @@
           <version>3.0.0+</version>
           <description>
             <![CDATA[
-            The roles the contributor plays in the project.  Each role is
-            described by a <code>role</code> element, the body of which is a
-            role name. This can also be used to describe the contribution.
+            The roles the contributor plays in the project. Each role is described by a
+            <code>role</code> element, the body of which is a role name. This can also be used to
+            describe the contribution.
             ]]>
           </description>
           <association>
@@ -1354,21 +1146,13 @@
         <field>
           <name>timezone</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The timezone the contributor is in. This is a number in the range -11 to 12.
-            ]]>
-          </description>
+          <description>The timezone the contributor is in. This is a number in the range -11 to 12.</description>
           <type>String</type>
         </field>
         <field>
           <name>properties</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            Properties about the contributor, such as an instant messenger handle.
-            ]]>
-          </description>
+          <description>Properties about the contributor, such as an instant messenger handle.</description>
           <type>Properties</type>
           <association xml.mapStyle="inline">
             <type>String</type>
@@ -1393,7 +1177,7 @@
           <required>true</required>
           <description>
             <![CDATA[
-            <strong>Deprecated</strong>. Please use <code>groupId</code> and
+            <b>Deprecated</b>. Please use <code>groupId</code> and
             <code>artifactId</code> together instead.
             ]]>
           </description>
@@ -1437,23 +1221,15 @@
         <field>
           <name>url</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            This url will be provided to the user if the jar file cannot be downloaded
-            from the central repository.
-            ]]>
-          </description>
+          <description>This url will be provided to the user if the jar file cannot be downloaded
+            from the central repository.</description>
           <type>String</type>
         </field>
         <field>
           <name>jar</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            Literal name of the artifact in the repository. Used to override the
-            calculated artifact name.
-            ]]>
-          </description>
+          <description>Literal name of the artifact in the repository. Used to override the
+            calculated artifact name.</description>
           <type>String</type>
         </field>
         <field>
@@ -1561,11 +1337,8 @@
         <field>
           <name>exclusions</name>
           <version>4.0.0</version>
-          <description>
-            Lists a set of artifacts that should be excluded from this
-            dependency's artifact list when it comes to calculating
-            transitive dependencies.
-          </description>
+          <description>Lists a set of artifacts that should be excluded from this dependency's
+            artifact list when it comes to calculating transitive dependencies.</description>
           <association>
             <type>Exclusion</type>
             <multiplicity>*</multiplicity>
@@ -1574,12 +1347,9 @@
         <field>
           <name>optional</name>
           <version>4.0.0</version>
-          <description>
-            Indicates the dependency is optional for use of this
-            library. While the version of the dependency will be taken
-            into account for dependency calculation if the library is
-            used elsewhere, it will not be passed on transitively.
-          </description>
+          <description>Indicates the dependency is optional for use of this library. While the
+            version of the dependency will be taken into account for dependency calculation if the
+            library is used elsewhere, it will not be passed on transitively.</description>
           <type>boolean</type>
           <defaultValue>false</defaultValue>
         </field>
@@ -1737,21 +1507,13 @@
     <class>
       <superClass>Contributor</superClass>
       <name>Developer</name>
-      <description>
-        <![CDATA[
-        Information about one of the committers on this project.
-        ]]>
-      </description>
+      <description>Information about one of the committers on this project.</description>
       <version>3.0.0+</version>
       <fields>
         <field>
           <name>id</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The unique ID of the developer in the SCM.
-            ]]>
-          </description>
+          <description>The unique ID of the developer in the SCM.</description>
           <type>String</type>
         </field>
       </fields>
@@ -1769,22 +1531,14 @@
         <field>
           <name>artifactId</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The artifact ID of the project to exclude.
-            ]]>
-          </description>
+          <description>The artifact ID of the project to exclude.</description>
           <type>String</type>
           <required>true</required>
         </field>
         <field>
           <name>groupId</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The group ID of the project to exclude.
-            ]]>
-          </description>
+          <description>The group ID of the project to exclude.</description>
           <type>String</type>
           <required>true</required>
         </field>
@@ -1792,30 +1546,20 @@
     </class>
     <class>
       <name>IssueManagement</name>
-      <description>
-        Information about the issue tracking (or bug tracking) system
-        used to manage this project.
-      </description>
+      <description>Information about the issue tracking (or bug tracking) system used to manage this
+        project.</description>
       <version>4.0.0</version>
       <fields>
         <field>
           <name>system</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The name of the issue management system, e.g. Bugzilla
-            ]]>
-          </description>
+          <description>The name of the issue management system, e.g. Bugzilla</description>
           <type>String</type>
         </field>
         <field>
           <name>url</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            URL for the issue management system used by the project.
-            ]]>
-          </description>
+          <description>URL for the issue management system used by the project.</description>
           <type>String</type>
         </field>
       </fields>
@@ -1823,22 +1567,14 @@
     <class>
       <name>DistributionManagement</name>
       <version>4.0.0</version>
-      <description>
-        <![CDATA[
-        This elements describes all that pertains to distribution for a project.
-        It is primarily used for deployment of artifacts and the site
-        produced by the build.
-        ]]>
-      </description>
+      <description>This elements describes all that pertains to distribution for a project. It is
+        primarily used for deployment of artifacts and the site produced by the build.</description>
       <fields>
         <field>
           <name>repository</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Information needed to deploy the artifacts generated by the project to a remote repository.
-            ]]>
-          </description>
+          <description>Information needed to deploy the artifacts generated by the project to a
+            remote repository.</description>
           <association>
             <type>DeploymentRepository</type>
           </association>
@@ -1858,11 +1594,7 @@
         </field>
         <field>
           <name>site</name>
-          <description>
-            <![CDATA[
-            Information needed for deploying the web site of the project.
-            ]]>
-          </description>
+          <description>Information needed for deploying the web site of the project.</description>
           <version>4.0.0</version>
           <association>
             <type>Site</type>
@@ -1884,10 +1616,8 @@
         <field>
           <name>relocation</name>
           <version>4.0.0</version>
-          <description>
-            Relocation information of the artifact if it has been moved
-            to a new group ID and/or artifact ID.
-          </description>
+          <description>Relocation information of the artifact if it has been moved to a new group ID
+            and/or artifact ID.</description>
           <association>
             <type>Relocation</type>
           </association>
@@ -1913,34 +1643,22 @@
     </class>
     <class>
       <name>License</name>
-      <description>
-        <![CDATA[
-        Describes the licenses for this project.  This is used to generate
-        the license page of the project's web site, as well as being taken into
-        consideration in other reporting and validation. The licenses listed for
-        the project are that of the project itself, and not of dependencies.
-        ]]>
-      </description>
+      <description>Describes the licenses for this project. This is used to generate the license
+        page of the project's web site, as well as being taken into consideration in other reporting
+        and validation. The licenses listed for the project are that of the project itself, and not
+        of dependencies.</description>
       <version>3.0.0+</version>
       <fields>
         <field>
           <name>name</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The full legal name of the license.
-            ]]>
-          </description>
+          <description>The full legal name of the license.</description>
           <type>String</type>
         </field>
         <field>
           <name>url</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The official url for the license text.
-            ]]>
-          </description>
+          <description>The official url for the license text.</description>
           <type>String</type>
         </field>
         <field>
@@ -1961,9 +1679,7 @@
         </field>
         <field>
           <name>comments</name>
-          <description>
-            Addendum information pertaining to this license.
-          </description>
+          <description>Addendum information pertaining to this license.</description>
           <version>3.0.0+</version>
           <type>String</type>
         </field>
@@ -1972,12 +1688,8 @@
     <class>
       <name>MailingList</name>
       <version>3.0.0+</version>
-      <description>
-        <![CDATA[
-        This element describes all of the mailing lists associated with
-        a project. The auto-generated site references this information.
-        ]]>
-      </description>
+      <description>This element describes all of the mailing lists associated with a project. The
+        auto-generated site references this information.</description>
       <fields>
         <field>
           <name>name</name>
@@ -1994,10 +1706,10 @@
           <version>3.0.0+</version>
           <description>
             <![CDATA[
-            The email address or link that can be used to subscribe to the mailing list.
-            If this is an email address, a
-            <code>mailto:</code> link will automatically be created when
-            the documentation is created.
+            The email address or link that can be used to subscribe to
+            the mailing list.  If this is an email address, a
+            <code>mailto:</code> link will automatically be created
+            when the documentation is created.
             ]]>
           </description>
           <type>String</type>
@@ -2031,59 +1743,38 @@
         <field>
           <name>archive</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The link to a URL where you can browse the mailing list archive.
-            ]]>
-          </description>
+          <description>The link to a URL where you can browse the mailing list archive.</description>
           <type>String</type>
         </field>
         <field>
           <name>otherArchives</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The link to alternate URLs where you can browse the list archive.
-            ]]>
-          </description>
+          <description>The link to alternate URLs where you can browse the list archive.</description>
           <association>
             <type>String</type>
             <multiplicity>*</multiplicity>
           </association>
         </field>
       </fields>
-      <comment>
-        We could probably have a specific element for a dev mailing list
-        for things like CI, and maybe even a specific element for the
-        user and scm mailing lists. Then leave the more lose structure
-        for any other type of mailing list.
-      </comment>
+      <comment>We could probably have a specific element for a dev mailing list for things like CI,
+        and maybe even a specific element for the user and scm mailing lists. Then leave the more
+        lose structure for any other type of mailing list.</comment>
     </class>
     <class>
       <name>Organization</name>
-      <description>
-        Specifies the organization that produces this project.
-      </description>
+      <description>Specifies the organization that produces this project.</description>
       <version>3.0.0+</version>
       <fields>
         <field>
           <name>name</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The full name of the organization.
-            ]]>
-          </description>
+          <description>The full name of the organization.</description>
           <type>String</type>
         </field>
         <field>
           <name>url</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            The URL to the organization's home page.
-            ]]>
-          </description>
+          <description>The URL to the organization's home page.</description>
           <type>String</type>
         </field>
         <field>
@@ -2110,21 +1801,13 @@
         <field>
           <name>title</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The title to use for the package group.
-            ]]>
-          </description>
+          <description>The title to use for the package group.</description>
           <type>String</type>
         </field>
         <field>
           <name>packages</name>
-          <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The packages in the group
-            ]]>
-          </description>
+          <version>3.0.0</version>
+          <description>The packages in the group</description>
           <type>String</type>
         </field>
       </fields>
@@ -2132,11 +1815,7 @@
     <class>
       <name>PatternSet</name>
       <version>3.0.0+</version>
-      <description>
-        <![CDATA[
-        Definition of include or exclude patterns.
-        ]]>
-      </description>
+      <description>Definition of include or exclude patterns.</description>
       <fields>
         <field>
           <name>includes</name>
@@ -2176,7 +1855,7 @@
     public String toString()
     {
         StringBuffer sb = new StringBuffer();
-        
+
         sb.append("PatternSet [includes: {");
         for (java.util.Iterator i = getIncludes().iterator(); i.hasNext(); )
         {
@@ -2184,7 +1863,7 @@
             sb.append(str).append(", ");
         }
         if (sb.substring(sb.length() - 2).equals(", ")) sb.delete(sb.length() - 2, sb.length());
-        
+
         sb.append("}, excludes: {");
         for (java.util.Iterator i = getExcludes().iterator(); i.hasNext(); )
         {
@@ -2192,7 +1871,7 @@
             sb.append(str).append(", ");
         }
         if (sb.substring(sb.length() - 2).equals(", ")) sb.delete(sb.length() - 2, sb.length());
-        
+
         sb.append("}]");
         return sb.toString();
     }
@@ -2213,33 +1892,21 @@
         <field>
           <name>artifactId</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The artifact id of the parent project to inherit from.
-            ]]>
-          </description>
+          <description>The artifact id of the parent project to inherit from.</description>
           <required>true</required>
           <type>String</type>
         </field>
         <field>
           <name>groupId</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The group id of the parent project to inherit from.
-            ]]>
-          </description>
+          <description>The group id of the parent project to inherit from.</description>
           <required>true</required>
           <type>String</type>
         </field>
         <field>
           <name>version</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The version of the parent project to inherit.
-            ]]>
-          </description>
+          <description>The version of the parent project to inherit.</description>
           <type>String</type>
         </field>
         <field>
@@ -2278,6 +1945,7 @@
         id.append( ":" );
         id.append( getArtifactId() );
         id.append( ":" );
+        id.append( "pom" );
       //  id.append( getPackaging() );
         id.append( ":" );
         id.append( getVersion() );
@@ -2329,11 +1997,7 @@
         <field>
           <name>url</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
-            ]]>
-          </description>
+          <description>The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.</description>
           <type>String</type>
         </field>
       </fields>
@@ -2377,22 +2041,14 @@
         <field>
           <name>tag</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The tag of current code. By default, it's set to HEAD during development.
-            ]]>
-          </description>
+          <description>The tag of current code. By default, it's set to HEAD during development.</description>
           <type>String</type>
           <defaultValue>HEAD</defaultValue>
         </field>
         <field>
           <name>url</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
-            ]]>
-          </description>
+          <description>The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.</description>
           <type>String</type>
         </field>
       </fields>
@@ -2401,21 +2057,13 @@
       <name>FileSet</name>
       <version>3.0.0+</version>
       <superClass>PatternSet</superClass>
-      <description>
-        <![CDATA[
-        A PatternSet for files.
-        ]]>
-      </description>
+      <description>A PatternSet for files.</description>
       <fields>
         <field>
           <name>directory</name>
           <version>3.0.0+</version>
-          <description>
-            <![CDATA[
-            Describe the directory where the resources are stored.
-            The path is relative to the POM.
-            ]]>
-          </description>
+          <description>Describe the directory where the resources are stored. The path is relative
+            to the POM.</description>
           <type>String</type>
         </field>
       </fields>
@@ -2438,12 +2086,8 @@
     </class>
     <class>
       <name>Resource</name>
-      <description>
-        <![CDATA[
-        This element describes all of the classpath resources associated with a project or
-        unit tests.
-        ]]>
-      </description>
+      <description>This element describes all of the classpath resources associated with a project
+        or unit tests.</description>
       <version>3.0.0+</version>
       <superClass>FileSet</superClass>
       <fields>
@@ -2452,7 +2096,7 @@
           <version>3.0.0+</version>
           <description>
             <![CDATA[
-            Describe the resource target path. The path is relative to the target/classes 
+            Describe the resource target path. The path is relative to the target/classes
             directory (i.e. <code>${project.build.outputDirectory}</code>).
             For example, if you want that resource to appear in a specific package
             (<code>org.apache.maven.messages</code>), you must specify this
@@ -2476,12 +2120,36 @@
           <type>boolean</type>
           <defaultValue>false</defaultValue>
         </field>
+        <field>
+          <name>mergeId</name>
+          <version>4.0.0+</version>
+          <description>
+            <![CDATA[
+            FOR INTERNAL USE ONLY. This is a unique identifier assigned to each
+            resource to allow Maven to merge changes to this resource that take 
+            place during the execution of a plugin. This field must be managed
+            by the generated parser and formatter classes in order to allow it
+            to survive model interpolation.
+            ]]>
+          </description>
+          <type>String</type>
+        </field>
       </fields>
       <codeSegments>
         <codeSegment>
           <version>4.0.0</version>
           <code>
             <![CDATA[
+    private static int mergeIdCounter = 0;
+    
+    public void initMergeId()
+    {
+        if ( getMergeId() == null )
+        {
+            setMergeId( "resource-" + (mergeIdCounter++) );
+        }
+    }
+    
     /**
      * @see java.lang.Object#toString()
      */
@@ -2496,14 +2164,9 @@
     </class>
     <class>
       <name>SourceModification</name>
-      <description>
-        <![CDATA[
-        This element describes all of the source modifications associated with a
-        project. These modifications are used
-        to exclude or include various source depending on the environment
-        the build is running in.
-        ]]>
-      </description>
+      <description>This element describes all of the source modifications associated with a project.
+        These modifications are used to exclude or include various source depending on the
+        environment the build is running in.</description>
       <version>3.0.0</version>
       <superClass>FileSet</superClass>
       <fields>
@@ -2512,7 +2175,7 @@
           <version>3.0.0</version>
           <description>
             <![CDATA[
-            If the class with this name can <strong>not</strong> be
+            If the class with this name can <b>not</b> be
             loaded, then the includes and excludes specified below
             will be applied to the contents of the <code>sourceDirectory</code>.
             ]]>
@@ -2524,7 +2187,7 @@
           <version>3.0.0</version>
           <description>
             <![CDATA[
-            If the property with this name is <strong>not</strong> set,
+            If the property with this name is <b>not</b> set,
             then the includes and excludes specified below
             will be applied to the contents of the <code>sourceDirectory</code>.
             ]]>
@@ -2537,20 +2200,12 @@
       <name>UnitTest</name>
       <version>3.0.0</version>
       <superClass>PatternSet</superClass>
-      <description>
-        <![CDATA[
-        A PatternSet for unit tests.
-        ]]>
-      </description>
+      <description>A PatternSet for unit tests.</description>
       <fields>
         <field>
           <name>resources</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The classpath resources to use when executing the unit tests.
-            ]]>
-          </description>
+          <description>The classpath resources to use when executing the unit tests.</description>
           <association>
             <type>Resource</type>
             <multiplicity>*</multiplicity>
@@ -2586,22 +2241,14 @@
         <field>
           <name>tag</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            The name given in the SCM (e.g. CVS) used by the project for the source
-            code associated with this version of the project.
-            ]]>
-          </description>
+          <description>The name given in the SCM (e.g. CVS) used by the project for the source code
+            associated with this version of the project.</description>
           <type>String</type>
         </field>
         <field>
           <name>id</name>
           <version>3.0.0</version>
-          <description>
-            <![CDATA[
-            A unique identifier for a version. This is usually identical to the name.
-            ]]>
-          </description>
+          <description>A unique identifier for a version. This is usually identical to the name.</description>
           <type>String</type>
         </field>
       </fields>
@@ -2626,16 +2273,13 @@
     <class>
       <name>RepositoryBase</name>
       <version>4.0.0</version>
-      <description>
-        <![CDATA[
-        A repository contains the information needed
-        for establishing connections with remote repository.
-        ]]>
-      </description>
+      <description>A repository contains the information needed for establishing connections with
+        remote repository.</description>
       <fields>
         <field>
           <name>id</name>
           <version>4.0.0</version>
+          <required>true</required>
           <description>
             <![CDATA[
             A unique identifier for a repository. This is used to match the repository
@@ -2647,16 +2291,13 @@
         <field>
           <name>name</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Human readable name of the repository.
-            ]]>
-          </description>
+          <description>Human readable name of the repository.</description>
           <type>String</type>
         </field>
         <field>
           <name>url</name>
           <version>4.0.0</version>
+          <required>true</required>
           <description>
             <![CDATA[
             The url of the repository, in the form <code>protocol://hostname/path</code>.
@@ -2688,16 +2329,16 @@
     public boolean equals( Object obj )
     {
         if ( obj instanceof RepositoryBase ) {
-        
+
             final RepositoryBase other =  (RepositoryBase) obj;
-    
+
             if ( id != null )
             {
                 return id.equals( other.id );
             }
             return super.equals(obj);
-        }    
-        
+        }
+
         return false;
     }
             ]]>
@@ -2710,17 +2351,13 @@
       <name>Repository</name>
       <superClass>RepositoryBase</superClass>
       <version>4.0.0</version>
-      <description>
-        A repository contains the information needed for establishing
-        connections with remote repository.
-      </description>
+      <description>A repository contains the information needed for establishing connections with
+        remote repository.</description>
       <fields>
         <field>
           <name>releases</name>
           <version>4.0.0</version>
-          <description>
-            How to handle downloading of releases from this repository.
-          </description>
+          <description>How to handle downloading of releases from this repository.</description>
           <association>
             <type>RepositoryPolicy</type>
           </association>
@@ -2728,9 +2365,7 @@
         <field>
           <name>snapshots</name>
           <version>4.0.0</version>
-          <description>
-            How to handle downloading of snapshots from this repository.
-          </description>
+          <description>How to handle downloading of snapshots from this repository.</description>
           <association>
             <type>RepositoryPolicy</type>
           </association>
@@ -2759,18 +2394,13 @@
       <name>DeploymentRepository</name>
       <superClass>RepositoryBase</superClass>
       <version>4.0.0</version>
-      <description>
-        Repository contains the information needed for deploying to the
-        remote repository.
-      </description>
+      <description>Repository contains the information needed for deploying to the remote
+        repository.</description>
       <fields>
         <field>
           <name>uniqueVersion</name>
-          <description>
-            Whether to assign snapshots a unique version comprised of
-            the timestamp and build number, or to use the same version
-            each time
-          </description>
+          <description>Whether to assign snapshots a unique version comprised of the timestamp and
+            build number, or to use the same version each time</description>
           <type>boolean</type>
           <defaultValue>true</defaultValue>
           <version>4.0.0</version>
@@ -2798,17 +2428,12 @@
     <class>
       <name>RepositoryPolicy</name>
       <version>4.0.0</version>
-      <description>
-        Download policy.
-      </description>
+      <description>Download policy.</description>
       <fields>
         <field>
           <name>enabled</name>
           <version>4.0.0</version>
-          <description>
-            Whether to use this repository for downloading this type of
-            artifact.
-          </description>
+          <description>Whether to use this repository for downloading this type of artifact.</description>
           <type>boolean</type>
           <defaultValue>true</defaultValue>
         </field>
@@ -2852,11 +2477,7 @@
     <class>
       <name>Site</name>
       <version>4.0.0</version>
-      <description>
-        <![CDATA[
-        Contains the information needed for deploying websites.
-        ]]>
-      </description>
+      <description>Contains the information needed for deploying websites.</description>
       <fields>
         <field>
           <name>id</name>
@@ -2872,11 +2493,7 @@
         <field>
           <name>name</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Human readable name of the deployment location.
-            ]]>
-          </description>
+          <description>Human readable name of the deployment location.</description>
           <type>String</type>
         </field>
         <field>
@@ -2895,28 +2512,16 @@
     <class>
       <name>ConfigurationContainer</name>
       <version>4.0.0</version>
-      <description>
-        <![CDATA[
-        Contains the configuration information of the container like Plugin.
-        ]]>
-      </description>
+      <description>Contains the configuration information of the container like Plugin.</description>
       <fields>
         <field>
           <name>inherited</name>
           <version>4.0.0</version>
-          <description>
-            <![CDATA[
-            Whether any configuration should be propagated to child POMs.
-            ]]>
-          </description>
+          <description>Whether any configuration should be propagated to child POMs.</description>
           <type>String</type>
         </field>
         <field>
-          <description>
-            <![CDATA[
-            The configuration as DOM object.
-            ]]>
-          </description>
+          <description>The configuration as DOM object.</description>
           <name>configuration</name>
           <type>DOM</type>
         </field>
@@ -2954,9 +2559,7 @@
       <fields>
         <field>
           <name>groupId</name>
-          <description>
-            The group ID of the plugin in the repository.
-          </description>
+          <description>The group ID of the plugin in the repository.</description>
           <version>4.0.0</version>
           <type>String</type>
           <required>true</required>
@@ -2964,9 +2567,7 @@
         </field>
         <field>
           <name>artifactId</name>
-          <description>
-            The artifact ID of the plugin in the repository.
-          </description>
+          <description>The artifact ID of the plugin in the repository.</description>
           <version>4.0.0</version>
           <type>String</type>
           <required>true</required>
@@ -2974,33 +2575,22 @@
         <field>
           <name>version</name>
           <version>4.0.0</version>
-          <required>true</required>
-          <description>
-            <![CDATA[
-            The version (or valid range of versions) of the plugin to be used.
-            ]]>
-          </description>
+          <description>The version (or valid range of versions) of the plugin to be used.</description>
           <type>String</type>
         </field>
         <field>
           <name>extensions</name>
           <version>4.0.0</version>
           <type>boolean</type>
-          <description>
-            Whether to load Maven extensions (such as packaging and type
-            handlers) from this plugin. For performance reasons, this
-            should only be enabled when necessary.
-          </description>
+          <description>Whether to load Maven extensions (such as packaging and type handlers) from
+            this plugin. For performance reasons, this should only be enabled when necessary.</description>
           <defaultValue>false</defaultValue>
         </field>
         <field>
           <name>executions</name>
           <version>4.0.0</version>
-          <description>
-            Multiple specifications of a set of goals to execute during
-            the build lifecycle, each having (possibly) a different
-            configuration.
-          </description>
+          <description>Multiple specifications of a set of goals to execute during the build
+            lifecycle, each having (possibly) a different configuration.</description>
           <association>
             <type>PluginExecution</type>
             <multiplicity>*</multiplicity>
@@ -3008,10 +2598,8 @@
         </field>
         <field>
           <name>dependencies</name>
-          <description>

[... 538 lines stripped ...]