mirror of https://github.com/apache/maven.git
1693 lines
58 KiB
Plaintext
1693 lines
58 KiB
Plaintext
<!--
|
|
|
|
|
| o add specification element to a field, this would be more a technical description of
|
|
| what is allowed in the field.
|
|
|
|
|
| o validators: there could be several levels of validation. Simple type validation could
|
|
| be done with a regex, but we need inter-field validation and rules which could be
|
|
| 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.
|
|
|
|
|
| o versioning of individual elements on the class level and the field level so that
|
|
| different versions of the model can be output.
|
|
|
|
|
| o annotation mechanism so that changes to the model can be accurately tracked.
|
|
|
|
|
| o need to clean up all the descriptions, matching anything to the current project-descriptor.xml file and
|
|
| improving on that
|
|
|
|
|
| o use enums where appropriate (eg dependency scope)
|
|
|
|
|
-->
|
|
<model>
|
|
<id>maven</id>
|
|
<name>Maven</name>
|
|
<description><![CDATA[Maven's model for Java project.]]></description>
|
|
<defaults>
|
|
<default>
|
|
<key>package</key>
|
|
<value>org.apache.maven.model</value>
|
|
</default>
|
|
</defaults>
|
|
<classes>
|
|
<class rootElement="true">
|
|
<name>Model</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>extend</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 project.xml file.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>parent</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Specified which project to extend.]]></description>
|
|
<association>
|
|
<type>Parent</type>
|
|
</association>
|
|
<comment></comment>
|
|
</field>
|
|
<field>
|
|
<name>modelVersion</name>
|
|
<version>4.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The version of this model you are using.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>pomVersion</name>
|
|
<version>3.0.0</version>
|
|
<required>true</required>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>id</name>
|
|
<version>3.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
The id of the project.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>groupId</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The primary grouping for your project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>artifactId</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The identifier used when generating the artifact for your project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>type</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The type of artifact this project produces.]]></description>
|
|
<type>String</type>
|
|
<defaultValue>jar</defaultValue>
|
|
</field>
|
|
<field>
|
|
<name>name</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[Human readable name of the project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>currentVersion</name>
|
|
<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 project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>shortDescription</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[An abbreviated description of the project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>description</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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>
|
|
of the project's web site.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The URL where the project can be found.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>logo</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The logo for the project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>issueTrackingUrl</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The URL where the issue tracking system used by the project can be found.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>issueManagement</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The project's issue management information.]]></description>
|
|
<association>
|
|
<type>IssueManagement</type>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>ciManagement</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The project's continuous integration management information.]]></description>
|
|
<association>
|
|
<type>CiManagement</type>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>inceptionYear</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The year the project started.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>gumpRepositoryId</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[Hint for the gump continuous integration build system.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>siteAddress</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The FQDN of the host where the project's site is uploaded.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>siteDirectory</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The directory on the site host where site documentation is placed when the site is uploaded.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>distributionSite</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The FQDN of the host where the project's artifacts are uploaded.]]></description>
|
|
<type>String</type>
|
|
<comment>This naming is inconsistent and distribution should occur from a repository structure.</comment>
|
|
</field>
|
|
<field>
|
|
<name>distributionDirectory</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The directory on the distribution host where artifacts are placed when uploaded.]]></description>
|
|
<type>String</type>
|
|
<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>plugins</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Plugin declarations and configuration.]]></description>
|
|
<association>
|
|
<type>Plugin</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>mailingLists</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The mailing lists for the project.]]></description>
|
|
<association>
|
|
<type>MailingList</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>developers</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
This element describes all of the developers associated with a
|
|
project. Each developer is described by a
|
|
<code>developer</code> element, which is then described by
|
|
additional elements (described below). The auto-generated site
|
|
documentation references this information.
|
|
]]></description>
|
|
<association>
|
|
<type>Developer</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>contributors</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
This element describes all of the contributors associated with a
|
|
project who are not developers. Each contributor is described by a
|
|
<code>contributor</code> element, which is then describe by additional
|
|
elements (described below). The auto-generated site documentation
|
|
references this information.
|
|
]]></description>
|
|
<association>
|
|
<type>Contributor</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>dependencies</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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).
|
|
]]></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[
|
|
This element describes all of the licenses for this project. Each license is described by a
|
|
<code>license</code> element, which is then describe by additional
|
|
elements (described below). The auto-generated site documentation
|
|
references this information. Projects should only list the license(s) that
|
|
applies to the project and not the licenses that apply to dependencies.
|
|
]]></description>
|
|
<association>
|
|
<type>License</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>versions</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The released versions of the project.]]></description>
|
|
<association>
|
|
<type>Version</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>branches</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The SCM branches create for the project.]]></description>
|
|
<association>
|
|
<type>Branch</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>packageGroups</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[Package groups required for complete javadocs.]]></description>
|
|
<association>
|
|
<type>PackageGroup</type>
|
|
<multiplicity>*</multiplicity>
|
|
</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>
|
|
<association>
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>scm</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Specification for the SCM use by the project.]]></description>
|
|
<association>
|
|
<type>Scm</type>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>repository</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[Specification for the SCM use by the project.]]></description>
|
|
<association>
|
|
<type>Repository</type>
|
|
</association>
|
|
<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[
|
|
This element describes various attributes of the organziation to
|
|
which the project belongs. These attributes are utilized when
|
|
documentation is created (for copyright notices and links).
|
|
]]></description>
|
|
<association>
|
|
<type>Organization</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.]]></description>
|
|
<association>
|
|
<type>DependencyManagement</type>
|
|
</association>
|
|
</field>
|
|
<!-- [ jdcasey:06-Mar-2005 ] Added to handle version management, etc. for
|
|
| plugins to be used in sub-projects. -->
|
|
<field>
|
|
<name>pluginManagement</name>
|
|
<version>4.0.0</version>
|
|
<required>false</required>
|
|
<description><![CDATA[Default plugin information for grouped projects inheriting from this one.]]></description>
|
|
<association>
|
|
<type>PluginManagement</type>
|
|
</association>
|
|
</field>
|
|
<!-- @todo long run 4.0.0 may not need properties, with the parameters being specified
|
|
for the plugin directly -->
|
|
<field>
|
|
<name>properties</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
Properties about the project. This allows you to configure your project and the
|
|
plugins it uses.
|
|
]]></description>
|
|
<type>Properties</type>
|
|
<association xml.mapStyle="inline">
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<!-- @todo is this for javadoc only? maybe make it a plugin property? -->
|
|
<field xml.tagName="package">
|
|
<name>packageName</name>
|
|
<version>3.0.0+</version>
|
|
<type>String</type>
|
|
<description>The Java package that the code resides in.</description>
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>3.0.0</version>
|
|
<code>
|
|
public void setVersion(String version)
|
|
{
|
|
this.currentVersion = version;
|
|
}
|
|
|
|
public String getVersion()
|
|
{
|
|
return currentVersion;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
<!-- We need this because we can't use package as a field name. -->
|
|
<codeSegment>
|
|
<version>3.0.0+</version>
|
|
<code>
|
|
public void setPackage(String packageName)
|
|
{
|
|
this.packageName = packageName;
|
|
}
|
|
|
|
public String getPackage()
|
|
{
|
|
return packageName;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
<codeSegment>
|
|
<version>4.0.0</version>
|
|
<code>
|
|
public String getId()
|
|
{
|
|
StringBuffer id = new StringBuffer();
|
|
|
|
id.append( getGroupId() );
|
|
id.append( ":" );
|
|
id.append( getArtifactId() );
|
|
id.append( ":" );
|
|
id.append( getType() );
|
|
id.append( ":" );
|
|
id.append( getVersion() );
|
|
|
|
return id.toString();
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
<!-- @todo: is any of this too CVS specific? Investigate other SCMs -->
|
|
<class>
|
|
<name>Branch</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
This element describes each of the branches of the
|
|
project. Each branch is described by a
|
|
<code>tag</code>
|
|
element
|
|
]]></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>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Build</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<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. Currently this is used by the
|
|
<a href="build-file.html#maven:gump-descriptor">maven:gump-descriptor</a>
|
|
target.
|
|
]]></description>
|
|
<type>String</type>
|
|
<comment>This should be moved out of the build section. Vestigal for use with Gump.</comment>
|
|
</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>
|
|
<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 unit tests must use the JUnit test framework.
|
|
The path given is relative to the project descriptor.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>sourceModifications</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
This element describes all of the sourceModifications associated with a
|
|
project. Each source modification is described by a
|
|
<code>sourceModification</code> element, which is then described by
|
|
additional elements (described below). 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>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>unitTest</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[This element specifies unit tests associated with the project.]]></description>
|
|
<defaultValue>new UnitTest()</defaultValue>
|
|
<association>
|
|
<type>UnitTest</type>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>resources</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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
|
|
complete the jar file or to run unit test.
|
|
]]></description>
|
|
<association>
|
|
<type>Resource</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>directory</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The directory where all generated by the build is placed.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>output</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The directory where compiled application classes are placed.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>finalName</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The filename (including an extension, but with no path information) that the produced artifact
|
|
will be called. The default value is artifactId-version.extension (where extension is derived from
|
|
type).
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>testOutput</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The directory where compiled test classes are placed.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>CiManagement</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>system</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The name of the continuous integration system i.e. Bugzilla]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Url for the continuous integration system use by the project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>nagEmailAddress</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Email address for the party to be notified on unsuccessful builds.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Contributor</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>name</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[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>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The URL for the homepage of the contributor.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>organization</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The organization to which the contributor belongs.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>roles</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
The roles the contributor plays in the project. Each role is
|
|
describe by a
|
|
<code>role</code> element, the body of which is a
|
|
role name.
|
|
]]></description>
|
|
<association>
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>timezone</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
The timezone the contributor is in. This is a number in the range -14 to 14.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Dependency</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>3.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
The id of the project.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>groupId</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
The project group that produced the dependency, e.g.
|
|
<code>geronimo</code>.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>artifactId</name>
|
|
<version>3.0.0+</version>
|
|
<required>true</required>
|
|
<description><![CDATA[
|
|
The unique id for an artifact produced by the project group, e.g.
|
|
<code>germonimo-jms</code>
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>version</name>
|
|
<version>3.0.0+</version>
|
|
<!-- [ jdcasey:01-Feb-2005 ] No longer required. We'll validate after injecting defaults. -->
|
|
<!-- required>true</required -->
|
|
<description><![CDATA[
|
|
The version of the dependency., e.g.
|
|
<code>3.2.1</code>
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<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>
|
|
<type>String</type>
|
|
<comment>The URL should really be gleaned from a shared database of dependency information.</comment>
|
|
</field>
|
|
<field>
|
|
<name>jar</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[Literal name of the artifact.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>type</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
Other known recognised dependency types are:
|
|
<code>ejb</code> and
|
|
<code>plugin</code>.
|
|
]]></description>
|
|
<type>String</type>
|
|
<defaultValue>jar</defaultValue>
|
|
</field>
|
|
<field>
|
|
<name>properties</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
Properties about the dependency. Various plugins allow you to
|
|
<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.
|
|
]]></description>
|
|
<type>Properties</type>
|
|
<association xml.mapStyle="inline">
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>scope</name>
|
|
<version>4.0.0</version>
|
|
<description>The scope of the dependency - build, compile, test, runtime</description>
|
|
<type>String</type>
|
|
<!-- TODO: set default value? see DefaultArtifact first
|
|
<defaultValue>runtime</defaultValue>
|
|
-->
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>3.0.0+</version>
|
|
<code>
|
|
public String toString()
|
|
{
|
|
return groupId + "/" + type + "s:" + artifactId + "-" + version;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
<codeSegment>
|
|
<version>4.0.0</version>
|
|
<code>
|
|
public String getId()
|
|
{
|
|
return groupId + ":" + artifactId + ":" + type + ":" + version;
|
|
}
|
|
|
|
public String getManagementKey()
|
|
{
|
|
return groupId + ":" + artifactId + ":" + type;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
<codeSegment>
|
|
<version>3.0.0</version>
|
|
<code><![CDATA[
|
|
public String getKey()
|
|
{
|
|
return getId() + ":" + getType();
|
|
}
|
|
|
|
public String getArtifactDirectory()
|
|
{
|
|
return getGroupId();
|
|
}
|
|
|
|
public String getArtifact()
|
|
{
|
|
// If the jar name has been explicty set then use that. This
|
|
// is when the <jar/> element is explicity used in the POM.
|
|
if ( getJar() != null)
|
|
{
|
|
return getJar();
|
|
}
|
|
|
|
return getArtifactId() + "-" + getVersion() + "." + getExtension();
|
|
}
|
|
|
|
public String getExtension()
|
|
{
|
|
if ("ejb".equals(getType()) || "plugin".equals(getType()) || "aspect".equals(getType())) return "jar";
|
|
return getType();
|
|
}
|
|
|
|
public boolean isAddedToClasspath()
|
|
{
|
|
return ("jar".equals(getType()) || "ejb".equals(getType()));
|
|
}
|
|
|
|
public boolean isPlugin()
|
|
{
|
|
return ("plugin".equals(getType()));
|
|
}
|
|
|
|
public String getProperty( String property )
|
|
{
|
|
return getProperties().getProperty( property );
|
|
}
|
|
|
|
public boolean equals( Object o )
|
|
{
|
|
if ( this == o )
|
|
{
|
|
return true;
|
|
}
|
|
|
|
if ( !( o instanceof Dependency ) )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
Dependency d = (Dependency) o;
|
|
return getId().equals( d.getId() );
|
|
}
|
|
|
|
public int hashCode()
|
|
{
|
|
return getId().hashCode();
|
|
}
|
|
]]></code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
<class>
|
|
<superClass>Contributor</superClass>
|
|
<name>Developer</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The username of the developer.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>IssueManagement</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>system</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The name of the issue management system i.e. Bugzilla]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Url for the issue management system use by the project.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>DistributionManagement</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
This elements describes all that pertains to distribution for a project.
|
|
]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>repository</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[Information needed for deploying to remote repository artifacts generated by the project]]></description>
|
|
<association>
|
|
<type>Repository</type>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>site</name>
|
|
<description><![CDATA[Information needed for deploying website files of the project.]]></description>
|
|
<version>4.0.0</version>
|
|
<association>
|
|
<type>Site</type>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>License</name>
|
|
<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>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The official url for the license text.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>distribution</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
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>
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>comments</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>MailingList</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
This element describes all of the mailing lists associated with
|
|
a project. Each mailing list is described by a
|
|
<code>mailingList</code> element, which is then described by
|
|
additional elements (described below). The auto-generated site
|
|
documentation references this information.
|
|
]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>name</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The name of the mailing list.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>subscribe</name>
|
|
<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.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>unsubscribe</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
The email address or link that can be used to unsubscribe 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>
|
|
</field>
|
|
<field>
|
|
<name>post</name>
|
|
<version>3.1.0+</version>
|
|
<description><![CDATA[
|
|
The email address or link that can be used to post 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>
|
|
</field>
|
|
<field>
|
|
<name>archive</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[The link to a URL where you can browse the archive.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>otherArchives</name>
|
|
<version>3.1.0+</version>
|
|
<description><![CDATA[The link to other URLs where you can browse the 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>
|
|
</class>
|
|
<class>
|
|
<name>Organization</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>name</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[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>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>logo</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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
|
|
when generating the project documentation.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>PackageGroup</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>title</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>packages</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>PatternSet</name>
|
|
<version>3.0.0+</version>
|
|
<fields>
|
|
<field>
|
|
<name>includes</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<association>
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>excludes</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<association>
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>3.0.0+</version>
|
|
<!-- @todo: should these be built somewhere so they are only created once, and can be modified? -->
|
|
<code>
|
|
public List getDefaultExcludes()
|
|
{
|
|
List defaultExcludes = new ArrayList();
|
|
defaultExcludes.add( "**/*~" );
|
|
defaultExcludes.add( "**/#*#" );
|
|
defaultExcludes.add( "**/.#*" );
|
|
defaultExcludes.add( "**/%*%" );
|
|
defaultExcludes.add( "**/._*" );
|
|
|
|
// CVS
|
|
defaultExcludes.add( "**/CVS" );
|
|
defaultExcludes.add( "**/CVS/**" );
|
|
defaultExcludes.add( "**/.cvsignore" );
|
|
|
|
// SCCS
|
|
defaultExcludes.add( "**/SCCS" );
|
|
defaultExcludes.add( "**/SCCS/**" );
|
|
|
|
// Visual SourceSafe
|
|
defaultExcludes.add( "**/vssver.scc" );
|
|
|
|
// Subversion
|
|
defaultExcludes.add( "**/.svn" );
|
|
defaultExcludes.add( "**/.svn/**" );
|
|
|
|
// Mac
|
|
defaultExcludes.add( "**/.DS_Store" );
|
|
return defaultExcludes;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
<class>
|
|
<name>Parent</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>artifactId</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The artifact id of the project to extend.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>groupId</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The group id of the project to extend.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>version</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The versi>on of the project to extend.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Repository</name>
|
|
<version>3.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>connection</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
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>
|
|
from specific ID.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>developerConnection</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
Just like connection, but for developers, i.e. this scm connection
|
|
will not be read only.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[The URL to the project's browsable CVS repository.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Scm</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>connection</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
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>
|
|
from specific ID.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>developerConnection</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
Just like connection, but for developers, i.e. this scm connection
|
|
will not be read only.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The URL to the project's browsable CVS repository.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>branches</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[The SCM branches that are currently active for the project. These should only be those forked from the current branch or trunk that are intended to be used.]]></description>
|
|
<association>
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>FileSet</name>
|
|
<version>3.0.0+</version>
|
|
<superClass>PatternSet</superClass>
|
|
<fields>
|
|
<field>
|
|
<name>directory</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
Describe the directory where the resource is stored.
|
|
The path may be absolute, or relative to the project.xml file.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Resource</name>
|
|
<version>3.0.0+</version>
|
|
<superClass>FileSet</superClass>
|
|
<fields>
|
|
<field>
|
|
<name>targetPath</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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>
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>filtering</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[Describe if resources are filtered or not.]]></description>
|
|
<type>boolean</type>
|
|
<defaultValue>false</defaultValue>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>SourceModification</name>
|
|
<version>3.0.0+</version>
|
|
<superClass>FileSet</superClass>
|
|
<fields>
|
|
<field>
|
|
<name>className</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[
|
|
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>
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>property</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>UnitTest</name>
|
|
<version>3.0.0+</version>
|
|
<superClass>PatternSet</superClass>
|
|
<fields>
|
|
<field>
|
|
<name>resources</name>
|
|
<version>3.0.0+</version>
|
|
<description><![CDATA[the description]]></description>
|
|
<association>
|
|
<type>Resource</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Version</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
This element describes each of the previous versions of the
|
|
project. Each version is described by a
|
|
<code>version</code>
|
|
element
|
|
]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>name</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
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.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>tag</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
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.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>id</name>
|
|
<version>3.0.0</version>
|
|
<description><![CDATA[
|
|
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.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>3.0.0</version>
|
|
<code>
|
|
public String toString()
|
|
{
|
|
return getId();
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
|
|
<class>
|
|
<name>Repository</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
Repository contains the information needed
|
|
for establishing connections with remote repoistory
|
|
]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
A unique identifier for a repository.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>name</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
Human readable name of the repository
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The url of of the repository
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<!-- @todo this should be in the user configuration -->
|
|
<field>
|
|
<name>username</name>
|
|
<version>4.0.0</version>
|
|
<description>The username to connect to the repository with. If omitted, none is used.</description>
|
|
<type>String</type>
|
|
</field>
|
|
<!-- @todo this should be encrypted in some way or be a keystore lookup and m2 can provide a way to generate it -->
|
|
<field>
|
|
<name>password</name>
|
|
<version>4.0.0</version>
|
|
<description>The password to use when connecting to the repository. If omitted, none is used.</description>
|
|
<type>String</type>
|
|
</field>
|
|
<!-- @todo this should be in the user configuration -->
|
|
<field>
|
|
<name>privateKey</name>
|
|
<version>4.0.0</version>
|
|
<description>The private key to use when connecting to the repository (SSH only)</description>
|
|
<type>String</type>
|
|
</field>
|
|
<!-- @todo this should be in the user configuration -->
|
|
<field>
|
|
<name>passphrase</name>
|
|
<version>4.0.0</version>
|
|
<description>The passphrase for the private key to use when connecting to the repository (SSH only)</description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
<codeSegments>
|
|
<codeSegment>
|
|
<version>4.0.0</version>
|
|
<code>
|
|
public boolean equals( Object obj )
|
|
{
|
|
Repository other = ( Repository ) obj;
|
|
|
|
boolean retValue = false;
|
|
|
|
if ( id != null )
|
|
{
|
|
retValue = id.equals( other.id );
|
|
}
|
|
|
|
return retValue;
|
|
}
|
|
</code>
|
|
</codeSegment>
|
|
</codeSegments>
|
|
</class>
|
|
<!--@todo find better solution for managment of site deployments -->
|
|
<class>
|
|
<name>Site</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
Site contains the information needed
|
|
for deploying websites.
|
|
]]></description>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
A unique identifier for a deployment locataion.
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>name</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
Human readable name of the deployment location
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>url</name>
|
|
<version>4.0.0</version>
|
|
<description><![CDATA[
|
|
The url of of the location where website is deployed
|
|
]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
|
|
<!--
|
|
|
|
A sketch of what a plugin configuration might look like where
|
|
we have plugin wide parameters that apply to all goals/mojos
|
|
and goal/mojo specific parameters that will override any
|
|
of the plugin wide definitions.
|
|
|
|
At first the configuration element will be a flat set of properties
|
|
but i would like the configuration to actually be an arbiitrary
|
|
data model or a simple DOM like structure so that mojos can
|
|
be arbitrarily configured in the same fashion plexus plugins
|
|
are configured.
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<id>plexus</id>
|
|
<configuration>
|
|
<key>value</key>
|
|
</configuration>
|
|
<goals>
|
|
<goal>
|
|
<id></id>
|
|
<configuration>
|
|
<key>value</key>
|
|
</configuration>
|
|
</goal>
|
|
</goals>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
-->
|
|
|
|
<class>
|
|
<name>Plugin</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>4.0.0</version>
|
|
<type>String</type>
|
|
<required>true</required>
|
|
</field>
|
|
<field>
|
|
<name>version</name>
|
|
<version>4.0.0</version>
|
|
<required>true</required>
|
|
<description><![CDATA[The version of the plugin to be used.]]></description>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>disabled</name>
|
|
<version>4.0.0</version>
|
|
<type>Boolean</type>
|
|
<!-- defaultValue>false</defaultValue -->
|
|
</field>
|
|
<field>
|
|
<name>configuration</name>
|
|
<type>Properties</type>
|
|
<association xml.mapStyle="inline">
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
<field>
|
|
<name>goals</name>
|
|
<version>4.0.0</version>
|
|
<association>
|
|
<type>Goal</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>Goal</name>
|
|
<version>4.0.0</version>
|
|
<fields>
|
|
<field>
|
|
<name>id</name>
|
|
<version>4.0.0</version>
|
|
<type>String</type>
|
|
</field>
|
|
<field>
|
|
<name>disabled</name>
|
|
<version>4.0.0</version>
|
|
<type>Boolean</type>
|
|
<!-- defaultValue>false</defaultValue -->
|
|
</field>
|
|
<field>
|
|
<name>configuration</name>
|
|
<type>Properties</type>
|
|
<association xml.mapStyle="inline">
|
|
<type>String</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>DependencyManagement</name>
|
|
<version>4.0.0</version>
|
|
<description>
|
|
Section for management of default dependency information for use in a group of POMs.
|
|
</description>
|
|
<fields>
|
|
<field>
|
|
<name>dependencies</name>
|
|
<version>4.0.0</version>
|
|
<description>
|
|
The dependencies specified here are not validated until they
|
|
are referenced in a POM within the group. This allows the
|
|
specification of a "standard" version for a particular
|
|
dependency.
|
|
</description>
|
|
<association>
|
|
<type>Dependency</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
<class>
|
|
<name>PluginManagement</name>
|
|
<version>4.0.0</version>
|
|
<description>
|
|
Section for management of default plugin information for use in a group of POMs.
|
|
</description>
|
|
<fields>
|
|
<field>
|
|
<name>plugins</name>
|
|
<version>4.0.0</version>
|
|
<description>
|
|
The dependencies specified here are not validated until they
|
|
are referenced in a POM within the group. This allows the
|
|
specification of a "standard" version for a particular
|
|
dependency.
|
|
</description>
|
|
<association>
|
|
<type>Plugin</type>
|
|
<multiplicity>*</multiplicity>
|
|
</association>
|
|
</field>
|
|
</fields>
|
|
</class>
|
|
</classes>
|
|
</model>
|
|
|