Author: brett
Date: Wed Jun  1 20:01:16 2005
New Revision: 179493

URL: http://svn.apache.org/viewcvs?rev=179493&view=rev
Log:
o refactor common elements to a base class
o fix some typos in versions related to profiles

Modified:
    maven/components/trunk/maven-model/maven.mdo

Modified: maven/components/trunk/maven-model/maven.mdo
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=179493&r1=179492&r2=179493&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Wed Jun  1 20:01:16 2005
@@ -31,6 +31,7 @@
   <classes>
     <class rootElement="true" xml.tagName="project">
       <name>Model</name>
+      <superClass>ModelBase</superClass>
       <description><![CDATA[
          The <code>&lt;project&gt;</code> element specifies various attributes 
          about a project. This is the root element of the project descriptor. 
@@ -124,15 +125,6 @@
           <defaultValue>jar</defaultValue>
         </field>
         <field>
-          <name>modules</name>
-          <version>4.0.0</version>
-          <description>The modules to build in addition to the current 
project</description>
-          <association>
-            <type>String</type>
-            <multiplicity>*</multiplicity>
-          </association>
-        </field>
-        <field>
           <name>name</name>
           <version>3.0.0+</version>
           <required>true</required>
@@ -302,25 +294,6 @@
           <comment>This naming is inconsistent and distribution should occur 
from a repository structure.</comment>
         </field>
         <field>
-          <name>repositories</name>
-          <version>4.0.0</version>
-          <description><![CDATA[The lists of the remote 
repositories]]></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]]></description>
-          <association>
-            <type>Repository</type>
-            <multiplicity>*</multiplicity>
-          </association>
-          <comment>This may be removed or relocated in the near future. It is 
undecided whether plugins really need a remote repository set of their 
own.</comment>
-        </field>
-        <field>
           <name>mailingLists</name>
           <version>3.0.0+</version>
           <description><![CDATA[
@@ -360,67 +333,6 @@
           </association>
         </field>
         <field>
-          <name>dependencies</name>
-          <version>3.0.0+</version>
-          <description><![CDATA[
-            <p>
-              This element describes all of the dependencies associated with a
-              project.  Each dependency is described by a
-              <code>dependency</code> element, which is then described by
-              additional elements (described below).
-            </p>
-            <p>
-              These dependencies are used to construct a classpath for your 
-              project during the build process.
-            </p>
-            <p>
-              Maven can automatically download these dependencies from a 
-              <a href="/user-guide.html#Remote%20Repository%20Layout">remote 
repository</a>.
-            </p>
-            <p>
-              The filename that Maven downloads from the repository is 
-              <code>artifactId-version.jar</code> where 
<code>artifactId</code> 
-              corresponds to the <code>artifactId</code> element and 
-              <code>version</code> corresponds to the <code>version</code> 
element.
-            </p>
-            <p>
-              When Maven goes looking for a dependency in the remote 
repository, 
-              it uses the dependency element to construct the URL to download 
-              from. This URL is defined as:
-            </p>
-            <div class="source">
-              
<pre>${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}</pre>
-            </div>
-            <p>
-              Where
-            </p>
-            <dl>
-              <dt>repo</dt>
-              <dd>
-                is the remote repository URL specified by 
-                <code>${maven.repo.remote}</code>
-              </dd>
-              
-              <dt>groupId</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>type</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>artifactId</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>version</dt>
-              <dd>is taken from the dependency element</dd>
-            </dl>
-          ]]></description>
-          <association>
-            <type>Dependency</type>
-            <multiplicity>*</multiplicity>
-          </association>
-          <comment>These should ultimately only be compile time dependencies 
when transitive dependencies come into play.</comment>
-        </field>
-        <field>
           <name>licenses</name>
           <version>3.0.0+</version>
           <description><![CDATA[
@@ -485,20 +397,6 @@
           </association>
         </field>
         <field>
-          <name>reports</name>
-          <version>4.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>
-          <association>
-            <type>Reports</type>
-          </association>
-        </field>
-        <field>
           <name>scm</name>
           <version>4.0.0</version>
           <description><![CDATA[Specification for the SCM used by the 
project.]]></description>
@@ -516,15 +414,6 @@
           <comment>This element needs to be renamed as it conflicts with the 
existing notion of repositories in Maven.</comment>
         </field>
         <field>
-          <name>build</name>
-          <version>3.0.0+</version>
-          <required>true</required>
-          <description><![CDATA[Information required to build the 
project.]]></description>
-          <association>
-            <type>Build</type>
-          </association>
-        </field>
-        <field>
           <name>organization</name>
           <version>3.0.0+</version>
           <description><![CDATA[
@@ -537,33 +426,6 @@
           </association>
         </field>
         <field>
-          <name>distributionManagement</name>
-          <version>4.0.0</version>
-          <description><![CDATA[Distribution information for a 
project.]]></description>
-          <association>
-            <type>DistributionManagement</type>
-          </association>
-        </field>
-        <!-- [ jdcasey:01-Feb-2005 ] Added to handle version management for
-         | dependencies to be used in sub-projects. -->
-        <field>
-          <name>dependencyManagement</name>
-          <version>4.0.0</version>
-          <required>false</required>
-          <description><![CDATA[
-            Default dependency information for grouped projects inheriting 
from 
-            this one. The dependency information here will not be checked.
-            Instead, when a POM derived from this one declares a dependency 
-            described by a groupId and an artifactId (version not necessary), 
-            the entries in here will supply default values for that dependency.
-            Any locally-supplied information for a particular dependency will
-            overwrite any information specified here for that project.
-          ]]></description>
-          <association>
-            <type>DependencyManagement</type>
-          </association>
-        </field>
-        <field>
           <name>properties</name>
           <version>3.0.0</version>
           <description><![CDATA[
@@ -644,6 +506,149 @@
         </codeSegment>
       </codeSegments>
     </class>
+    <class>
+      <name>ModelBase</name>
+      <version>3.0.0+</version>
+      <fields>
+        <field>
+          <name>modules</name>
+          <version>4.0.0</version>
+          <description>The modules to build in addition to the current 
project</description>
+          <association>
+            <type>String</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field>
+          <name>repositories</name>
+          <version>4.0.0</version>
+          <description><![CDATA[The lists of the remote 
repositories]]></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]]></description>
+          <association>
+            <type>Repository</type>
+            <multiplicity>*</multiplicity>
+          </association>
+          <comment>This may be removed or relocated in the near future. It is 
undecided whether plugins really need a remote repository set of their 
own.</comment>
+        </field>
+        <field>
+          <name>dependencies</name>
+          <version>3.0.0+</version>
+          <description><![CDATA[
+            <p>
+              This element describes all of the dependencies associated with a
+              project.  Each dependency is described by a
+              <code>dependency</code> element, which is then described by
+              additional elements (described below).
+            </p>
+            <p>
+              These dependencies are used to construct a classpath for your 
+              project during the build process.
+            </p>
+            <p>
+              Maven can automatically download these dependencies from a 
+              <a href="/user-guide.html#Remote%20Repository%20Layout">remote 
repository</a>.
+            </p>
+            <p>
+              The filename that Maven downloads from the repository is 
+              <code>artifactId-version.jar</code> where 
<code>artifactId</code> 
+              corresponds to the <code>artifactId</code> element and 
+              <code>version</code> corresponds to the <code>version</code> 
element.
+            </p>
+            <p>
+              When Maven goes looking for a dependency in the remote 
repository, 
+              it uses the dependency element to construct the URL to download 
+              from. This URL is defined as:
+            </p>
+            <div class="source">
+              
<pre>${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}</pre>
+            </div>
+            <p>
+              Where
+            </p>
+            <dl>
+              <dt>repo</dt>
+              <dd>
+                is the remote repository URL specified by 
+                <code>${maven.repo.remote}</code>
+              </dd>
+              
+              <dt>groupId</dt>
+              <dd>is taken from the dependency element</dd>
+              
+              <dt>type</dt>
+              <dd>is taken from the dependency element</dd>
+              
+              <dt>artifactId</dt>
+              <dd>is taken from the dependency element</dd>
+              
+              <dt>version</dt>
+              <dd>is taken from the dependency element</dd>
+            </dl>
+          ]]></description>
+          <association>
+            <type>Dependency</type>
+            <multiplicity>*</multiplicity>
+          </association>
+          <comment>These should ultimately only be compile time dependencies 
when transitive dependencies come into play.</comment>
+        </field>
+        <field>
+          <name>reports</name>
+          <version>4.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>
+          <association>
+            <type>Reports</type>
+          </association>
+        </field>
+        <field>
+          <name>build</name>
+          <version>3.0.0+</version>
+          <required>true</required>
+          <description><![CDATA[Information required to build the 
project.]]></description>
+          <association>
+            <type>Build</type>
+          </association>
+        </field>
+        <field>
+          <name>dependencyManagement</name>
+          <version>4.0.0</version>
+          <required>false</required>
+          <description><![CDATA[
+            Default dependency information for grouped projects inheriting 
from 
+            this one. The dependency information here will not be checked.
+            Instead, when a POM derived from this one declares a dependency 
+            described by a groupId and an artifactId (version not necessary), 
+            the entries in here will supply default values for that dependency.
+            Any locally-supplied information for a particular dependency will
+            overwrite any information specified here for that project.
+          ]]></description>
+          <association>
+            <type>DependencyManagement</type>
+          </association>
+        </field>
+        <field>
+          <name>distributionManagement</name>
+          <version>4.0.0</version>
+          <description><![CDATA[Distribution information for a 
project.]]></description>
+          <association>
+            <type>DistributionManagement</type>
+          </association>
+        </field>
+      </fields>
+    </class>
     <!-- @todo: is any of this too CVS specific? Investigate other SCMs -->
     <class>
       <name>Branch</name>
@@ -2210,6 +2215,7 @@
     <!-- Profile support -->
     <class>
       <name>Profile</name>
+      <superClass>ModelBase</superClass>
       <version>4.0.0</version>
       <description><![CDATA[
         Modifications to the build process which is keyed on some 
@@ -2219,169 +2225,24 @@
         <field>
           <name>id</name>
           <required>true</required>
-          <version>1.0.0</version>
+          <version>4.0.0</version>
           <type>String</type>
           <description>The ID of this build profile, for activation 
             purposes.</description>
         </field>
         <field>
           <name>activation</name>
-          <version>1.0.0</version>
+          <version>4.0.0</version>
           <description><![CDATA[The conditional logic which will automatically 
             trigger the inclusion of this profile.]]></description>
           <association>
             <type>Activation</type>
           </association>
         </field>
-        <field>
-          <name>modules</name>
-          <version>4.0.0</version>
-          <description>The modules to build in addition to the current 
project</description>
-          <association>
-            <type>String</type>
-            <multiplicity>*</multiplicity>
-          </association>
-        </field>
-        <field>
-          <name>dependencies</name>
-          <version>3.0.0+</version>
-          <description><![CDATA[
-            <p>
-              This element describes all of the dependencies associated with a
-              project.  Each dependency is described by a
-              <code>dependency</code> element, which is then described by
-              additional elements (described below).
-            </p>
-            <p>
-              These dependencies are used to construct a classpath for your 
-              project during the build process.
-            </p>
-            <p>
-              Maven can automatically download these dependencies from a 
-              <a href="/user-guide.html#Remote%20Repository%20Layout">remote 
repository</a>.
-            </p>
-            <p>
-              The filename that Maven downloads from the repository is 
-              <code>artifactId-version.jar</code> where 
<code>artifactId</code> 
-              corresponds to the <code>artifactId</code> element and 
-              <code>version</code> corresponds to the <code>version</code> 
element.
-            </p>
-            <p>
-              When Maven goes looking for a dependency in the remote 
repository, 
-              it uses the dependency element to construct the URL to download 
-              from. This URL is defined as:
-            </p>
-            <div class="source">
-              
<pre>${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}</pre>
-            </div>
-            <p>
-              Where
-            </p>
-            <dl>
-              <dt>repo</dt>
-              <dd>
-                is the remote repository URL specified by 
-                <code>${maven.repo.remote}</code>
-              </dd>
-              
-              <dt>groupId</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>type</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>artifactId</dt>
-              <dd>is taken from the dependency element</dd>
-              
-              <dt>version</dt>
-              <dd>is taken from the dependency element</dd>
-            </dl>
-          ]]></description>
-          <association>
-            <type>Dependency</type>
-            <multiplicity>*</multiplicity>
-          </association>
-          <comment>These should ultimately only be compile time dependencies 
when transitive dependencies come into play.</comment>
-        </field>
-        <field>
-          <name>reports</name>
-          <version>4.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>
-          <association>
-            <type>Reports</type>
-          </association>
-        </field>
-        <field>
-          <name>distributionManagement</name>
-          <version>4.0.0</version>
-          <description><![CDATA[Distribution information for a 
project.]]></description>
-          <association>
-            <type>DistributionManagement</type>
-          </association>
-        </field>
-        <!-- [ jdcasey:01-Feb-2005 ] Added to handle version management for
-         | dependencies to be used in sub-projects. -->
-        <field>
-          <name>dependencyManagement</name>
-          <version>4.0.0</version>
-          <required>false</required>
-          <description><![CDATA[
-            Default dependency information for grouped projects inheriting 
from 
-            this one. The dependency information here will not be checked.
-            Instead, when a POM derived from this one declares a dependency 
-            described by a groupId and an artifactId (version not necessary), 
-            the entries in here will supply default values for that dependency.
-            Any locally-supplied information for a particular dependency will
-            overwrite any information specified here for that project.
-          ]]></description>
-          <association>
-            <type>DependencyManagement</type>
-          </association>
-        </field>
-        <field>
-          <name>repositories</name>
-          <version>4.0.0</version>
-          <description><![CDATA[The lists of the remote 
repositories]]></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
-          ]]></description>
-          <association>
-            <type>Repository</type>
-            <multiplicity>*</multiplicity>
-          </association>
-          <comment><![CDATA[
-            This may be removed or relocated in the near future. 
-            It is undecided whether plugins really need a remote repository 
set 
-            of their own.
-          ]]></comment>
-        </field>
-        <field>
-          <name>build</name>
-          <version>4.0.0</version>
-          <description><![CDATA[
-            Stripped down version of the build section, allowing only plugin 
configuration.
-          ]]></description>
-          <association>
-            <type>PluginConfiguration</type>
-          </association>
-        </field>
       </fields>
       <codeSegments>
         <codeSegment>
+          <version>4.0.0</version>
           <code><![CDATA[
     // We don't want this to be parseable...it's sort of 'hidden'
     private Object configuration;
@@ -2401,7 +2262,7 @@
     </class>
     <class>
       <name>Activation</name>
-      <version>1.0.0</version>
+      <version>4.0.0</version>
       <description><![CDATA[
         The conditions within the build runtime environment which will trigger 
         the automatic inclusion of the parent build profile.
@@ -2409,7 +2270,7 @@
       <fields>
         <field>
           <name>jdk</name>
-          <version>1.0.0</version>
+          <version>4.0.0</version>
           <type>String</type>
           <description><![CDATA[
             Specifies that this profile will be activated when a matching JDK 
is detected.
@@ -2417,7 +2278,7 @@
         </field>
         <field>
           <name>property</name>
-          <version>1.0.0</version>
+          <version>4.0.0</version>
           <type>String</type>
           <description><![CDATA[
             Specifies that this profile will be activated when this System 
property is specified.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to