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>
<id>maven</id>
<name>Maven</name>
<version>4.0.0</version>
<description>Maven's model for Java project.</description>
<packageName>org.apache.maven.model</packageName>
<root>Model</root>
<classes>
<class>
<name>Model</name>
<version>4.0.0</version>
<fields>
<field>
<name>extend</name>
<version>3.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.
@ -110,7 +111,8 @@
A detailed description of the project. This element is
usually specified as CDATA to enable the use of HTML tags
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.
</description>
<type>String</type>
@ -258,7 +260,8 @@
<description>
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
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>
@ -297,59 +300,67 @@
</field>
</fields>
<!-- We need this because we can't use package as a field name. -->
<code>
private String packageName;
<codeSegments>
<codeSegment>
<code>
private 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 )
public void setPackage(String packageName)
{
setGroupId( id.substring( 0, i ) );
setArtifactId( id.replace( '+', '-' ) );
this.packageName = packageName;
}
else if ( j > 0 )
public String getPackage()
{
setGroupId( id.substring( 0, j ) );
setArtifactId( id.substring( j + 1 ) );
return packageName;
}
else
public String getId()
{
setGroupId( id );
setArtifactId( id );
StringBuffer id = new StringBuffer();
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>
<name>Branch</name>
<version>3.0.0</version>
<description>
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
</description>
<fields>
@ -371,6 +382,7 @@
<fields>
<field>
<name>nagEmailAddress</name>
<version>3.0.0</version>
<description>
An address to which notifications regarding the status of builds
for this project can be sent. This is intended for use by tools
@ -414,8 +426,9 @@
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 (see the <a
href="plugins/aspectj/goals.html">Aspectj goals</a> document).
built if Aspects have been enabled (see the
<a
href="plugins/aspectj/goals.html">Aspectj goals</a> document).
The path given is relative to the project descriptor.
</description>
<type>String</type>
@ -449,7 +462,8 @@
<description>
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
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.
</description>
<type>java.util.List</type>
@ -463,29 +477,35 @@
<fields>
<field>
<name>name</name>
<version>3.0.0+</version>
<description>The full name of the contributor.</description>
<type>String</type>
</field>
<field>
<name>email</name>
<version>3.0.0+</version>
<description>The email address of the contributor.</description>
<type>String</type>
</field>
<field>
<name>url</name>
<version>3.0.0+</version>
<description>The URL for the homepage of the contributor.</description>
<type>String</type>
</field>
<field>
<name>organization</name>
<version>3.0.0+</version>
<description>The organization to which the contributor belongs.</description>
<type>String</type>
</field>
<field>
<name>roles</name>
<version>3.0.0+</version>
<description>
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.
</description>
<type>java.util.List</type>
@ -493,6 +513,7 @@
</field>
<field>
<name>timezone</name>
<version>3.0.0+</version>
<description>
The timezone the contributor is in. This is a number in the range -14 to 14.
</description>
@ -504,10 +525,6 @@
<name>Dependency</name>
<version>3.0.0+</version>
<fields>
<!--
Need to put versions on code segments ...
<field>
<name>id</name>
<version>3.0.0</version>
@ -517,13 +534,13 @@
</description>
<type>String</type>
</field>
-->
<field>
<name>groupId</name>
<version>4.0.0</version>
<required>true</required>
<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>
<type>String</type>
</field>
@ -542,13 +559,14 @@
<version>3.0.0+</version>
<required>true</required>
<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>
<type>String</type>
</field>
<field>
<name>url</name>
<version>3.0.+</version>
<version>3.0.0+</version>
<description>
This url will be provided to the user if the jar file cannot be downloaded
from the central repository.
@ -572,8 +590,9 @@
<name>type</name>
<version>3.0.0+</version>
<description>
Other known and recognised dependency types are:
<code>ejb</code> and <code>plugin</code>.
Other known recognised dependency types are:
<code>ejb</code> and
<code>plugin</code>.
</description>
<type>String</type>
<defaultValue>jar</defaultValue>
@ -586,18 +605,23 @@
<code>mark</code> dependencies with properties. For example the
<a href="plugins/war/index.html">war</a> plugin looks for a
<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>
<type>java.util.Properties</type>
<defaultValue>new Properties()</defaultValue>
</field>
</fields>
<code>
public String getId()
{
return groupId + ":" + artifactId;
}
</code>
<codeSegments>
<codeSegment>
<code>
public String getId()
{
return groupId + ":" + artifactId;
}
</code>
</codeSegment>
</codeSegments>
</class>
<class>
<superClass>Contributor</superClass>
@ -606,6 +630,7 @@
<fields>
<field>
<name>id</name>
<version>3.0.0+</version>
<description>The username of the developer.</description>
<type>String</type>
</field>
@ -635,29 +660,33 @@
<fields>
<field>
<name>name</name>
<version>3.0.0+</version>
<description>The full legal name of the license.</description>
<type>String</type>
</field>
<field>
<name>url</name>
<version>3.0.0+</version>
<description>The official url for the license text.</description>
<type>String</type>
</field>
<field>
<name>distribution</name>
<version>3.0.0+</version>
<description>
The primary method by which this project may be distributed.
<dl>
<dt>repo</dt>
<dd>may be downloaded from the Maven repository</dd>
<dt>manual</dt>
<dd>user must manually download and install the dependency.</dd>
</dl>
<dl>
<dt>repo</dt>
<dd>may be downloaded from the Maven repository</dd>
<dt>manual</dt>
<dd>user must manually download and install the dependency.</dd>
</dl>
</description>
<type>String</type>
</field>
<field>
<name>comments</name>
<version>3.0.0+</version>
<description>the description</description>
<type>String</type>
</field>
@ -676,20 +705,24 @@
<fields>
<field>
<name>name</name>
<version>3.0.0+</version>
<description>The name of the mailing list.</description>
<type>String</type>
</field>
<field>
<name>subscribe</name>
<version>3.0.0+</version>
<description>
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.
</description>
<type>String</type>
</field>
<field>
<name>unsubscribe</name>
<version>3.0.0+</version>
<description>
The email address or link that can be used to unsubscribe to
the mailing list. If this is an email address, a
@ -700,6 +733,7 @@
</field>
<field>
<name>archive</name>
<version>3.0.0+</version>
<description>The link to a URL where you can browse the archive.</description>
<type>String</type>
</field>
@ -717,21 +751,26 @@
<fields>
<field>
<name>name</name>
<version>3.0.0+</version>
<description>The full name of the organization.</description>
<type>String</type>
</field>
<field>
<name>url</name>
<version>3.0.0+</version>
<description>The URL to the organization's home page.</description>
<type>String</type>
</field>
<field>
<name>logo</name>
<version>3.0.0+</version>
<description>
The URL to the organization's logo image. This can be an URL relative
to the base directory of the generated web site,
(e.g., <code>/images/org-logo.png</code>) or an absolute URL
(e.g., <code>http://my.corp/logo.png</code>). This value is used
(e.g.,
<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.
</description>
<type>String</type>
@ -744,11 +783,13 @@
<fields>
<field>
<name>title</name>
<version>3.0.0+</version>
<description>the description</description>
<type>String</type>
</field>
<field>
<name>packages</name>
<version>3.0.0+</version>
<description>the description</description>
<type>String</type>
</field>
@ -760,12 +801,14 @@
<fields>
<field>
<name>includes</name>
<version>3.0.0+</version>
<description>the description</description>
<type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue>
</field>
<field>
<name>excludes</name>
<version>3.0.0+</version>
<description>the description</description>
<type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue>
@ -778,17 +821,20 @@
<fields>
<field>
<name>artifactId</name>
<version>4.0.0</version>
<description>The artifact id of the project to extend.</description>
<type>String</type>
</field>
<field>
<name>groupId</name>
<version>4.0.0</version>
<description>The group id of the project to extend.</description>
<type>String</type>
</field>
<field>
<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>
</field>
</fields>
@ -799,17 +845,20 @@
<fields>
<field>
<name>connection</name>
<version>3.0.0</version>
<description>
The source configuration management system URL
that describes the repository and how to connect to the
repository. This is used by Maven when <a
href="plugins/dist/index.html">building versions</a>
repository. This is used by Maven when
<a
href="plugins/dist/index.html">building versions</a>
from specific ID.
</description>
<type>String</type>
</field>
<field>
<name>developerConnection</name>
<version>3.0.0</version>
<description>
Just like connection, but for developers, i.e. this scm connection
will not be read only.
@ -818,6 +867,7 @@
</field>
<field>
<name>url</name>
<version>3.0.0</version>
<description>The URL to the project's browsable CVS repository.</description>
<type>String</type>
</field>
@ -829,17 +879,20 @@
<fields>
<field>
<name>connection</name>
<version>4.0.0</version>
<description>
The source configuration management system URL
that describes the repository and how to connect to the
repository. This is used by Maven when <a
href="plugins/dist/index.html">building versions</a>
repository. This is used by Maven when
<a
href="plugins/dist/index.html">building versions</a>
from specific ID.
</description>
<type>String</type>
</field>
<field>
<name>developerConnection</name>
<version>4.0.0</version>
<description>
Just like connection, but for developers, i.e. this scm connection
will not be read only.
@ -848,6 +901,7 @@
</field>
<field>
<name>url</name>
<version>4.0.0</version>
<description>The URL to the project's browsable CVS repository.</description>
<type>String</type>
</field>
@ -860,6 +914,7 @@
<fields>
<field>
<name>directory</name>
<version>3.0.0+</version>
<description>
Describe the directory where the resource is stored.
The path may be absolute, or relative to the project.xml file.
@ -868,15 +923,19 @@
</field>
<field>
<name>targetPath</name>
<version>3.0.0+</version>
<description>
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
element with this value : <code>org/apache/maven/messages</code>
appear into a specific package (
<code>org.apache.maven.messages</code>), you must specify this
element with this value :
<code>org/apache/maven/messages</code>
</description>
<type>String</type>
</field>
<field>
<name>filtering</name>
<version>3.0.0+</version>
<description>Describe if resources are filtered or not.</description>
<type>String</type>
<defaultValue>false</defaultValue>
@ -890,8 +949,10 @@
<fields>
<field>
<name>className</name>
<version>3.0.0+</version>
<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
will be applied to the contents of the
<a href="#sourceDirectory">sourceDirectory</a>
@ -900,6 +961,7 @@
</field>
<field>
<name>property</name>
<version>3.0.0+</version>
<description>the description</description>
<type>String</type>
</field>
@ -912,6 +974,7 @@
<fields>
<field>
<name>resources</name>
<version>3.0.0+</version>
<description>the description</description>
<type>java.util.List</type>
<defaultValue>new ArrayList()</defaultValue>
@ -923,20 +986,26 @@
<version>3.0.0</version>
<description>
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
</description>
<fields>
<field>
<name>name</name>
<version>3.0.0</version>
<description>
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>
<type>String</type>
</field>
<field>
<name>tag</name>
<version>3.0.0</version>
<description>
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.
@ -945,9 +1014,13 @@
</field>
<field>
<name>id</name>
<version>3.0.0</version>
<description>
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>
<type>String</type>
</field>