o cleaning up all the versions

o can now generate distinct versions of the model


git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@162679 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2004-04-17 04:22:52 +00:00
parent a7c579dabf
commit 2b42e39161
1 changed files with 157 additions and 84 deletions

View File

@ -19,16 +19,17 @@
<model> <model>
<id>maven</id> <id>maven</id>
<name>Maven</name> <name>Maven</name>
<version>4.0.0</version>
<description>Maven's model for Java project.</description> <description>Maven's model for Java project.</description>
<packageName>org.apache.maven.model</packageName> <packageName>org.apache.maven.model</packageName>
<root>Model</root> <root>Model</root>
<classes> <classes>
<class> <class>
<name>Model</name> <name>Model</name>
<version>4.0.0</version>
<fields> <fields>
<field> <field>
<name>extend</name> <name>extend</name>
<version>3.0.0+</version>
<description> <description>
The location of the parent project, if one exists. Values from the parent project will be 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 default for this project if they are left unspecified.
@ -110,7 +111,8 @@
A detailed description of the project. This element is A detailed description of the project. This element is
usually specified as CDATA to enable the use of HTML tags usually specified as CDATA to enable the use of HTML tags
within the description. This description is used to within the description. This description is used to
generate the <a href="plugins/site/index.html">front page</a> generate the
<a href="plugins/site/index.html">front page</a>
of the project's web site. of the project's web site.
</description> </description>
<type>String</type> <type>String</type>
@ -258,7 +260,8 @@
<description> <description>
This element includes the specification of reports to be This element includes the specification of reports to be
included in a Maven-generated site. These reports will be run included in a Maven-generated site. These reports will be run
when a user executes <code>maven site</code>. All of the when a user executes
<code>maven site</code>. All of the
reports will be included in the navigation bar for browsing in reports will be included in the navigation bar for browsing in
the order they are specified. the order they are specified.
</description> </description>
@ -297,59 +300,67 @@
</field> </field>
</fields> </fields>
<!-- We need this because we can't use package as a field name. --> <!-- We need this because we can't use package as a field name. -->
<code> <codeSegments>
private String packageName; <codeSegment>
<code>
private String packageName;
public void setPackage(String packageName) public void setPackage(String packageName)
{
this.packageName = packageName;
}
public String getPackage()
{
return packageName;
}
public String getId()
{
StringBuffer id = new StringBuffer();
id.append( getGroupId() );
id.append( ":" );
id.append( getArtifactId() );
id.append( ":" );
id.append( getType() );
return id.toString();
}
public void setId( String id )
{
int i = id.indexOf( "+" );
int j = id.indexOf( ":" );
if ( i > 0 )
{ {
setGroupId( id.substring( 0, i ) ); this.packageName = packageName;
setArtifactId( id.replace( '+', '-' ) );
} }
else if ( j > 0 )
public String getPackage()
{ {
setGroupId( id.substring( 0, j ) ); return packageName;
setArtifactId( id.substring( j + 1 ) );
} }
else
public String getId()
{ {
setGroupId( id ); StringBuffer id = new StringBuffer();
setArtifactId( id ); id.append( getGroupId() );
id.append( ":" );
id.append( getArtifactId() );
id.append( ":" );
id.append( getType() );
return id.toString();
} }
} </code>
</code> </codeSegment>
<codeSegment>
<code>
public void setId( String id )
{
int i = id.indexOf( "+" );
int j = id.indexOf( ":" );
if ( i > 0 )
{
setGroupId( id.substring( 0, i ) );
setArtifactId( id.replace( '+', '-' ) );
}
else if ( j > 0 )
{
setGroupId( id.substring( 0, j ) );
setArtifactId( id.substring( j + 1 ) );
}
else
{
setGroupId( id );
setArtifactId( id );
}
}
</code>
</codeSegment>
</codeSegments>
</class> </class>
<class> <class>
<name>Branch</name> <name>Branch</name>
<version>3.0.0</version> <version>3.0.0</version>
<description> <description>
This element describes each of the branches of the This element describes each of the branches of the
project. Each branch is described by a <code>tag</code> project. Each branch is described by a
<code>tag</code>
element element
</description> </description>
<fields> <fields>
@ -371,6 +382,7 @@
<fields> <fields>
<field> <field>
<name>nagEmailAddress</name> <name>nagEmailAddress</name>
<version>3.0.0</version>
<description> <description>
An address to which notifications regarding the status of builds An address to which notifications regarding the status of builds
for this project can be sent. This is intended for use by tools for this project can be sent. This is intended for use by tools
@ -414,8 +426,9 @@
This element specifies a directory containing Aspect This element specifies a directory containing Aspect
sources of the project. The generated build system will sources of the project. The generated build system will
compile the Aspects in this directory when the project is compile the Aspects in this directory when the project is
built if Aspects have been enabled (see the <a built if Aspects have been enabled (see the
href="plugins/aspectj/goals.html">Aspectj goals</a> document). <a
href="plugins/aspectj/goals.html">Aspectj goals</a> document).
The path given is relative to the project descriptor. The path given is relative to the project descriptor.
</description> </description>
<type>String</type> <type>String</type>
@ -449,7 +462,8 @@
<description> <description>
This element describes all of the resources associated with a project or unit tests. This element describes all of the resources associated with a project or unit tests.
Each resource is described by a resource element, which is then described by additional Each resource is described by a resource element, which is then described by additional
elements (described <a href="#resource">below</a>). These resources are used to elements (described
<a href="#resource">below</a>). These resources are used to
complete the jar file or to run unit test. complete the jar file or to run unit test.
</description> </description>
<type>java.util.List</type> <type>java.util.List</type>
@ -463,29 +477,35 @@
<fields> <fields>
<field> <field>
<name>name</name> <name>name</name>
<version>3.0.0+</version>
<description>The full name of the contributor.</description> <description>The full name of the contributor.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>email</name> <name>email</name>
<version>3.0.0+</version>
<description>The email address of the contributor.</description> <description>The email address of the contributor.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>3.0.0+</version>
<description>The URL for the homepage of the contributor.</description> <description>The URL for the homepage of the contributor.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>organization</name> <name>organization</name>
<version>3.0.0+</version>
<description>The organization to which the contributor belongs.</description> <description>The organization to which the contributor belongs.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>roles</name> <name>roles</name>
<version>3.0.0+</version>
<description> <description>
The roles the contributor plays in the project. Each role is The roles the contributor plays in the project. Each role is
describe by a <code>role</code> element, the body of which is a describe by a
<code>role</code> element, the body of which is a
role name. role name.
</description> </description>
<type>java.util.List</type> <type>java.util.List</type>
@ -493,6 +513,7 @@
</field> </field>
<field> <field>
<name>timezone</name> <name>timezone</name>
<version>3.0.0+</version>
<description> <description>
The timezone the contributor is in. This is a number in the range -14 to 14. The timezone the contributor is in. This is a number in the range -14 to 14.
</description> </description>
@ -504,10 +525,6 @@
<name>Dependency</name> <name>Dependency</name>
<version>3.0.0+</version> <version>3.0.0+</version>
<fields> <fields>
<!--
Need to put versions on code segments ...
<field> <field>
<name>id</name> <name>id</name>
<version>3.0.0</version> <version>3.0.0</version>
@ -517,13 +534,13 @@
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
-->
<field> <field>
<name>groupId</name> <name>groupId</name>
<version>4.0.0</version> <version>4.0.0</version>
<required>true</required> <required>true</required>
<description> <description>
The project group that produced the dependency, e.g. <code>geronimo</code>. The project group that produced the dependency, e.g.
<code>geronimo</code>.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
@ -542,13 +559,14 @@
<version>3.0.0+</version> <version>3.0.0+</version>
<required>true</required> <required>true</required>
<description> <description>
The version of the dependency., e.g. <code>3.2.1</code> The version of the dependency., e.g.
<code>3.2.1</code>
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>3.0.+</version> <version>3.0.0+</version>
<description> <description>
This url will be provided to the user if the jar file cannot be downloaded This url will be provided to the user if the jar file cannot be downloaded
from the central repository. from the central repository.
@ -572,8 +590,9 @@
<name>type</name> <name>type</name>
<version>3.0.0+</version> <version>3.0.0+</version>
<description> <description>
Other known and recognised dependency types are: Other known recognised dependency types are:
<code>ejb</code> and <code>plugin</code>. <code>ejb</code> and
<code>plugin</code>.
</description> </description>
<type>String</type> <type>String</type>
<defaultValue>jar</defaultValue> <defaultValue>jar</defaultValue>
@ -586,18 +605,23 @@
<code>mark</code> dependencies with properties. For example the <code>mark</code> dependencies with properties. For example the
<a href="plugins/war/index.html">war</a> plugin looks for a <a href="plugins/war/index.html">war</a> plugin looks for a
<code>war.bundle</code> property, and if found will include the dependency <code>war.bundle</code> property, and if found will include the dependency
in <code>WEB-INF/lib</code>. For example syntax, check the war plugin docs. in
<code>WEB-INF/lib</code>. For example syntax, check the war plugin docs.
</description> </description>
<type>java.util.Properties</type> <type>java.util.Properties</type>
<defaultValue>new Properties()</defaultValue> <defaultValue>new Properties()</defaultValue>
</field> </field>
</fields> </fields>
<code> <codeSegments>
public String getId() <codeSegment>
{ <code>
return groupId + ":" + artifactId; public String getId()
} {
</code> return groupId + ":" + artifactId;
}
</code>
</codeSegment>
</codeSegments>
</class> </class>
<class> <class>
<superClass>Contributor</superClass> <superClass>Contributor</superClass>
@ -606,6 +630,7 @@
<fields> <fields>
<field> <field>
<name>id</name> <name>id</name>
<version>3.0.0+</version>
<description>The username of the developer.</description> <description>The username of the developer.</description>
<type>String</type> <type>String</type>
</field> </field>
@ -635,29 +660,33 @@
<fields> <fields>
<field> <field>
<name>name</name> <name>name</name>
<version>3.0.0+</version>
<description>The full legal name of the license.</description> <description>The full legal name of the license.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>3.0.0+</version>
<description>The official url for the license text.</description> <description>The official url for the license text.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>distribution</name> <name>distribution</name>
<version>3.0.0+</version>
<description> <description>
The primary method by which this project may be distributed. The primary method by which this project may be distributed.
<dl> <dl>
<dt>repo</dt> <dt>repo</dt>
<dd>may be downloaded from the Maven repository</dd> <dd>may be downloaded from the Maven repository</dd>
<dt>manual</dt> <dt>manual</dt>
<dd>user must manually download and install the dependency.</dd> <dd>user must manually download and install the dependency.</dd>
</dl> </dl>
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>comments</name> <name>comments</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>String</type> <type>String</type>
</field> </field>
@ -676,20 +705,24 @@
<fields> <fields>
<field> <field>
<name>name</name> <name>name</name>
<version>3.0.0+</version>
<description>The name of the mailing list.</description> <description>The name of the mailing list.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>subscribe</name> <name>subscribe</name>
<version>3.0.0+</version>
<description> <description>
The email address or link that can be used to subscribe to the mailing list. 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 If this is an email address, a
<code>mailto:</code> link will automatically be created when
the documentation is created. the documentation is created.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>unsubscribe</name> <name>unsubscribe</name>
<version>3.0.0+</version>
<description> <description>
The email address or link that can be used to unsubscribe to The email address or link that can be used to unsubscribe to
the mailing list. If this is an email address, a the mailing list. If this is an email address, a
@ -700,6 +733,7 @@
</field> </field>
<field> <field>
<name>archive</name> <name>archive</name>
<version>3.0.0+</version>
<description>The link to a URL where you can browse the archive.</description> <description>The link to a URL where you can browse the archive.</description>
<type>String</type> <type>String</type>
</field> </field>
@ -717,21 +751,26 @@
<fields> <fields>
<field> <field>
<name>name</name> <name>name</name>
<version>3.0.0+</version>
<description>The full name of the organization.</description> <description>The full name of the organization.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>3.0.0+</version>
<description>The URL to the organization's home page.</description> <description>The URL to the organization's home page.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>logo</name> <name>logo</name>
<version>3.0.0+</version>
<description> <description>
The URL to the organization's logo image. This can be an URL relative The URL to the organization's logo image. This can be an URL relative
to the base directory of the generated web site, to the base directory of the generated web site,
(e.g., <code>/images/org-logo.png</code>) or an absolute URL (e.g.,
(e.g., <code>http://my.corp/logo.png</code>). This value is used <code>/images/org-logo.png</code>) or an absolute URL
(e.g.,
<code>http://my.corp/logo.png</code>). This value is used
when generating the project documentation. when generating the project documentation.
</description> </description>
<type>String</type> <type>String</type>
@ -744,11 +783,13 @@
<fields> <fields>
<field> <field>
<name>title</name> <name>title</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>packages</name> <name>packages</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>String</type> <type>String</type>
</field> </field>
@ -760,12 +801,14 @@
<fields> <fields>
<field> <field>
<name>includes</name> <name>includes</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>java.util.List</type> <type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue> <defaultValue>new ArrayList()</defaultValue>
</field> </field>
<field> <field>
<name>excludes</name> <name>excludes</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>java.util.List</type> <type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue> <defaultValue>new ArrayList()</defaultValue>
@ -778,17 +821,20 @@
<fields> <fields>
<field> <field>
<name>artifactId</name> <name>artifactId</name>
<version>4.0.0</version>
<description>The artifact id of the project to extend.</description> <description>The artifact id of the project to extend.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>groupId</name> <name>groupId</name>
<version>4.0.0</version>
<description>The group id of the project to extend.</description> <description>The group id of the project to extend.</description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>version</name> <name>version</name>
<description>The version of the project to extend.</description> <version>4.0.0</version>
<description>The versi>on of the project to extend.</description>
<type>String</type> <type>String</type>
</field> </field>
</fields> </fields>
@ -799,17 +845,20 @@
<fields> <fields>
<field> <field>
<name>connection</name> <name>connection</name>
<version>3.0.0</version>
<description> <description>
The source configuration management system URL The source configuration management system URL
that describes the repository and how to connect to the that describes the repository and how to connect to the
repository. This is used by Maven when <a repository. This is used by Maven when
href="plugins/dist/index.html">building versions</a> <a
href="plugins/dist/index.html">building versions</a>
from specific ID. from specific ID.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>developerConnection</name> <name>developerConnection</name>
<version>3.0.0</version>
<description> <description>
Just like connection, but for developers, i.e. this scm connection Just like connection, but for developers, i.e. this scm connection
will not be read only. will not be read only.
@ -818,6 +867,7 @@
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>3.0.0</version>
<description>The URL to the project's browsable CVS repository.</description> <description>The URL to the project's browsable CVS repository.</description>
<type>String</type> <type>String</type>
</field> </field>
@ -829,17 +879,20 @@
<fields> <fields>
<field> <field>
<name>connection</name> <name>connection</name>
<version>4.0.0</version>
<description> <description>
The source configuration management system URL The source configuration management system URL
that describes the repository and how to connect to the that describes the repository and how to connect to the
repository. This is used by Maven when <a repository. This is used by Maven when
href="plugins/dist/index.html">building versions</a> <a
href="plugins/dist/index.html">building versions</a>
from specific ID. from specific ID.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>developerConnection</name> <name>developerConnection</name>
<version>4.0.0</version>
<description> <description>
Just like connection, but for developers, i.e. this scm connection Just like connection, but for developers, i.e. this scm connection
will not be read only. will not be read only.
@ -848,6 +901,7 @@
</field> </field>
<field> <field>
<name>url</name> <name>url</name>
<version>4.0.0</version>
<description>The URL to the project's browsable CVS repository.</description> <description>The URL to the project's browsable CVS repository.</description>
<type>String</type> <type>String</type>
</field> </field>
@ -860,6 +914,7 @@
<fields> <fields>
<field> <field>
<name>directory</name> <name>directory</name>
<version>3.0.0+</version>
<description> <description>
Describe the directory where the resource is stored. Describe the directory where the resource is stored.
The path may be absolute, or relative to the project.xml file. The path may be absolute, or relative to the project.xml file.
@ -868,15 +923,19 @@
</field> </field>
<field> <field>
<name>targetPath</name> <name>targetPath</name>
<version>3.0.0+</version>
<description> <description>
Describe the resource target path. For example, if you want that resource Describe the resource target path. For example, if you want that resource
appear into a specific package (<code>org.apache.maven.messages</code>), you must specify this appear into a specific package (
element with this value : <code>org/apache/maven/messages</code> <code>org.apache.maven.messages</code>), you must specify this
element with this value :
<code>org/apache/maven/messages</code>
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>filtering</name> <name>filtering</name>
<version>3.0.0+</version>
<description>Describe if resources are filtered or not.</description> <description>Describe if resources are filtered or not.</description>
<type>String</type> <type>String</type>
<defaultValue>false</defaultValue> <defaultValue>false</defaultValue>
@ -890,8 +949,10 @@
<fields> <fields>
<field> <field>
<name>className</name> <name>className</name>
<version>3.0.0+</version>
<description> <description>
If the class with this name can <strong>not</strong> be If the class with this name can
<strong>not</strong> be
loaded, then the includes and excludes specified below loaded, then the includes and excludes specified below
will be applied to the contents of the will be applied to the contents of the
<a href="#sourceDirectory">sourceDirectory</a> <a href="#sourceDirectory">sourceDirectory</a>
@ -900,6 +961,7 @@
</field> </field>
<field> <field>
<name>property</name> <name>property</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>String</type> <type>String</type>
</field> </field>
@ -912,6 +974,7 @@
<fields> <fields>
<field> <field>
<name>resources</name> <name>resources</name>
<version>3.0.0+</version>
<description>the description</description> <description>the description</description>
<type>java.util.List</type> <type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue> <defaultValue>new ArrayList()</defaultValue>
@ -923,20 +986,26 @@
<version>3.0.0</version> <version>3.0.0</version>
<description> <description>
This element describes each of the previous versions of the This element describes each of the previous versions of the
project. Each version is described by a <code>version</code> project. Each version is described by a
<code>version</code>
element element
</description> </description>
<fields> <fields>
<field> <field>
<name>name</name> <name>name</name>
<version>3.0.0</version>
<description> <description>
The external version number under which this release was distributed. Examples include: The external version number under which this release was distributed. Examples include:
<code>1.0</code>, <code>1.1-alpha1</code>, <code>1.2-beta</code>, <code>1.3.2</code> etc. <code>1.0</code>,
<code>1.1-alpha1</code>,
<code>1.2-beta</code>,
<code>1.3.2</code> etc.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>
<field> <field>
<name>tag</name> <name>tag</name>
<version>3.0.0</version>
<description> <description>
The name given in the version control system (e.g. cvs) used by the project for the source The name given in the version control system (e.g. cvs) used by the project for the source
code associated with this version of the project. code associated with this version of the project.
@ -945,9 +1014,13 @@
</field> </field>
<field> <field>
<name>id</name> <name>id</name>
<version>3.0.0</version>
<description> <description>
A unique identifier for a version. This ID is A unique identifier for a version. This ID is
used to specify the version that <a href="plugins/dist/index.html"><code>maven:dist</code></a> builds. used to specify the version that
<a href="plugins/dist/index.html">
<code>maven:dist</code>
</a> builds.
</description> </description>
<type>String</type> <type>String</type>
</field> </field>