You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2015/10/10 11:28:10 UTC
svn commit: r1707854 [2/2] -
/maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd
Modified: maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd
URL: http://svn.apache.org/viewvc/maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd?rev=1707854&r1=1707853&r2=1707854&view=diff
==============================================================================
--- maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd (original)
+++ maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd Sat Oct 10 09:28:10 2015
@@ -1,11 +1,17 @@
<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://maven.apache.org/POM/4.0.0" xmlns="http://maven.apache.org/POM/4.0.0">
+<!-- =================== DO NOT EDIT THIS FILE ==================== -->
+<!-- Generated by Modello 1.8.3, -->
+<!-- any modifications will be overwritten. -->
+<!-- ============================================================== -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/POM/4.0.0" targetNamespace="http://maven.apache.org/POM/4.0.0">
<xs:element name="project" type="Model">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- The <code>&lt;project&gt;</code> element is the root of the descriptor.
- The following table lists all of the possible child elements.
+
+ The <code>&lt;project&gt;</code> element is the root of the descriptor.
+ The following table lists all of the possible child elements.
+
</xs:documentation>
</xs:annotation>
</xs:element>
@@ -13,51 +19,59 @@
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- The <code>&lt;project&gt;</code> element is the root of the descriptor.
- The following table lists all of the possible child elements.
+
+ The <code>&lt;project&gt;</code> element is the root of the descriptor.
+ The following table lists all of the possible child elements.
+
</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="parent" minOccurs="0" type="Parent">
+ <xs:element minOccurs="0" name="modelVersion" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="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. The location is given as a group ID, artifact ID and version.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Declares to which version of project descriptor this POM conforms.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="modelVersion" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="parent" type="Parent">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Declares to which version of project descriptor this POM conforms.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="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. The location
+ is given as a group ID, artifact ID and version.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="groupId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="groupId" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
+
A universally unique identifier for a project. It is normal to
- use a fully-qualified package name to distinguish it from other projects with a similar name
- (eg. <code>org.apache.maven</code>).
+ use a fully-qualified package name to distinguish it from other
+ projects with a similar name (eg. <code>org.apache.maven</code>).
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="artifactId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="artifactId" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- The identifier for this artifact that is unique within the group given by the group ID.
- An artifact is something that is either produced or used by a project. Examples of artifacts produced by
- Maven for a project include: JARs, source and binary distributions, and WARs.
- </xs:documentation>
+ <xs:documentation source="description">The identifier for this artifact that is unique within the group given by the
+ group ID. An artifact is something that is either produced or used by a project.
+ Examples of artifacts produced by Maven for a project include: JARs, source and binary
+ distributions, and WARs.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="packaging" minOccurs="0" type="xs:string" default="jar">
+ <xs:element minOccurs="0" name="version" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The current version of the artifact produced by this project.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="packaging" type="xs:string" default="jar">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
+
The type of artifact this project produces, for example <code>jar</code>
<code>war</code>
<code>ear</code>
@@ -65,93 +79,77 @@
Plugins can create their own packaging, and
therefore their own packaging types,
so this list does not contain all possible types.
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="name" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- The full name of the project.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="version" minOccurs="0" type="xs:string">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The current version of the artifact produced by this project.
- </xs:documentation>
+ <xs:documentation source="description">The full name of the project.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="description" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="description" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- A detailed description of the project, used by Maven whenever it needs to describe the project,
- such as on the web site. While this element can be specified as CDATA to enable
- the use of HTML tags within the description, it is discouraged to allow plain text representation.
- If you need to modify the index page of the generated web site, you are able to specify your own instead
- of adjusting this text.
- </xs:documentation>
+ <xs:documentation source="description">A detailed description of the project, used by Maven whenever it needs to
+ describe the project, such as on the web site. While this element can be specified as
+ CDATA to enable the use of HTML tags within the description, it is discouraged to allow
+ plain text representation. If you need to modify the index page of the generated web
+ site, you are able to specify your own instead of adjusting this text.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="url" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- The URL to the project's homepage.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="prerequisites" minOccurs="0" type="Prerequisites">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Describes the prerequisites in the build environment for this project.
+
+ The URL to the project's homepage.
+ <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="issueManagement" minOccurs="0" type="IssueManagement">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The project's issue management system information.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="ciManagement" minOccurs="0" type="CiManagement">
+ <xs:element minOccurs="0" name="inceptionYear" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The project's continuous integration information.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The year of the project's inception, specified with 4 digits. This value is
+ used when generating copyright notices as well as being informational.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="inceptionYear" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="organization" type="Organization">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- The year of the project's inception, specified with 4 digits.
- This value is used when generating copyright notices as well as being informational.
- </xs:documentation>
+ <xs:documentation source="description">This element describes various attributes of the organization to which the
+ project belongs. These attributes are utilized when documentation is created (for
+ copyright notices and links).</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="mailingLists" minOccurs="0">
+ <xs:element minOccurs="0" name="licenses">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- Contains information about a project's mailing lists.
+
+ This element describes all of the licenses for this project.
+ Each license is described by a <code>license</code> element, which
+ is then described by additional elements.
+ Projects should only list the license(s) that applies to the project
+ and not the licenses that apply to dependencies.
+ If multiple licenses are listed, it is assumed that the user can select
+ any of them, not that they must accept all.
+
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded" type="MailingList"/>
+ <xs:element name="license" minOccurs="0" maxOccurs="unbounded" type="License"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="developers" minOccurs="0">
+ <xs:element minOccurs="0" name="developers">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- Describes the committers of a project.
- </xs:documentation>
+ <xs:documentation source="description">Describes the committers of a project.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -159,12 +157,10 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="contributors" minOccurs="0">
+ <xs:element minOccurs="0" name="contributors">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- Describes the contributors to a project that are not yet committers.
- </xs:documentation>
+ <xs:documentation source="description">Describes the contributors to a project that are not yet committers.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -172,80 +168,115 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="licenses" minOccurs="0">
+ <xs:element minOccurs="0" name="mailingLists">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- This element describes all of the licenses for this project.
- Each license is described by a <code>license</code> element, which
- is then described by additional elements.
- Projects should only list the license(s) that applies to the project
- and not the licenses that apply to dependencies.
- If multiple licenses are listed, it is assumed that the user can select any of them, not that they
- must accept all.
- </xs:documentation>
+ <xs:documentation source="description">Contains information about a project's mailing lists.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="license" minOccurs="0" maxOccurs="unbounded" type="License"/>
+ <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded" type="MailingList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="scm" minOccurs="0" type="Scm">
+ <xs:element minOccurs="0" name="prerequisites" type="Prerequisites">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Specification for the SCM used by the project, such as CVS, Subversion, etc.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Describes the prerequisites in the build environment for this project.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="organization" minOccurs="0" type="Organization">
+ <xs:element minOccurs="0" name="modules">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- This element describes various attributes of the organization to
- which the project belongs. These attributes are utilized when
- documentation is created (for copyright notices and links).
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The modules (sometimes called subprojects) to build as a part of this
+ project. Each module listed is a relative path to the directory containing the module.
+ To be consistent with the way default urls are calculated from parent, it is recommended
+ to have module names match artifact ids.</xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
</xs:element>
- <xs:element name="build" minOccurs="0" type="Build">
+ <xs:element minOccurs="0" name="scm" type="Scm">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">Information required to build the project.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Specification for the SCM used by the project, such as CVS, Subversion, etc.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="issueManagement" type="IssueManagement">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The project's issue management system information.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="ciManagement" type="CiManagement">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The project's continuous integration information.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="distributionManagement" type="DistributionManagement">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Distribution information for a project that enables deployment of the site
+ and artifacts to remote web servers and repositories respectively.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="profiles" minOccurs="0">
+ <xs:element minOccurs="0" name="properties">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- A listing of project-local build profiles which will modify the build process when activated.
+
+ Properties that can be used throughout the POM as a substitution, and
+ are used as filters in resources if enabled.
+ The format is <code>&lt;name&gt;value&lt;/name&gt;</code>.
+
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="profile" minOccurs="0" maxOccurs="unbounded" type="Profile"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="modules" minOccurs="0">
+ <xs:element minOccurs="0" name="dependencyManagement" type="DependencyManagement">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Default dependency information for projects that inherit from this one. The
+ dependencies in this section are not immediately resolved. Instead, when a POM derived
+ from this one declares a dependency described by a matching groupId and artifactId, the
+ version and other values from this section are used for that dependency if they were not
+ already specified.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="dependencies">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- The modules (sometimes called subprojects) to build as a part of this project.
- Each module listed is a relative path to the directory containing the module.
+
+ This element describes all of the dependencies associated with a
+ project.
+ These dependencies are used to construct a classpath for your
+ project during the build process. They are automatically downloaded from the
+ repositories defined in this project.
+ See <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the
+ dependency mechanism</a> for more information.
+
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="repositories" minOccurs="0">
+ <xs:element minOccurs="0" name="repositories">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">The lists of the remote repositories for discovering dependencies and
- extensions.</xs:documentation>
+ extensions.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -253,11 +284,11 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="pluginRepositories" minOccurs="0">
+ <xs:element minOccurs="0" name="pluginRepositories">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The lists of the remote repositories for discovering plugins for builds and reports.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The lists of the remote repositories for discovering plugins for builds and
+ reports.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
@@ -265,698 +296,784 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="dependencies" minOccurs="0">
+ <xs:element minOccurs="0" name="build" type="Build">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">Information required to build the project.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="reports">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- This element describes all of the dependencies associated with a
- project.
- These dependencies are used to construct a classpath for your
- project during the build process. They are automatically downloaded from the
- repositories defined in this project.
- See <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the
- dependency mechanism</a> for more information.
+
+ <b>Deprecated</b>. Now ignored by Maven.
+
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="reports" minOccurs="0">
+ <xs:element minOccurs="0" name="reporting" type="Reporting">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- <b>Deprecated</b>. Now ignored by Maven.
+
+ This element includes the specification of report plugins to use
+ to generate the reports on the Maven-generated site.
+ These reports will be run when a user executes <code>mvn site</code>.
+ All of the reports will be included in the navigation bar for browsing.
+
</xs:documentation>
</xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="profiles">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">A listing of project-local build profiles which will modify the build process
+ when activated.</xs:documentation>
+ </xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+ <xs:element name="profile" minOccurs="0" maxOccurs="unbounded" type="Profile"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="reporting" minOccurs="0" type="Reporting">
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="Parent">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The <code>&lt;parent&gt;</code> element contains information required to locate the parent project from which
+ this project will inherit from.
+ <strong>Note:</strong> The children of this element are not interpolated and must be given as literal values.
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="groupId" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- This element includes the specification of report plugins to use to generate the reports on the
- Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the
- reports will be included in the navigation bar for browsing.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The group id of the parent project to inherit from.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="dependencyManagement" minOccurs="0" type="DependencyManagement">
+ <xs:element minOccurs="0" name="artifactId" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Default dependency information for projects that inherit from
- this one. The dependencies in this section are not immediately resolved.
- Instead, when a POM derived from this one declares a dependency
- described by a matching groupId and artifactId, the version and other values from this
- section are used for that dependency if they were not already specified.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The artifact id of the parent project to inherit from.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="distributionManagement" minOccurs="0" type="DistributionManagement">
+ <xs:element minOccurs="0" name="version" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Distribution information for a project that enables deployment of the site
- and artifacts to remote web servers and repositories respectively.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The version of the parent project to inherit.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="properties" minOccurs="0">
+ <xs:element minOccurs="0" name="relativePath" type="xs:string" default="../pom.xml">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Properties that can be used throughout the POM as a substitution, and are used as filters in resources
- if enabled. The format is <code>&lt;name&gt;value&lt;/name&gt;</code>.
+
+ The relative path of the parent <code>pom.xml</code> file within the check out.
+ If not specified, it defaults to <code>../pom.xml</code>.
+ Maven looks for the parent POM first in this location on
+ the filesystem, then the local repository, and lastly in the remote repo.
+ <code>relativePath</code> allows you to select a different location,
+ for example when your structure is flat, or deeper without an intermediate parent POM.
+ However, the group ID, artifact ID and version are still required,
+ and must match the file in the location given or it will revert to the repository for the POM.
+ This feature is only for enhancing the development in a local checkout of that project.
+ Set the value to an empty string in case you want to disable the feature and always resolve
+ the parent POM from the repositories.
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Contributor">
+ <xs:complexType name="Organization">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- Description of a person who has contributed to the project, but who does
- not have commit privileges. Usually, these contributions come in the
- form of patches submitted.
- </xs:documentation>
+ <xs:documentation source="description">Specifies the organization that produces this project.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="name" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">The full name of the contributor.</xs:documentation>
+ <xs:documentation source="description">The full name of the organization.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="email" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
<xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">The email address of the contributor.</xs:documentation>
+ <xs:documentation source="description">The URL to the organization's home page.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="url" minOccurs="0" type="xs:string">
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="DistributionManagement">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">This elements describes all that pertains to distribution for a project. It is
+ primarily used for deployment of artifacts and the site produced by the build.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="repository" type="DeploymentRepository">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">The URL for the homepage of the contributor.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Information needed to deploy the artifacts generated by the project to a
+ remote repository.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="organization" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="snapshotRepository" type="DeploymentRepository">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">The organization to which the contributor belongs.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ Where to deploy snapshots of artifacts to. If not given, it defaults to the
+ <code>repository</code> element.
+
+ </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="organizationUrl" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="site" type="Site">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">The URL of the organization.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Information needed for deploying the web site of the project.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="roles" minOccurs="0">
+ <xs:element minOccurs="0" name="downloadUrl" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The roles the contributor plays in the project. Each role is
- described by a <code>role</code> element, the body of which is a
- role name. This can also be used to describe the contribution.
+
+ The URL of the project's download page. If not given users will be
+ referred to the homepage given by <code>url</code>.
+ This is given to assist in locating artifacts that are not in the repository due to
+ licensing restrictions.
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="role" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="timezone" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="relocation" type="Relocation">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- The timezone the contributor is in. This is a number in the range -11 to 12.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Relocation information of the artifact if it has been moved to a new group ID
+ and/or artifact ID.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="properties" minOccurs="0">
+ <xs:element minOccurs="0" name="status" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Properties about the contributor, such as an instant messenger handle.
+
+ Gives the status of this artifact in the remote repository.
+ This must not be set in your local project, as it is updated by
+ tools placing it in the reposiory. Valid values are: <code>none</code> (default),
+ <code>converted</code> (repository manager converted this from an Maven 1 POM),
+ <code>partner</code>
+ (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2
+ instance), <code>verified</code> (has been hand verified as correct and final).
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Profile">
+ <xs:complexType name="Relocation">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Modifications to the build process which is activated based on environmental parameters or command line arguments.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Describes where an artifact has moved to. If any of the values are omitted, it is
+ assumed to be the same as it was before.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="id" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="groupId" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The identifier of this build profile. This used both for command line activation, and identifies
- identical profiles to merge with during inheritance.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The group ID the artifact has moved to.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="activation" minOccurs="0" type="Activation">
+ <xs:element minOccurs="0" name="artifactId" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The conditional logic which will automatically
- trigger the inclusion of this profile.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The new artifact ID of the artifact.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="build" minOccurs="0" type="BuildBase">
+ <xs:element minOccurs="0" name="version" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Information required to build the project.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The new version of the artifact.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="message" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">An additional message to show the user about the move, such as the reason.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="modules" minOccurs="0">
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="Site">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Contains the information needed for deploying websites.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The modules (sometimes called subprojects) to build as a part of this project.
- Each module listed is a relative path to the directory containing the module.
+
+ A unique identifier for a deployment location. This is used to match the
+ site to configuration in the <code>settings.xml</code> file, for example.
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="repositories" minOccurs="0">
+ <xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The lists of the remote repositories for discovering dependencies and
- extensions.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Human readable name of the deployment location.</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="Repository"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="pluginRepositories" minOccurs="0">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The lists of the remote repositories for discovering plugins for builds and reports.</xs:documentation>
+
+ The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>.
+ <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+
+ </xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="pluginRepository" minOccurs="0" maxOccurs="unbounded" type="Repository"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="dependencies" minOccurs="0">
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="DeploymentRepository">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Repository contains the information needed for deploying to the remote
+ repository.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="uniqueVersion" type="xs:boolean" default="true">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- This element describes all of the dependencies associated with a
- project.
- These dependencies are used to construct a classpath for your
- project during the build process. They are automatically downloaded from the
- repositories defined in this project.
- See <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the
- dependency mechanism</a> for more information.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Whether to assign snapshots a unique version comprised of the timestamp and
+ build number, or to use the same version each time</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="reports" minOccurs="0">
+ <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- <b>Deprecated</b>. Now ignored by Maven.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">How to handle downloading of releases from this repository.</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="reporting" minOccurs="0" type="Reporting">
+ <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- This element includes the specification of report plugins to use to generate the reports on the
- Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the
- reports will be included in the navigation bar for browsing.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">How to handle downloading of snapshots from this repository.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="dependencyManagement" minOccurs="0" type="DependencyManagement">
+ <xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Default dependency information for projects that inherit from
- this one. The dependencies in this section are not immediately resolved.
- Instead, when a POM derived from this one declares a dependency
- described by a matching groupId and artifactId, the version and other values from this
- section are used for that dependency if they were not already specified.
+
+ A unique identifier for a repository. This is used to match the repository
+ to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is
+ used during POM inheritance and profile injection to detect repositories that should be merged.
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="distributionManagement" minOccurs="0" type="DistributionManagement">
+ <xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Distribution information for a project that enables deployment of the site
- and artifacts to remote web servers and repositories respectively.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Human readable name of the repository.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="properties" minOccurs="0">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Properties that can be used throughout the POM as a substitution, and are used as filters in resources
- if enabled. The format is <code>&lt;name&gt;value&lt;/name&gt;</code>.
+
+ The url of the repository, in the form <code>protocol://hostname/path</code>.
+
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="layout" type="xs:string" default="default">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The type of layout this repository uses for locating and storing artifacts -
+ can be <code>legacy</code> or <code>default</code>.
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Activation">
+ <xs:complexType name="RepositoryPolicy">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The conditions within the build runtime environment which will trigger
- the automatic inclusion of the build profile.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Download policy.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="activeByDefault" minOccurs="0" type="xs:boolean" default="false">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Flag specifying whether this profile is active by default.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="jdk" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="enabled" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Specifies that this profile will be activated when a matching JDK is detected. For example, <code>1.4</code>
- only activates on JDKs versioned 1.4, while <code>!1.4</code> matches any JDK that is not version 1.4.
+
+ Whether to use this repository for downloading this type of artifact. Note: While the type
+ of this field is <code>String</code> for technical reasons, the semantic type is actually
+ <code>Boolean</code>. Default value is <code>true</code>.
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="os" minOccurs="0" type="ActivationOS">
+ <xs:element minOccurs="0" name="updatePolicy" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Specifies that this profile will be activated when matching operating system attributes are detected.
+
+ The frequency for downloading updates - can be
+ <code>always,</code>
+ <code>daily</code>
+ (default),
+ <code>interval:XXX</code>
+ (in minutes) or
+ <code>never</code>
+ (only if it doesn't exist locally).
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="property" minOccurs="0" type="ActivationProperty">
+ <xs:element minOccurs="0" name="checksumPolicy" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Specifies that this profile will be activated when this system property is specified.
+
+ What to do when verification of an artifact checksum fails. Valid values are
+ <code>ignore</code>
+ ,
+ <code>fail</code>
+ or
+ <code>warn</code>
+ (the default).
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="file" minOccurs="0" type="ActivationFile">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Specifies that this profile will be activated based on existence of a file.
- </xs:documentation>
- </xs:annotation>
- </xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="ActivationFile">
+ <xs:complexType name="Prerequisites">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- This is the file specification used to activate the profile. The missing value will be the location
- of a file that needs to exist, and if it doesn't the profile will be activated. On the other hand exists will test
- for the existence of the file and if it is there the profile will be activated.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Describes the prerequisites a project can have.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="missing" minOccurs="0" type="xs:string">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The name of the file that must be missing to activate the profile.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="exists" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="maven" type="xs:string" default="2.0">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The name of the file that must exist to activate the profile.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+ For a plugin project, the minimum version of Maven required to use
+ the resulting plugin.<br />
+ For specifying the minimum version of Maven required to build a
+ project, this element is <b>deprecated</b>. Use the Maven Enforcer
+ Plugin's <a href="https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html"><code>requireMavenVersion</code></a>
+ rule instead.
+
+ </xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="ActivationProperty">
+ <xs:complexType name="Contributor">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- This is the property specification used to activate a profile. If the value field is empty,
- then the existence of the named property will activate the profile, otherwise it does a case-sensitive
- match against the property value as well.
- </xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">Description of a person who has contributed to the project, but who does not have
+ commit privileges. Usually, these contributions come in the form of patches submitted.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="name" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="name" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The name of the property to be used to activate a profile.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The full name of the contributor.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="value" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="email" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The value of the property required to activate a profile.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The email address of the contributor.</xs:documentation>
</xs:annotation>
</xs:element>
- </xs:all>
- </xs:complexType>
- <xs:complexType name="ActivationOS">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- This is an activator which will detect an operating system's attributes in order to activate
- its profile.
- </xs:documentation>
- </xs:annotation>
- <xs:all>
- <xs:element name="name" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The name of the operating system to be used to activate the profile. This must be an exact match
- of the <code>${os.name}</code> Java property, such as <code>Windows XP</code>.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The URL for the homepage of the contributor.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="family" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="organization" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The general family of the OS to be used to activate the profile, such as <code>windows</code> or <code>unix</code>.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The organization to which the contributor belongs.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="arch" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="organizationUrl" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The architecture of the operating system to be used to activate the profile.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">The URL of the organization.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="version" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="roles">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The version of the operating system to be used to activate the profile.</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The roles the contributor plays in the project. Each role is described by a
+ <code>role</code> element, the body of which is a role name. This can also be used to
+ describe the contribution.
+
+ </xs:documentation>
</xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="role" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
</xs:element>
- </xs:all>
- </xs:complexType>
- <xs:complexType name="DependencyManagement">
- <xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Section for management of default dependency information for use in a group of POMs.
- </xs:documentation>
- </xs:annotation>
- <xs:all>
- <xs:element name="dependencies" minOccurs="0">
+ <xs:element minOccurs="0" name="timezone" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
<xs:documentation source="description">
- The dependencies specified here are not used until they
- are referenced in a POM within the group. This allows the
- specification of a "standard" version for a particular
- dependency.
+
+ The timezone the contributor is in. Typically, this is a number in the range
+ <a href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a> to <a href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a>
+ or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00).
+
</xs:documentation>
</xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="properties">
+ <xs:annotation>
+ <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="description">Properties about the contributor, such as an instant messenger handle.</xs:documentation>
+ </xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Dependency">
+ <xs:complexType name="Scm">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The <code>&lt;scm&gt;</code> element contains informations required to the SCM
+ (Source Control Management) of the project.
+
+ </xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="groupId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="connection" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The project group that produced the dependency, e.g.
- <code>org.apache.maven</code>.
+
+ The source control management system URL
+ that describes the repository and how to connect to the
+ repository. For more information, see the
+ <a href="http://maven.apache.org/scm/scm-url-format.html">URL format</a>
+ and <a href="http://maven.apache.org/scm/scms-overview.html">list of supported SCMs</a>.
+ This connection is read-only.
+ <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="artifactId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="developerConnection" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The unique id for an artifact produced by the project group, e.g.
- <code>maven-artifact</code>.
+
+ Just like <code>connection</code>, but for developers, i.e. this scm connection
+ will not be read only.
+ <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="version" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="tag" type="xs:string" default="HEAD">
<xs:annotation>
- <xs:documentation source="version">3.0.0+</xs:documentation>
- <xs:documentation source="description">
- The version of the dependency, e.g. <code>3.2.1</code>. In Maven 2, this can also be
- specified as a range of versions.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The tag of current code. By default, it's set to HEAD during development.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="type" minOccurs="0" type="xs:string" default="jar">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- The type of dependency. This defaults to <code>jar</code>. While it usually represents the extension on
- the filename of the dependency, that is not always the case. A type can be mapped to a different
- extension and a classifier.
- The type often correspongs to the packaging used, though this is also not always the case.
- Some examples are <code>jar</code>, <code>war</code>, <code>ejb-client</code> and <code>test-jar</code>.
- New types can be defined by plugins that set
- <code>extensions</code> to <code>true</code>, so this is not a complete list.
+
+ The URL to the project's browsable SCM repository, such as ViewVC or Fisheye.
+ <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="classifier" minOccurs="0" type="xs:string">
+ </xs:all>
+ </xs:complexType>
+ <xs:complexType name="Repository">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">A repository contains the information needed for establishing connections with
+ remote repository.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but
- were built differently, and is appended to the filename after the version. For example,
- <code>jdk14</code> and <code>jdk15</code>.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">How to handle downloading of releases from this repository.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="scope" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- The scope of the dependency - <code>compile</code>, <code>runtime</code>, <code>test</code>,
- <code>system</code>, and <code>provided</code>. Used to
- calculate the various classpaths used for compilation, testing, and so on. It also assists in determining
- which artifacts to include in a distribution of this project. For more information, see
- <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the
- dependency mechanism</a>.
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">How to handle downloading of snapshots from this repository.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="systemPath" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- FOR SYSTEM SCOPE ONLY. Note that use of this property is <b>discouraged</b> and may be replaced in later
- versions. This specifies the path on the filesystem for this dependency.
- Requires an absolute path for the value, not relative.
- Use a property that gives the machine specific absolute path,
- e.g. <code>${java.home}</code>.
+
+ A unique identifier for a repository. This is used to match the repository
+ to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is
+ used during POM inheritance and profile injection to detect repositories that should be merged.
+
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="exclusions" minOccurs="0">
+ <xs:element minOccurs="0" name="name" type="xs:string">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Human readable name of the repository.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to
- calculating transitive dependencies.
+
+ The url of the repository, in the form <code>protocol://hostname/path</code>.
+
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="exclusion" minOccurs="0" maxOccurs="unbounded" type="Exclusion"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="optional" minOccurs="0" type="xs:boolean" default="false">
+ <xs:element minOccurs="0" name="layout" type="xs:string" default="default">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
<xs:documentation source="description">
- Indicates the dependency is optional for use of this library. While the version of the dependency will be
- taken into account for dependency calculation if the library is used elsewhere, it will not be passed on
- transitively.
+
+ The type of layout this repository uses for locating and storing artifacts -
+ can be <code>legacy</code> or <code>default</code>.
+
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Exclusion">
+ <xs:complexType name="IssueManagement">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Information about the issue tracking (or bug tracking) system used to manage this
+ project.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="artifactId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="system" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The artifact ID of the project to exclude.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The name of the issue management system, e.g. Bugzilla</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="groupId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The group ID of the project to exclude.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">URL for the issue management system used by the project.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="Reporting">
+ <xs:complexType name="CiManagement">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Section for management of reports and their configuration.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The <code>&lt;CiManagement&gt;</code> element contains informations required to the
+ continuous integration system of the project.
+
+ </xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="excludeDefaults" minOccurs="0" type="xs:boolean" default="false">
+ <xs:element minOccurs="0" name="system" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">If true, then the default reports are not included in the site generation. This includes the
- reports in the "Project Info" menu.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ The name of the continuous integration system, e.g. <code>continuum</code>.
+
+ </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="outputDirectory" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="url" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">
- Where to store all of the generated reports. The default is
- <code>${project.build.directory}/site</code>
- .
- </xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">URL for the continuous integration system used by the project if it has a web
+ interface.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="plugins" minOccurs="0">
+ <xs:element minOccurs="0" name="notifiers">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The reporting plugins to use and their configuration.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Configuration for notifying developers/users when a build is unsuccessful,
+ including user information and notification mode.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" type="ReportPlugin"/>
+ <xs:element name="notifier" minOccurs="0" maxOccurs="unbounded" type="Notifier"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="ReportPlugin">
+ <xs:complexType name="Notifier">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Configures one method for notifying users/developers when a build breaks.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="groupId" minOccurs="0" type="xs:string" default="org.apache.maven.plugins">
+ <xs:element minOccurs="0" name="type" type="xs:string" default="mail">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The group ID of the reporting plugin in the repository.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The mechanism used to deliver notifications.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="artifactId" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="sendOnError" type="xs:boolean" default="true">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The artifact ID of the reporting plugin in the repository.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Whether to send notifications on error.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="version" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="sendOnFailure" type="xs:boolean" default="true">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The version of the reporting plugin to be used.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Whether to send notifications on failure.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="inherited" minOccurs="0" type="xs:string">
+ <xs:element minOccurs="0" name="sendOnSuccess" type="xs:boolean" default="true">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Whether the configuration in this plugin should be made available to projects that
- inherit from this one.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Whether to send notifications on success.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="configuration" minOccurs="0">
+ <xs:element minOccurs="0" name="sendOnWarning" type="xs:boolean" default="true">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">The configuration of the reporting plugin.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Whether to send notifications on warning.</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- <xs:element name="reportSets" minOccurs="0">
+ <xs:element minOccurs="0" name="address" type="xs:string">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Multiple specifications of a set of reports, each having (possibly) different
- configuration. This is the reporting parallel to an <code>execution</code> in the build.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">
+
+ <b>Deprecated</b>. Where to send the notification to - eg email address.
+
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="configuration">
+ <xs:annotation>
+ <xs:documentation source="version">0.0.0+</xs:documentation>
+ <xs:documentation source="description">Extended configuration specific to this notifier goes here.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="reportSet" minOccurs="0" maxOccurs="unbounded" type="ReportSet"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
- <xs:complexType name="ReportSet">
+ <xs:complexType name="Profile">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Represents a set of reports and configuration to be used to generate them.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Modifications to the build process which is activated based on environmental
+ parameters or command line arguments.</xs:documentation>
</xs:annotation>
<xs:all>
- <xs:element name="id" minOccurs="0" type="xs:string" default="default">
+ <xs:element minOccurs="0" name="id" type="xs:string" default="default">
<xs:annotation>
- <xs:documentation source="version">0.0.0+</xs:documentation>
- <xs:documentation source="description">The unique id for this report set, to be used during POM inheritance.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The identifier of this build profile. This is used for command line
+ activation, and identifies profiles to be merged.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="activation" type="Activation">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The conditional logic which will automatically trigger the inclusion of this
+ profile.</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="configuration" minOccurs="0">
+ <xs:element minOccurs="0" name="build" type="BuildBase">
<xs:annotation>
- <xs:documentation source="version">4.0.0</xs:documentation>
- <xs:documentation source="description">Configuration of the report to be used when generating this set.</xs:documentation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">Information required to build the project.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" name="modules">
+ <xs:annotation>
+ <xs:documentation source="version">4.0.0+</xs:documentation>
+ <xs:documentation source="description">The modules (sometimes called subprojects) to build as a part of this
+ project. Each module listed is a relative path to the directory containing the module.
+ To be consistent with the way default urls are calculated from parent, it is recommended
+ to have module names match artifact ids.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
[... 2095 lines stripped ...]