<?xml version="1.0"?>
<!-- =================== DO NOT EDIT THIS FILE ====================         -->
<!-- Generated by Modello 1.4.1 on 2012-11-07 17:33:59,                     -->
<!-- any modifications will be overwritten.                                 -->
<!-- ==============================================================         -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/PLUGIN-METADATA/1.0.0" targetNamespace="http://maven.apache.org/PLUGIN-METADATA/1.0.0">
  <xs:element name="pluginMetadata" type="PluginMetadata">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">Root element of a script-based mojo&apos;s plugin metadata bindings.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="PluginMetadata">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">Root element of a script-based mojo&apos;s plugin metadata bindings.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="mojos">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The list of mojos contained in the accompanying script.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="mojo" minOccurs="0" maxOccurs="unbounded" type="Mojo"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Mojo">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">Mojo descriptor definition.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="goal" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The name of the goal used to invoke this mojo.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="phase" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The phase to which this mojo should be bound by default.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="aggregator" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this mojo operates as an aggregator when the reactor is run. That is, only runs once.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="requiresDependencyResolution" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The scope of dependencies that this mojo requires to have resolved.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="requiresProject" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this mojo requires a project instance in order to execute.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="requiresReports" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this mojo requires a reports section in the POM.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="requiresOnline" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this mojo requires online mode to operate normally.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="inheritByDefault" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this mojo&apos;s configuration should propagate down the POM inheritance chain by default.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="requiresDirectInvocation" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">If true, this mojo can only be directly invoked (eg. specified directly on the command line).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="execution" type="LifecycleExecution">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Information about a sub-execution of the Maven lifecycle which should be processed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="components">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">List of plexus components required by this mojo.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="component" minOccurs="0" maxOccurs="unbounded" type="Component"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="parameters">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">List of parameters used by this mojo.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="Parameter"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="description" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The description for this parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="deprecated" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">A deprecation message for this mojo parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="since" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Version when the mojo was added to the API.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="call" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The target/method within the script to call when this mojo executes.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Parameter">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A parameter used by a mojo, and configurable from the command line or POM configuration sections.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="name" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The parameter name</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="alias" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">An alternate name for the parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="property" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The JavaBeans property name to use to configure the mojo with this parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="required" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Whether this parameter is required.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="readonly" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Whether this parameter can be directly edited. If false, this param is either derived from another POM element, or refers to a runtime instance of the build system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="expression" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The command-line reference to this parameter.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="defaultValue" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            An expression in the form ${instance.property} for extracting a value for this parameter, especially from
            a runtime instance within the build system. (eg. ${project.build.directory} references
            project.getBuild().getDirectory())
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="type" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The java type for this parameter.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="description" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The description for this parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="deprecated" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">A deprecation message for this mojo parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="since" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Version when the parameter was added.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Component">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A reference to a plexus component, assumed to be available to the plugin container.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="role" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The component role to lookup.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="hint" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The role-hint to lookup.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="LifecycleExecution">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A sub-process execution of a lifecycle to satisfy the needs of a mojo.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="lifecycle" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The name of the overlay to apply to the sub-lifecycle before executing it. If specified, this
            lifecycle overlay definition will be bundled with the plugin.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="phase" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">The phase in the sub-lifecycle.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="goal" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">A goal, not attached to a lifecycle phase, which should be executed ahead of this mojo.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:schema>