This is an automated email from the ASF dual-hosted git repository. matthiasblaesing pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git
commit c62f3677ecf8d53970b973ad736d3b6c44274288 Author: Ludovic HOCHET <lhoc...@gmail.com> AuthorDate: Sat Nov 18 21:07:14 2017 +0100 [NETBEANS-47] readded not donated maven-4.0.0.xsd from https://maven.apache.org/xsd/maven-4.0.0.xsd --- .../netbeans/modules/maven/grammar/maven-4.0.0.xsd | 2504 ++++++++++++++++++++ 1 file changed, 2504 insertions(+) diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/maven-4.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/maven-4.0.0.xsd new file mode 100644 index 0000000..b7dcabd --- /dev/null +++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/maven-4.0.0.xsd @@ -0,0 +1,2504 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<!-- =================== 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. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="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. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="modelVersion" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="parent" type="Parent"> + <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:annotation> + </xs:element> + <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>). + + </xs:documentation> + </xs:annotation> + </xs:element> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" 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: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> + <code>pom</code>. + 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 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 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:annotation> + </xs:element> + <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. + <br /><b>Default value is</b>: parent value [+ path adjustment] + artifactId + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="inceptionYear" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="organization" type="Organization"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="licenses"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="license" minOccurs="0" maxOccurs="unbounded" type="License"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="developer" minOccurs="0" maxOccurs="unbounded" type="Developer"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded" type="Contributor"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="mailingLists"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</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="mailingList" minOccurs="0" maxOccurs="unbounded" type="MailingList"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="prerequisites" 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.</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> + <xs:element minOccurs="0" name="scm" type="Scm"> + <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: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 minOccurs="0" name="properties"> + <xs:annotation> + <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>. + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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">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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="repositories"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="Repository"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="pluginRepository" minOccurs="0" maxOccurs="unbounded" type="Repository"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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"> + + <b>Deprecated</b>. Now ignored by Maven. + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="reporting" type="Reporting"> + <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: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:element name="profile" minOccurs="0" maxOccurs="unbounded" type="Profile"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </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">The group id of the parent project to inherit from.</xs:documentation> + </xs:annotation> + </xs:element> + <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 artifact id of the parent project to inherit from.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="relativePath" type="xs:string" default="../pom.xml"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Organization"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Specifies the organization that produces this project.</xs:documentation> + </xs:annotation> + <xs:all> + <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 organization.</xs:documentation> + </xs:annotation> + </xs:element> + <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 organization's home page.</xs:documentation> + </xs:annotation> + </xs:element> + </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">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 minOccurs="0" name="snapshotRepository" type="DeploymentRepository"> + <xs:annotation> + <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 minOccurs="0" name="site" type="Site"> + <xs:annotation> + <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 minOccurs="0" name="downloadUrl" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:element> + <xs:element minOccurs="0" name="relocation" type="Relocation"> + <xs:annotation> + <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 minOccurs="0" name="status" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Relocation"> + <xs:annotation> + <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 minOccurs="0" name="groupId" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="artifactId" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <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: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="description"> + + 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:element> + <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 deployment location.</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="description"> + + 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:element> + </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">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:element> + <xs:element minOccurs="0" name="releases" type="RepositoryPolicy"> + <xs:annotation> + <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 minOccurs="0" name="snapshots" type="RepositoryPolicy"> + <xs:annotation> + <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 minOccurs="0" name="id" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 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="description"> + + 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:element> + </xs:all> + </xs:complexType> + <xs:complexType name="RepositoryPolicy"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Download policy.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="enabled" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 minOccurs="0" name="updatePolicy" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 minOccurs="0" name="checksumPolicy" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:all> + </xs:complexType> + <xs:complexType name="Prerequisites"> + <xs:annotation> + <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 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"> + 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="Contributor"> + <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:annotation> + <xs:all> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="email" 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:annotation> + </xs:element> + <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 for the homepage of the contributor.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="organization" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="organizationUrl" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="roles"> + <xs:annotation> + <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:element minOccurs="0" name="timezone" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Scm"> + <xs:annotation> + <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 minOccurs="0" name="connection" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 minOccurs="0" name="developerConnection" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 minOccurs="0" name="tag" type="xs:string" default="HEAD"> + <xs:annotation> + <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 minOccurs="0" name="url" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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: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">How to handle downloading of releases from this repository.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy"> + <xs:annotation> + <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 minOccurs="0" name="id" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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 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="description"> + + 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:element> + </xs:all> + </xs:complexType> + <xs:complexType name="IssueManagement"> + <xs:annotation> + <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 minOccurs="0" name="system" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="url" type="xs:string"> + <xs:annotation> + <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="CiManagement"> + <xs:annotation> + <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 minOccurs="0" name="system" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="url" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="notifiers"> + <xs:annotation> + <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="notifier" minOccurs="0" maxOccurs="unbounded" type="Notifier"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Notifier"> + <xs:annotation> + <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 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 mechanism used to deliver notifications.</xs:documentation> + </xs:annotation> + </xs:element> + <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">Whether to send notifications on error.</xs:documentation> + </xs:annotation> + </xs:element> + <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">Whether to send notifications on failure.</xs:documentation> + </xs:annotation> + </xs:element> + <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 to send notifications on success.</xs:documentation> + </xs:annotation> + </xs:element> + <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">Whether to send notifications on warning.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="address" type="xs:string"> + <xs:annotation> + <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:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Profile"> + <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:annotation> + <xs:all> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <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 minOccurs="0" name="build" type="BuildBase"> + <xs:annotation> + <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> + <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 minOccurs="0" name="properties"> + <xs:annotation> + <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>. + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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">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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" type="Dependency"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="repositories"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="Repository"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="pluginRepository" minOccurs="0" maxOccurs="unbounded" type="Repository"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="reports"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="reporting" type="Reporting"> + <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:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="BuildBase"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Generic informations for a build.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="defaultGoal" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">The default goal (or phase in Maven 2) to execute when none is specified for + the project. Note that in case of a multi-module build, only the default goal of the top-level + project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, + multiple goals/phases can be separated by whitespace.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="resources"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + This element describes all of the classpath resources such as properties + files associated with a project. These resources are often included in the final + package. + The default value is <code>src/main/resources</code>. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="resource" minOccurs="0" maxOccurs="unbounded" type="Resource"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="testResources"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + This element describes all of the classpath resources such as properties + files associated with a project's unit tests. + The default value is <code>src/test/resources</code>. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="testResource" minOccurs="0" maxOccurs="unbounded" type="Resource"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="directory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + The directory where all files generated by the build are placed. + The default value is <code>target</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="finalName" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The filename (excluding the extension, and with no path information) that + the produced artifact will be called. + The default value is <code>${artifactId}-${version}</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="filters"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The list of filter properties files that are used when filtering is enabled.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="filter" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="pluginManagement" type="PluginManagement"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Default plugin information to be made available for reference by projects + derived from this one. This plugin configuration will not be resolved or bound to the + lifecycle unless referenced. Any local configuration for a given plugin will override + the plugin's entire definition here.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="plugins"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The list of plugins to use.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" type="Plugin"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Plugin"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;plugin&gt;</code> element contains informations required for a plugin. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="groupId" type="xs:string" default="org.apache.maven.plugins"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The group ID of the plugin in the repository.</xs:documentation> + </xs:annotation> + </xs:element> + <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 artifact ID of the plugin in the repository.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The version (or valid range of versions) of the plugin to be used.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="extensions" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether to load Maven extensions (such as packaging and type handlers) from + this plugin. For performance reasons, this should only be enabled when necessary. 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>false</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="executions"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Multiple specifications of a set of goals to execute during the build + lifecycle, each having (possibly) a different configuration.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="execution" minOccurs="0" maxOccurs="unbounded" type="PluginExecution"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="dependencies"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Additional dependencies that this project needs to introduce to the plugin's + classloader.</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 minOccurs="0" name="goals"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + <b>Deprecated</b>. Unused by Maven. + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="inherited" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether any configuration should be propagated to child POMs. 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 minOccurs="0" name="configuration"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + + <p>The configuration as DOM object.</p> + <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + or <code>combine.self</code> attributes to the children of the configuration element:</p> + <ul> + <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + </ul> + <p>See <a href="http://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + <a href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + for more information.</p> + + </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="Dependency"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;dependency&gt;</code> element contains information about a dependency + of the project. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="groupId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + The project group that produced the dependency, e.g. + <code>org.apache.maven</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <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 unique id for an artifact produced by the project group, e.g. + <code>maven-artifact</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="type" type="xs:string" default="jar"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The type of dependency. 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 corresponds 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>: see <a href="../maven-core/artifact-handlers.html">default + artifact handlers</a> for a list. + New types can be defined by plugins that set + <code>extensions</code> to <code>true</code>, so this is not a complete list. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="classifier" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The classifier of the dependency. It is appended to + the filename after the version. This allows: + <ul> + <li>refering to attached artifact, for example <code>sources</code> and <code>javadoc</code>: + see <a href="../maven-core/artifact-handlers.html">default artifact handlers</a> for a list,</li> + <li>distinguishing two artifacts + that belong to the same POM but were built differently. + For example, <code>jdk14</code> and <code>jdk15</code>.</li> + </ul> + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="scope" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="systemPath" type="xs:string"> + <xs:annotation> + <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>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="exclusions"> + <xs:annotation> + <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.</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 minOccurs="0" name="optional" type="xs:string"> + <xs:annotation> + <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. 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>false</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Exclusion"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;exclusion&gt;</code> element contains informations required to exclude + an artifact to the project. + + </xs:documentation> + </xs:annotation> + <xs:all> + <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 artifact ID of the project to exclude.</xs:documentation> + </xs:annotation> + </xs:element> + <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 group ID of the project to exclude.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="PluginExecution"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;execution&gt;</code> element contains informations required for the + execution of a plugin. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The identifier of this execution for labelling the goals during the build, + and for matching executions to merge during inheritance and profile injection.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="phase" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The build lifecycle phase to bind the goals in this execution to. If omitted, + the goals will be bound to the default phase specified by the plugin. </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="goals"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The goals to execute with the given configuration.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="goal" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="inherited" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether any configuration should be propagated to child POMs. 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 minOccurs="0" name="configuration"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + + <p>The configuration as DOM object.</p> + <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + or <code>combine.self</code> attributes to the children of the configuration element:</p> + <ul> + <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + </ul> + <p>See <a href="http://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + <a href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + for more information.</p> + + </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="Resource"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">This element describes all of the classpath resources associated with a project + or unit tests.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="targetPath" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + Describe the resource target path. The path is relative to the target/classes + directory (i.e. <code>${project.build.outputDirectory}</code>). + For example, if you want that resource to appear in a specific package + (<code>org.apache.maven.messages</code>), you must specify this + element with this value: <code>org/apache/maven/messages</code>. + This is not required if you simply put the resources in that directory + structure at the source, however. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="filtering" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether resources are filtered to replace tokens with parameterised values or not. + The values are taken from the <code>properties</code> element and from the + properties in the files listed in the <code>filters</code> element. 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>false</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="directory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Describe the directory where the resources are stored. The path is relative + to the POM.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="includes"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + A list of patterns to include, e.g. <code>**&#47;*.xml</code>. + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="excludes"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + A list of patterns to exclude, e.g. <code>**&#47;*.xml</code> + + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="PluginManagement"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Section for management of default plugin information for use in a group of POMs. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="plugins"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The list of plugins to use.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" type="Plugin"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Reporting"> + <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:annotation> + <xs:all> + <xs:element minOccurs="0" name="excludeDefaults" 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. 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>false</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="outputDirectory" 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:annotation> + </xs:element> + <xs:element minOccurs="0" name="plugins"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" type="ReportPlugin"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="ReportPlugin"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;plugin&gt;</code> element contains informations required for a report plugin. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="groupId" type="xs:string" default="org.apache.maven.plugins"> + <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:annotation> + </xs:element> + <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 artifact ID of the reporting plugin in the repository.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="reportSets"> + <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:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="reportSet" minOccurs="0" maxOccurs="unbounded" type="ReportSet"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="inherited" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether any configuration should be propagated to child POMs. 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 minOccurs="0" name="configuration"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + + <p>The configuration as DOM object.</p> + <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + or <code>combine.self</code> attributes to the children of the configuration element:</p> + <ul> + <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + </ul> + <p>See <a href="http://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + <a href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + for more information.</p> + + </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="ReportSet"> + <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:annotation> + <xs:all> + <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 and profile injection + for merging of report sets. + </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">The list of reports from this plugin which should be generated from this set.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="report" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="inherited" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + Whether any configuration should be propagated to child POMs. 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 minOccurs="0" name="configuration"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + + <p>The configuration as DOM object.</p> + <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + or <code>combine.self</code> attributes to the children of the configuration element:</p> + <ul> + <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + </ul> + <p>See <a href="http://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + <a href="http://plexus.codehaus.org/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + for more information.</p> + + </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: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. Multiple conditions can be defined, which must + be all satisfied to activate the profile. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">If set to true, this profile will be active unless another profile in this + pom is activated using the command line -P option or by one of that profile's + activators.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="jdk" type="xs:string"> + <xs:annotation> + <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. Ranges are supported too: + <code>[1.5,)</code> activates when the JDK is 1.5 minimum. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="os" type="ActivationOS"> + <xs:annotation> + <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.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="property" type="ActivationProperty"> + <xs:annotation> + <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.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="file" 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="ActivationProperty"> + <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:annotation> + <xs:all> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="value" 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: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 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 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:annotation> + </xs:element> + <xs:element minOccurs="0" name="family" 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:annotation> + </xs:element> + <xs:element minOccurs="0" name="arch" 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:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <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:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="ActivationFile"> + <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 <code>missing</code> value + is the location of a file that needs to exist, and if it doesn't, the profile will be + activated. On the other hand, <code>exists</code> will test for the existence of the file and if it is + there, the profile will be activated.<br/> + Variable interpolation for these file specifications is limited to <code>${basedir}</code>, + System properties and request properties.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="missing" 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 minOccurs="0" name="exists" 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 exist to activate the profile.</xs:documentation> + </xs:annotation> + </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 minOccurs="0" name="dependencies"> + <xs:annotation> + <xs:documentation source="version">4.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.</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:all> + </xs:complexType> + <xs:complexType name="Build"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + The <code>&lt;build&gt;</code> element contains informations required to build the project. + Default values are defined in Super POM. + + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="sourceDirectory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + This element specifies a directory containing the source of the project. The + generated build system will compile the sources from this directory when the project is + built. The path given is relative to the project descriptor. + The default value is <code>src/main/java</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="scriptSourceDirectory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + This element specifies a directory containing the script sources of the + project. This directory is meant to be different from the sourceDirectory, in that its + contents will be copied to the output directory in most cases (since scripts are + interpreted rather than compiled). + The default value is <code>src/main/scripts</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="testSourceDirectory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + 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 path given is relative to the project descriptor. + The default value is <code>src/test/java</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="outputDirectory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + The directory where compiled application classes are placed. + The default value is <code>target/classes</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="testOutputDirectory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + The directory where compiled test classes are placed. + The default value is <code>target/test-classes</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="extensions"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">A set of build extensions to use from this project.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="extension" minOccurs="0" maxOccurs="unbounded" type="Extension"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="defaultGoal" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">The default goal (or phase in Maven 2) to execute when none is specified for + the project. Note that in case of a multi-module build, only the default goal of the top-level + project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, + multiple goals/phases can be separated by whitespace.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="resources"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + This element describes all of the classpath resources such as properties + files associated with a project. These resources are often included in the final + package. + The default value is <code>src/main/resources</code>. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="resource" minOccurs="0" maxOccurs="unbounded" type="Resource"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="testResources"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + This element describes all of the classpath resources such as properties + files associated with a project's unit tests. + The default value is <code>src/test/resources</code>. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="testResource" minOccurs="0" maxOccurs="unbounded" type="Resource"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="directory" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + The directory where all files generated by the build are placed. + The default value is <code>target</code>. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="finalName" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description"> + + The filename (excluding the extension, and with no path information) that + the produced artifact will be called. + The default value is <code>${artifactId}-${version}</code>. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="filters"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The list of filter properties files that are used when filtering is enabled.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="filter" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="pluginManagement" type="PluginManagement"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Default plugin information to be made available for reference by projects + derived from this one. This plugin configuration will not be resolved or bound to the + lifecycle unless referenced. Any local configuration for a given plugin will override + the plugin's entire definition here.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="plugins"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The list of plugins to use.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" type="Plugin"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Extension"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">Describes a build extension to utilise.</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">The group ID of the extension's artifact.</xs:documentation> + </xs:annotation> + </xs:element> + <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 artifact ID of the extension.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">4.0.0+</xs:documentation> + <xs:documentation source="description">The version of the extension.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="License"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Describes the licenses for this project. This is used to generate the license + page of the project's web site, as well as being taken into consideration in other reporting + and validation. The licenses listed for the project are that of the project itself, and not + of dependencies.</xs:documentation> + </xs:annotation> + <xs:all> + <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 legal name of the license.</xs:documentation> + </xs:annotation> + </xs:element> + <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 official url for the license text.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="distribution" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + The primary method by which this project may be distributed. + <dl> + <dt>repo</dt> + <dd>may be downloaded from the Maven repository</dd> + <dt>manual</dt> + <dd>user must manually download and install the dependency.</dd> + </dl> + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="comments" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Addendum information pertaining to this license.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="MailingList"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">This element describes all of the mailing lists associated with a project. The + auto-generated site references this information.</xs:documentation> + </xs:annotation> + <xs:all> + <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 name of the mailing list. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="subscribe" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + The email address or link that can be used to subscribe to + the mailing list. If this is an email address, a + <code>mailto:</code> link will automatically be created + when the documentation is created. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="unsubscribe" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="post" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="archive" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">The link to a URL where you can browse the mailing list archive.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="otherArchives"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">The link to alternate URLs where you can browse the list archive.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="otherArchive" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Developer"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">Information about one of the committers on this project.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="id" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description">The unique ID of the developer in the SCM.</xs:documentation> + </xs:annotation> + </xs:element> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="email" 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:annotation> + </xs:element> + <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 for the homepage of the contributor.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="organization" type="xs:string"> + <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:annotation> + </xs:element> + <xs:element minOccurs="0" name="organizationUrl" type="xs:string"> + <xs:annotation> + <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 minOccurs="0" name="roles"> + <xs:annotation> + <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:element minOccurs="0" name="timezone" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">3.0.0+</xs:documentation> + <xs:documentation source="description"> + + 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:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> +</xs:schema> \ No newline at end of file -- To stop receiving notification emails like this one, please contact "comm...@netbeans.apache.org" <comm...@netbeans.apache.org>.