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><project></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]