You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ma...@apache.org on 2017/11/19 21:51:11 UTC

[incubator-netbeans] 02/03: [NETBEANS-159] Readd maven.grammar\src\org\netbeans\modules\maven\grammar Maven XSDs

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 13f31b8b7d64883e56582a74184c81bbd3d640f8
Author: Ludovic HOCHET <lh...@gmail.com>
AuthorDate: Sat Nov 18 22:33:00 2017 +0100

    [NETBEANS-159] Readd maven.grammar\src\org\netbeans\modules\maven\grammar Maven XSDs
---
 .../modules/maven/grammar/archetype-1.0.0.xsd      |  151 +++
 .../maven/grammar/archetype-catalog-1.0.0.xsd      |   89 ++
 .../maven/grammar/archetype-descriptor-1.0.0.xsd   |  209 +++
 .../modules/maven/grammar/assembly-1.0.0.xsd       |  830 ++++++++++++
 .../modules/maven/grammar/assembly-1.1.0.xsd       | 1323 +++++++++++++++++++
 .../modules/maven/grammar/assembly-1.1.1.xsd       | 1337 ++++++++++++++++++++
 .../modules/maven/grammar/settings-1.0.0.xsd       |  735 +++++++++++
 .../modules/maven/grammar/settings-1.1.0.xsd       |  754 +++++++++++
 8 files changed, 5428 insertions(+)

diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-1.0.0.xsd
new file mode 100644
index 0000000..f032bd6
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-1.0.0.xsd
@@ -0,0 +1,151 @@
+<?xml version="1.0"?>
+<!--
+
+    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.4.1 on 2011-11-23 07:29:32,                     -->
+<!-- any modifications will be overwritten.                                 -->
+<!-- ==============================================================         -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" targetNamespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0">
+  <xs:element name="archetype" type="ArchetypeModel">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Describes the assembly layout and packaging.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="ArchetypeModel">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Describes the assembly layout and packaging.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">The value should be the same as the artifactId in the archetype &lt;code&gt;pom.xml&lt;/code&gt;.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="allowPartial" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Setting this option to &lt;code&gt;true&lt;/code&gt; makes it possible to run the
+            &lt;code&gt;archetype:create&lt;/code&gt; even on existing projects.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="sources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Files that will go into &lt;code&gt;src/main/java&lt;/code&gt;.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="source" minOccurs="0" maxOccurs="unbounded" type="Source"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="resources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Files that will go into &lt;code&gt;src/main/resources&lt;/code&gt;.</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="testSources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Files that will go into &lt;code&gt;src/test/java&lt;/code&gt;.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="source" minOccurs="0" maxOccurs="unbounded" type="Source"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="testResources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Files that will go into &lt;code&gt;src/test/resources&lt;/code&gt;.</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="siteResources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Files that will go into &lt;code&gt;src/site&lt;/code&gt;.</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:all>
+  </xs:complexType>
+  <xs:complexType name="Resource">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Describes a resource file.</xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation source="version">1.0.0</xs:documentation>
+            <xs:documentation source="description">The encoding to be used when reading/writing this file.
+            Platform encoding is used by default, or ISO-8859-1 when filename ends in &lt;code&gt;.properties&lt;/code&gt;</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="filtered" type="xs:boolean" default="true">
+          <xs:annotation>
+            <xs:documentation source="version">1.0.0</xs:documentation>
+            <xs:documentation source="description">A resource can be filtered, which means the file will be used as Velocity template.
+          It can be non-filtered, which means the file will be copied without modification.</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="Source">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Describes a source file. Note that source files are always filtered, unlike resources that
+        can be non-filtered.</xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="encoding" type="xs:string">
+          <xs:annotation>
+            <xs:documentation source="version">1.0.0</xs:documentation>
+            <xs:documentation source="description">The encoding to be used when reading/writing this file.
+            Platform encoding is used by default, or ISO-8859-1 when filename ends in &lt;code&gt;.properties&lt;/code&gt;</xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-catalog-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-catalog-1.0.0.xsd
new file mode 100644
index 0000000..5aa99b8
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-catalog-1.0.0.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!--
+
+    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.4 on 2010-10-28 03:21:56,                       -->
+<!-- any modifications will be overwritten.                                 -->
+<!-- ==============================================================         -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0" targetNamespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0">
+  <xs:element name="archetype-catalog" type="ArchetypeCatalog">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="ArchetypeCatalog">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="archetypes">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">List of Acthetypes available in this catalog.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="archetype" minOccurs="0" maxOccurs="unbounded" type="Archetype"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Archetype">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+      <xs:documentation source="description">Informations to point to an Archetype referenced in the catalog.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="groupId" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The groupId of the archetype.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="artifactId" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The artifactId of the archetype.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The version of the archetype. &lt;code&gt;RELEASE&lt;/code&gt; is a valid version.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="repository" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The repository where to find the archetype.
+           When omitted, the archetype is searched for in the repository where the catalog comes from.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="description" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The description of the archetype.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-descriptor-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-descriptor-1.0.0.xsd
new file mode 100644
index 0000000..765630e
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/archetype-descriptor-1.0.0.xsd
@@ -0,0 +1,209 @@
+<?xml version="1.0"?>
+<!--
+
+    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.4 on 2010-10-28 03:21:56,                       -->
+<!-- any modifications will be overwritten.                                 -->
+<!-- ==============================================================         -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" targetNamespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0">
+  <xs:element name="archetype-descriptor" type="ArchetypeDescriptor">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="ArchetypeDescriptor">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="requiredProperties">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">List of required properties to generate a project from this archetype.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="requiredProperty" minOccurs="0" maxOccurs="unbounded" type="RequiredProperty"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">File sets definition.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="modules">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Modules definition.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="ModuleDescriptor"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+    <xs:attribute name="name" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Name of the Archetype, that will be displayed to the user when choosing an archetype.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="partial" type="xs:boolean" default="false">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Is this archetype representing a full Maven project or only parts?</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="FileSet">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+      <xs:documentation source="description">A fileset defines the way the project&apos;s files located in the jar file are used by the Archetype Plugin to generate a project.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="directory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">The directory where the files will be searched for, which is also the directory where the
+           project&apos;s files will be generated.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Inclusion definition &quot;à la&quot; Ant.</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">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Exclusion definition &quot;à la&quot; Ant.</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:attribute name="filtered" type="xs:boolean" default="false">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Filesets can be filtered, which means the selected files will be used as Velocity templates.
+          They can be non-filtered, which means the selected files will be copied without modification.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="packaged" type="xs:boolean" default="false">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Filesets can be packaged, which means the selected files will be generated/copied in a directory
+           structure that is prepended by the package property. They can be non-packaged, which means that the selected
+           files will be generated/copied without that prepend.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="encoding" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Encoding to use when filtering content.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="RequiredProperty">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+      <xs:documentation source="description">Definition of a property required when generating a project from this archetype.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="defaultValue" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Default value of the property.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+    <xs:attribute name="key" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">Key value of the property.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="ModuleDescriptor">
+    <xs:annotation>
+      <xs:documentation source="version">0.0.0+</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">File sets definition.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="modules">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Modules definition.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="ModuleDescriptor"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+    <xs:attribute name="id" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">The module&apos;s artifactId.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="dir" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">The module&apos;s directory.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="name" type="xs:string">
+      <xs:annotation>
+        <xs:documentation source="version">0.0.0+</xs:documentation>
+        <xs:documentation source="description">The module&apos;s name.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.0.0.xsd
new file mode 100644
index 0000000..c0e311e
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.0.0.xsd
@@ -0,0 +1,830 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<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="assembly" type="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Describes the assembly layout and packaging.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Describes the assembly layout and packaging.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The id of this assembly. This is a symbolic name for a
+            particular assembly of files from this project.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="formats">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specify the formats of the assembly.  A format is specified by 
+            supplying one of the following values in a &amp;lt;format&amp;gt; subelement:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;zip&quot;&lt;/b&gt; - Creates a ZIP file format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;gz&quot;&lt;/b&gt; - Creates a GZIP format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar&quot;&lt;/b&gt; - Creates a TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.gz&quot;&lt;/b&gt; - Creates a gzip&apos;d TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.bz2&lt;/b&gt; - Creates a bzip&apos;d TAR format&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="format" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeBaseDirectory" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Includes a base directory in the final archive. For example,
+            if you are creating an assembly named &quot;your-app&quot;, setting
+            includeBaseDirectory to true will create an archive that
+            includes this base directory. If this option is set to false
+            the archive created will unzip its content to the current
+            directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeSiteDirectory" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="moduleSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify which modules source files to include in the assembly
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="moduleSet" minOccurs="0" maxOccurs="unbounded" type="ModuleSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify assembly parameters for groups of files.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="files">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify assembly parameters for single files.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="FileItem"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencySets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify assembly behavior for sets of dependencies.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="repositories">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify assembly behavior for sets of repositories.
+          </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="componentDescriptors">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            File relative to basedir containing Component.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="componentDescriptor" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Defines a Maven repository to be included in the assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeMetadata" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will trigger the creation of repository
+            metadata which will allow the repository to be used as a functional remote
+            repository.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="groupVersionAlignments">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Align a group to a version or an individual artifact.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="groupVersionAlignment" minOccurs="0" maxOccurs="unbounded" type="GroupVersionAlignment"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define
+            a set of files and directory to include.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define
+            a set of files and directory to exclude.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string" default="0755">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="GroupVersionAlignment">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Defines a Maven repository to be included in the assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">The groupId for which you want to align the versions.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">The version you want to align this group to.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="excludes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">Artifact Ids of the artifacts you want excluded from version alignment.</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="DependencySet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Defines a dependency set</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifactId}-${version}.${extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify the mapping pattern for all dependencies included
+            in this assembly.
+            Default is ${artifactId}-${version}.${extension}.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all dependencies
+            into the specified output directory. When set to false
+            dependencies will be includes as archives (jars).
+            Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the dependency scope for this dependencySet.
+            Default scope value is &quot;runtime&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define
+            a set of files and directory to include.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define
+            a set of files and directory to exclude.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string" default="0755">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+          
+            This is a list of &amp;lt;include&amp;gt; elements, each containing a module reference of the type groupId:artifactId.
+            Modules matching these elements will be included in this set.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+          
+            This is a list of &amp;lt;exclude&amp;gt; elements, each containing a module reference of the type groupId:artifactId.
+            Modules matching these elements will be excluded from this set.
+            
+          </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:element minOccurs="0" name="sources" type="ModuleSources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            When this is configured, the plugin will include the source files of the included modules from this set in 
+            the resulting assembly, according to the configuration.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="binaries" type="ModuleBinaries">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            When this is configured, the plugin will include the binaries of the included modules from this set in 
+            the resulting assembly, according to the configuration.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSources">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Configuration for including the source files for a Module in an assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define
+            a set of files and directory to include.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define
+            a set of files and directory to exclude.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string" default="0755">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleBinaries">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Configuration for including the binary files for a Module in an assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeDependencies" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, the plugin will include the direct and transitive dependencies of
+            of the project modules included here.  Otherwise, it will only include the module
+            packages only. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all module packages
+            into the specified output directory. When set to false
+            module packages will be included as archives (jars).
+            Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifactId}-${version}.${extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specify the mapping pattern for all dependencies included
+            in this assembly.
+            Default is ${artifactId}-${version}.${extension}.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define
+            a set of files and directory to include.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define
+            a set of files and directory to exclude.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string" default="0755">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="FileItem">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        Allows individual file copy with option to change destination
+        file name not supported by fileSet
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="source" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Absolute or relative from the module&apos;s directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="destName" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Destination file name in outputDirectory.
+            Default is the same name as the source&apos;s file.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other 
+            read-only. 
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Controls the line-endings of files in this fileSet.
+            Valid values are: 
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Flag used to determine if the file is filtered.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="FileSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="directory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Absolute or relative from the module&apos;s directory. For
+            example, &quot;src/main/bin&quot; would select this subdirectory
+            of the project in which this dependency is defined.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Controls the line-endings of files in this fileSet.
+            Valid values:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define
+            a set of files and directory to include.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define
+            a set of files and directory to exclude.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string" default="0644">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string" default="0755">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission.  Format: (User)(Group)(Other) where each
+            component is a sum of Read = 4, Write = 2, and Execute = 1.  For example,
+            the default value of 0644 translates to User read-write, Group and Other
+            read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.0.xsd
new file mode 100644
index 0000000..5e95037
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.0.xsd
@@ -0,0 +1,1323 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" targetNamespace="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0">
+  <xs:element name="assembly" type="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        An assembly defines a collection of files usually distributed in an
+        archive format such as zip, tar, or tar.gz that is generated from a
+        project.  For example, a project could produce a ZIP assembly which
+        contains a project&apos;s JAR artifact in the root directory, the
+        runtime dependencies in a lib/ directory, and a shell script to launch
+        a stand-alone application.
+        
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        An assembly defines a collection of files usually distributed in an
+        archive format such as zip, tar, or tar.gz that is generated from a
+        project.  For example, a project could produce a ZIP assembly which
+        contains a project&apos;s JAR artifact in the root directory, the
+        runtime dependencies in a lib/ directory, and a shell script to launch
+        a stand-alone application.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the id of this assembly. This is a symbolic name for a
+            particular assembly of files from this project. Also, aside from
+            being used to distinctly name the assembled package by attaching
+            its value to the generated archive, the id is used as your
+            artifact&apos;s classifier when deploying.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="formats">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies the formats of the assembly. Multiple formats can be
+            supplied and the Assembly Plugin will generate an archive for each
+            desired formats. When deploying your project, all file formats
+            specified will also be deployed. A format is specified by supplying
+            one of the following values in a &amp;lt;format&amp;gt; subelement:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;zip&quot;&lt;/b&gt; - Creates a ZIP file format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;gz&quot;&lt;/b&gt; - Creates a GZIP format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar&quot;&lt;/b&gt; - Creates a TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.gz&quot;&lt;/b&gt; - Creates a gzip&apos;d TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.bz2&quot;&lt;/b&gt; - Creates a bzip&apos;d TAR format&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="format" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeBaseDirectory" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Includes a base directory in the final archive. For example,
+            if you are creating an assembly named &quot;your-app&quot;, setting
+            includeBaseDirectory to true will create an archive that
+            includes this base directory. If this option is set to false
+            the archive created will unzip its content to the current
+            directory. Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="baseDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Sets the base directory of the resulting assembly archive. If this is not
+            set and includeBaseDirectory == true, ${project.build.finalName} will be used instead.
+            (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeSiteDirectory" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Includes a site directory in the final archive. The site directory
+            location of a project is determined by the siteDirectory parameter
+            of the Assembly Plugin. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="containerDescriptorHandlers">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Set of components which filter various container descriptors out of
+            the normal archive stream, so they can be aggregated then added.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="containerDescriptorHandler" minOccurs="0" maxOccurs="unbounded" type="ContainerDescriptorHandlerConfig"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="moduleSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which module files to include in the assembly. A moduleSet
+            is specified by providing one or more of &amp;lt;moduleSet&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="moduleSet" minOccurs="0" maxOccurs="unbounded" type="ModuleSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which groups of files to include in the assembly. A
+            fileSet is specified by providing one or more of &amp;lt;fileSet&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="files">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which single files to include in the assembly. A file
+            is specified by providing one or more of &amp;lt;file&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="FileItem"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencySets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which dependencies to include in the assembly. A
+            dependencySet is specified by providing one or more of
+            &amp;lt;dependencySet&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="repositories">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which repository files to include in the assembly. A
+            repository is specified by providing one or more of
+            &amp;lt;repository&amp;gt; subelements.
+            
+          </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="componentDescriptors">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies the shared components xml file locations to include in the
+            assembly. The locations specified must be relative to the basedir of
+            the project. When multiple componentDescriptors are found, their
+            contents are merged. Check out the &lt;a href=&quot;component.html&quot;&gt;
+            descriptor components&lt;/a&gt; for more information. A
+            componentDescriptor is specified by providing one or more of
+            &amp;lt;componentDescriptor&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="componentDescriptor" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ContainerDescriptorHandlerConfig">
+    <xs:annotation>
+      <xs:documentation source="version">1.1.0</xs:documentation>
+      <xs:documentation source="description">
+        Configures a filter for files headed into the assembly archive, to enable
+        aggregation of various types of descriptor fragments, such as components.xml,
+        web.xml, etc.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="handlerName" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            The handler&apos;s plexus role-hint, for lookup from the container.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        Defines a Maven repository to be included in the assembly. The artifacts
+        available to be included in a repository are your project&apos;s dependency
+        artifacts. The repository created contains the needed metadata entries
+        and also contains both sha1 and md5 checksums. This is useful for creating
+        archives which will be deployed to internal repositories.
+
+        &lt;br/&gt;&lt;b&gt;NOTE:&lt;/b&gt; Currently, only artifacts from the central repository
+        are allowed.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeMetadata" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will trigger the creation of repository
+            metadata which will allow the repository to be used as a functional remote
+            repository. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="groupVersionAlignments">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that you want to align a group of artifacts to a specified
+            version. A groupVersionAlignment is specified by providing one or
+            more of &amp;lt;groupVersionAlignment&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="groupVersionAlignment" minOccurs="0" maxOccurs="unbounded" type="GroupVersionAlignment"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the scope for artifacts included in this repository.
+            Default scope value is &quot;runtime&quot;. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="GroupVersionAlignment">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Allows a group of artifacts to be aligned to a specified version.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The groupId of the artifacts for which you want to align the
+            versions.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The version you want to align this group to.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="excludes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define the
+            artifactIds of the artifacts to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions. An exclude is specified
+            by providing one or more of &amp;lt;exclude&amp;gt; subelements.
+            
+          </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="FileItem">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A file allows individual file inclusion with the option to change
+        the destination filename not supported by fileSets.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="source" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the absolute or relative path from the module&apos;s directory
+            of the file to be included in the assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="destName" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the destination filename in the outputDirectory.
+            Default is the same name as the source&apos;s file.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Sets the line-endings of the files in this file.
+            Valid values are:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets whether to determine if the file is filtered.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="FileSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A fileSet allows the inclusion of groups of files into the assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="directory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the absolute or relative location from the module&apos;s
+            directory. For example, &quot;src/main/bin&quot; would select this
+            subdirectory of the project in which this dependency is defined.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Sets the line-endings of the files in this fileSet.
+            Valid values:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Whether to filter symbols in the files as they are copied, using
+          properties from the build configuration. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        A moduleSet represent one or more project &amp;lt;module&amp;gt; present inside
+        a project&apos;s pom.xml. This allows you to include sources or binaries
+        belonging to a project&apos;s &amp;lt;modules&amp;gt;.
+
+        &lt;br/&gt;&lt;b&gt;NOTE:&lt;/b&gt; When using &amp;lt;moduleSets&amp;gt; from the command-line, it
+        is required to pass first the package phase by doing: &quot;mvn package
+        assembly:assembly&quot;. This bug/issue is scheduled to be addressed by Maven 2.1.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeSubModules" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          If set to false, the plugin will exclude sub-modules from processing in this ModuleSet.
+          Otherwise, it will process all sub-modules, each subject to include/exclude rules.
+          Default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            This is a list of &amp;lt;include/&amp;gt; subelements, each containing a
+            module reference of the type groupId:artifactId. Modules matching
+            these elements will be included in this set. If none is present,
+            then &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            This is a list of &amp;lt;exclude/&amp;gt; subelements, each containing a
+            module reference of the type groupId:artifactId. Modules matching
+            these elements will be excluded from this set.
+            
+          </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:element minOccurs="0" name="sources" type="ModuleSources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            When this is present, the plugin will include the source files of
+            the included modules from this set in the resulting assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="binaries" type="ModuleBinaries">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            When this is present, the plugin will include the binaries of the
+            included modules from this set in the resulting assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSources">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Contains configuration options for including the source files of a
+        project module in an assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which groups of files from each included module to include in the assembly. A
+            fileSet is specified by providing one or more of &amp;lt;fileSet&amp;gt; subelements. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeModuleDirectory" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies whether the module&apos;s finalName should be prepended to the outputDirectory 
+            values of any fileSets applied to it. Default value is true. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="excludeSubModuleDirectories" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies whether sub-module directories below the current module should be excluded
+            from fileSets applied to that module. This might be useful if you only mean to copy
+            the sources for the exact module list matched by this ModuleSet, ignoring (or processing
+            separately) the modules which exist in directories below the current one. 
+            Default value is true. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectoryMapping" type="xs:string" default="${module.artifactId}">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all module base-directories included in this assembly.
+            NOTE: This field is only used if includeModuleDirectory == true.
+            Default is the module&apos;s ${artifactId} in 2.2-beta-1, and ${module.artifactId} in subsequent versions. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleBinaries">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Contains configuration options for including the binary files of a
+        project module in an assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="attachmentClassifier" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified, the attachmentClassifier will cause the assembler to look at artifacts
+          attached to the module instead of the main project artifact. If it can find an attached
+          artifact matching the specified classifier, it will use it; otherwise, it will throw an
+          exception. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeDependencies" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+          If set to true, the plugin will include the direct and transitive dependencies of
+          of the project modules included here.  Otherwise, it will only include the module
+          packages only. Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencySets">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which dependencies of the module to include in the assembly. A
+            dependencySet is specified by providing one or more of
+            &amp;lt;dependencySet&amp;gt; subelements. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all module packages
+            into the specified output directory. When set to false
+            module packages will be included as archives (jars).
+            Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpackOptions" type="UnpackOptions">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Allows the specification of includes and excludes, along with filtering options, for items
+          unpacked from a module artifact. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all dependencies included
+            in this assembly.
+            Default is ${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}.
+            (Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension})
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="UnpackOptions">
+    <xs:annotation>
+      <xs:documentation source="version">1.1.0</xs:documentation>
+      <xs:documentation source="description">
+      Specifies options for including/excluding/filtering items extracted from an archive. (Since 2.2)
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Set of patterns for matching items to be included from an archive as it is unpacked. (Since 2.2)
+          </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">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Set of patterns for matching items to be excluded from an archive as it is unpacked. (Since 2.2)
+          </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:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Whether to filter symbols in the files as they are unpacked from the archive, using
+          properties from the build configuration. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="DependencySet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A dependencySet allows inclusion and exclusion of project dependencies
+        in the assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all dependencies included in this
+            assembly. Default is ${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}.
+            (Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension})
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all dependencies
+            into the specified output directory. When set to false
+            dependencies will be includes as archives (jars). Can only unpack
+            jar, zip, tar.gz, and tar.bz archives. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpackOptions" type="UnpackOptions">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Allows the specification of includes and excludes, along with filtering options, for items
+          unpacked from a dependency artifact. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the dependency scope for this dependencySet.
+            Default scope value is &quot;runtime&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useProjectArtifact" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the artifact produced during the current project&apos;s
+          build should be included in this dependency set. Default value is true,
+          for backward compatibility. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useProjectAttachments" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the attached artifacts produced during the current project&apos;s
+          build should be included in this dependency set. Default value is false. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useTransitiveDependencies" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether transitive dependencies will be included in the processing of
+          the current dependency set. If true, includes/excludes/useTransitiveFiltering
+          will apply to transitive dependency artifacts in addition to the main project
+          dependency artifacts. If false, useTransitiveFiltering is meaningless, and 
+          includes/excludes only affect the immediate dependencies of the project.
+          By default, this value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useTransitiveFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the include/exclude patterns in this dependency set will be applied to
+          the transitive path of a given artifact. If true, and the current artifact is a transitive
+          dependency brought in by another artifact which matches an inclusion or exclusion pattern, 
+          then the current artifact has the same inclusion/exclusion logic applied to it as well. By
+          default, this value is false, in order to preserve backward compatibility with version 2.1.
+          This means that includes/excludes only apply directly to the current artifact, and not to
+          the transitive set of artifacts which brought it in. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.1.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.1.xsd
new file mode 100644
index 0000000..e4cb28d
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/assembly-1.1.1.xsd
@@ -0,0 +1,1337 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" targetNamespace="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1">
+  <xs:element name="assembly" type="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        An assembly defines a collection of files usually distributed in an
+        archive format such as zip, tar, or tar.gz that is generated from a
+        project.  For example, a project could produce a ZIP assembly which
+        contains a project&apos;s JAR artifact in the root directory, the
+        runtime dependencies in a lib/ directory, and a shell script to launch
+        a stand-alone application.
+        
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="Assembly">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        An assembly defines a collection of files usually distributed in an
+        archive format such as zip, tar, or tar.gz that is generated from a
+        project.  For example, a project could produce a ZIP assembly which
+        contains a project&apos;s JAR artifact in the root directory, the
+        runtime dependencies in a lib/ directory, and a shell script to launch
+        a stand-alone application.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the id of this assembly. This is a symbolic name for a
+            particular assembly of files from this project. Also, aside from
+            being used to distinctly name the assembled package by attaching
+            its value to the generated archive, the id is used as your
+            artifact&apos;s classifier when deploying.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="formats">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies the formats of the assembly. Multiple formats can be
+            supplied and the Assembly Plugin will generate an archive for each
+            desired formats. When deploying your project, all file formats
+            specified will also be deployed. A format is specified by supplying
+            one of the following values in a &amp;lt;format&amp;gt; subelement:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;zip&quot;&lt;/b&gt; - Creates a ZIP file format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;gz&quot;&lt;/b&gt; - Creates a GZIP format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar&quot;&lt;/b&gt; - Creates a TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.gz&quot;&lt;/b&gt; - Creates a gzip&apos;d TAR format&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;tar.bz2&quot;&lt;/b&gt; - Creates a bzip&apos;d TAR format&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="format" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeBaseDirectory" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Includes a base directory in the final archive. For example,
+            if you are creating an assembly named &quot;your-app&quot;, setting
+            includeBaseDirectory to true will create an archive that
+            includes this base directory. If this option is set to false
+            the archive created will unzip its content to the current
+            directory. Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="baseDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the base directory of the resulting assembly archive. If this is not
+            set and includeBaseDirectory == true, ${project.build.finalName} will be used instead.
+            (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeSiteDirectory" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Includes a site directory in the final archive. The site directory
+            location of a project is determined by the siteDirectory parameter
+            of the Assembly Plugin. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="containerDescriptorHandlers">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Set of components which filter various container descriptors out of
+            the normal archive stream, so they can be aggregated then added.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="containerDescriptorHandler" minOccurs="0" maxOccurs="unbounded" type="ContainerDescriptorHandlerConfig"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="moduleSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which module files to include in the assembly. A moduleSet
+            is specified by providing one or more of &amp;lt;moduleSet&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="moduleSet" minOccurs="0" maxOccurs="unbounded" type="ModuleSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which groups of files to include in the assembly. A
+            fileSet is specified by providing one or more of &amp;lt;fileSet&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="files">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which single files to include in the assembly. A file
+            is specified by providing one or more of &amp;lt;file&amp;gt;
+            subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="FileItem"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencySets">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which dependencies to include in the assembly. A
+            dependencySet is specified by providing one or more of
+            &amp;lt;dependencySet&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="repositories">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which repository files to include in the assembly. A
+            repository is specified by providing one or more of
+            &amp;lt;repository&amp;gt; subelements.
+            
+          </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="componentDescriptors">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies the shared components xml file locations to include in the
+            assembly. The locations specified must be relative to the basedir of
+            the project. When multiple componentDescriptors are found, their
+            contents are merged. Check out the &lt;a href=&quot;component.html&quot;&gt;
+            descriptor components&lt;/a&gt; for more information. A
+            componentDescriptor is specified by providing one or more of
+            &amp;lt;componentDescriptor&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="componentDescriptor" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ContainerDescriptorHandlerConfig">
+    <xs:annotation>
+      <xs:documentation source="version">1.1.0+</xs:documentation>
+      <xs:documentation source="description">
+        Configures a filter for files headed into the assembly archive, to enable
+        aggregation of various types of descriptor fragments, such as components.xml,
+        web.xml, etc.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="handlerName" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            The handler&apos;s plexus role-hint, for lookup from the container.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="configuration">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.1</xs:documentation>
+          <xs:documentation source="description">
+            Configuration options for the handler.
+          </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="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        Defines a Maven repository to be included in the assembly. The artifacts
+        available to be included in a repository are your project&apos;s dependency
+        artifacts. The repository created contains the needed metadata entries
+        and also contains both sha1 and md5 checksums. This is useful for creating
+        archives which will be deployed to internal repositories.
+
+        &lt;br/&gt;&lt;b&gt;NOTE:&lt;/b&gt; Currently, only artifacts from the central repository
+        are allowed.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeMetadata" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will trigger the creation of repository
+            metadata which will allow the repository to be used as a functional remote
+            repository. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="groupVersionAlignments">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that you want to align a group of artifacts to a specified
+            version. A groupVersionAlignment is specified by providing one or
+            more of &amp;lt;groupVersionAlignment&amp;gt; subelements.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="groupVersionAlignment" minOccurs="0" maxOccurs="unbounded" type="GroupVersionAlignment"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Specifies the scope for artifacts included in this repository.
+            Default scope value is &quot;runtime&quot;. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="GroupVersionAlignment">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Allows a group of artifacts to be aligned to a specified version.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The groupId of the artifacts for which you want to align the
+            versions.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The version you want to align this group to.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="excludes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define the
+            artifactIds of the artifacts to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions. An exclude is specified
+            by providing one or more of &amp;lt;exclude&amp;gt; subelements.
+            
+          </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="FileItem">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A file allows individual file inclusion with the option to change
+        the destination filename not supported by fileSets.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="source" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the absolute or relative path from the module&apos;s directory
+            of the file to be included in the assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="destName" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the destination filename in the outputDirectory.
+            Default is the same name as the source&apos;s file.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Sets the line-endings of the files in this file.
+            Valid values are:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets whether to determine if the file is filtered.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="FileSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A fileSet allows the inclusion of groups of files into the assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="directory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the absolute or relative location from the module&apos;s
+            directory. For example, &quot;src/main/bin&quot; would select this
+            subdirectory of the project in which this dependency is defined.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="lineEnding" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Sets the line-endings of the files in this fileSet.
+            Valid values:
+            &lt;ul&gt;
+              &lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
+              &lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
+            &lt;/ul&gt;
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Whether to filter symbols in the files as they are copied, using
+          properties from the build configuration. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        A moduleSet represent one or more project &amp;lt;module&amp;gt; present inside
+        a project&apos;s pom.xml. This allows you to include sources or binaries
+        belonging to a project&apos;s &amp;lt;modules&amp;gt;.
+
+        &lt;br/&gt;&lt;b&gt;NOTE:&lt;/b&gt; When using &amp;lt;moduleSets&amp;gt; from the command-line, it
+        is required to pass first the package phase by doing: &quot;mvn package
+        assembly:assembly&quot;. This bug/issue is scheduled to be addressed by Maven 2.1.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includeSubModules" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          If set to false, the plugin will exclude sub-modules from processing in this ModuleSet.
+          Otherwise, it will process all sub-modules, each subject to include/exclude rules.
+          Default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            This is a list of &amp;lt;include/&amp;gt; subelements, each containing a
+            module reference of the type groupId:artifactId. Modules matching
+            these elements will be included in this set. If none is present,
+            then &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            This is a list of &amp;lt;exclude/&amp;gt; subelements, each containing a
+            module reference of the type groupId:artifactId. Modules matching
+            these elements will be excluded from this set.
+            
+          </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:element minOccurs="0" name="sources" type="ModuleSources">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            When this is present, the plugin will include the source files of
+            the included modules from this set in the resulting assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="binaries" type="ModuleBinaries">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            When this is present, the plugin will include the binaries of the
+            included modules from this set in the resulting assembly.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleSources">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Contains configuration options for including the source files of a
+        project module in an assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="fileSets">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which groups of files from each included module to include in the assembly. A
+            fileSet is specified by providing one or more of &amp;lt;fileSet&amp;gt; subelements. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeModuleDirectory" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies whether the module&apos;s finalName should be prepended to the outputDirectory 
+            values of any fileSets applied to it. Default value is true. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="excludeSubModuleDirectories" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies whether sub-module directories below the current module should be excluded
+            from fileSets applied to that module. This might be useful if you only mean to copy
+            the sources for the exact module list matched by this ModuleSet, ignoring (or processing
+            separately) the modules which exist in directories below the current one. 
+            Default value is true. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectoryMapping" type="xs:string" default="${module.artifactId}">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all module base-directories included in this assembly.
+            NOTE: This field is only used if includeModuleDirectory == true.
+            Default is the module&apos;s ${artifactId} in 2.2-beta-1, and ${module.artifactId} in subsequent versions. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ModuleBinaries">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Contains configuration options for including the binary files of a
+        project module in an assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="attachmentClassifier" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified, the attachmentClassifier will cause the assembler to look at artifacts
+          attached to the module instead of the main project artifact. If it can find an attached
+          artifact matching the specified classifier, it will use it; otherwise, it will throw an
+          exception. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includeDependencies" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+          If set to true, the plugin will include the direct and transitive dependencies of
+          of the project modules included here.  Otherwise, it will only include the module
+          packages only. Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencySets">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies which dependencies of the module to include in the assembly. A
+            dependencySet is specified by providing one or more of
+            &amp;lt;dependencySet&amp;gt; subelements. (Since 2.2)
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all module packages
+            into the specified output directory. When set to false
+            module packages will be included as archives (jars).
+            Default value is true.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpackOptions" type="UnpackOptions">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Allows the specification of includes and excludes, along with filtering options, for items
+          unpacked from a module artifact. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all NON-UNPACKED dependencies included
+            in this assembly.
+            Default is ${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}.
+            (Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension}) NOTE: If the 
+            dependencySet specifies unpack == true, outputFileNameMapping WILL NOT BE USED; in these cases, use outputDirectory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="UnpackOptions">
+    <xs:annotation>
+      <xs:documentation source="version">1.1.0+</xs:documentation>
+      <xs:documentation source="description">
+      Specifies options for including/excluding/filtering items extracted from an archive. (Since 2.2)
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Set of patterns for matching items to be included from an archive as it is unpacked. (Since 2.2)
+          </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">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Set of patterns for matching items to be excluded from an archive as it is unpacked. (Since 2.2)
+          </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:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Whether to filter symbols in the files as they are unpacked from the archive, using
+          properties from the build configuration. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="DependencySet">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A dependencySet allows inclusion and exclusion of project dependencies
+        in the assembly.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the mapping pattern for all dependencies included in this
+            assembly. Default is ${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}.
+            (Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension})
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpack" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            If set to true, this property will unpack all dependencies
+            into the specified output directory. When set to false
+            dependencies will be includes as archives (jars). Can only unpack
+            jar, zip, tar.gz, and tar.bz archives. Default value is false.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="unpackOptions" type="UnpackOptions">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Allows the specification of includes and excludes, along with filtering options, for items
+          unpacked from a dependency artifact. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the dependency scope for this dependencySet.
+            Default scope value is &quot;runtime&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useProjectArtifact" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the artifact produced during the current project&apos;s
+          build should be included in this dependency set. Default value is true,
+          for backward compatibility. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useProjectAttachments" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the attached artifacts produced during the current project&apos;s
+          build should be included in this dependency set. Default value is false. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useTransitiveDependencies" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether transitive dependencies will be included in the processing of
+          the current dependency set. If true, includes/excludes/useTransitiveFiltering
+          will apply to transitive dependency artifacts in addition to the main project
+          dependency artifacts. If false, useTransitiveFiltering is meaningless, and 
+          includes/excludes only affect the immediate dependencies of the project.
+          By default, this value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useTransitiveFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          Determines whether the include/exclude patterns in this dependency set will be applied to
+          the transitive path of a given artifact. If true, and the current artifact is a transitive
+          dependency brought in by another artifact which matches an inclusion or exclusion pattern, 
+          then the current artifact has the same inclusion/exclusion logic applied to it as well. By
+          default, this value is false, in order to preserve backward compatibility with version 2.1.
+          This means that includes/excludes only apply directly to the current artifact, and not to
+          the transitive set of artifacts which brought it in. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+          When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
+          artifact during assembly creation will cause the build to fail with an error. This is meant
+          to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
+          is incorrectly configured. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether standard exclusion patterns, such as those matching CVS and Subversion
+            metadata files, should be used when calculating the files affected by this set.
+            For backward compatibility, the default value is true. (Since 2.2)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="outputDirectory" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Sets the output directory relative to the root
+            of the root directory of the assembly. For example,
+            &quot;log&quot; will put the specified files in the log directory.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="includes">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;include&amp;gt; subelements are present, they define a set of
+            files and directory to include. If none is present, then
+            &amp;lt;includes&amp;gt; represents all valid values.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
+            files and directory to exclude. If none is present, then
+            &amp;lt;excludes&amp;gt; represents no exclusions.
+            
+          </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:element minOccurs="0" name="fileMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the file mode of the files included.
+            Format: (User)(Group)(Other) where each component is a sum of Read = 4,
+            Write = 2, and Execute = 1.  For example, the value 0644
+            translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryMode" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Similar to a UNIX permission, sets the directory mode of the directories
+            included. Format: (User)(Group)(Other) where each component is a sum of
+            Read = 4, Write = 2, and Execute = 1.  For example, the value
+            0755 translates to User read-write, Group and Other read-only.
+            &lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
+          	
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.0.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.0.0.xsd
new file mode 100644
index 0000000..da09c3d
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.0.0.xsd
@@ -0,0 +1,735 @@
+<?xml version="1.0"?>
+<!--
+
+    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.
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/SETTINGS/1.0.0" targetNamespace="http://maven.apache.org/SETTINGS/1.0.0">
+  <xs:element name="settings" type="Settings">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        Root element of the user configuration file.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="Settings">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        Root element of the user configuration file.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="localRepository" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The local repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="interactiveMode" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether Maven should attempt to interact with the user for input.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="usePluginRegistry" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether Maven should use the plugin-registry.xml file to manage plugin versions.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="offline" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Indicate whether maven should operate in offline mode full-time.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="proxies">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration for different proxy profiles. Multiple proxy profiles
+            might come in handy for anyone working from a notebook or other
+            mobile platform, to enable easy switching of entire proxy
+            configurations by simply specifying the profile id, again either from
+            the command line or from the defaults section below.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="proxy" minOccurs="0" maxOccurs="unbounded" type="Proxy"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="servers">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration of server-specific settings, mainly authentication
+            method. This allows configuration of authentication on a per-server
+            basis.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="server" minOccurs="0" maxOccurs="unbounded" type="Server"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="mirrors">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Configuration of download mirrors for repositories.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="mirror" minOccurs="0" maxOccurs="unbounded" type="Mirror"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="profiles">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration of build profiles for adjusting the build
+            according to environmental parameters.
+            
+          </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:element minOccurs="0" name="activeProfiles">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            List of manually-activated build profiles, specified in the order in which
+            they should be applied.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="activeProfile" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="pluginGroups">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            List of groupIds to search for a plugin when that plugin
+            groupId is not explicitly provided.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="pluginGroup" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Mirror">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        A download mirror for a given repository.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="mirrorOf" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The server ID of the repository being mirrored, eg
+            &quot;central&quot;. This MUST NOT match the mirror id.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <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 optional name that describes the mirror.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="url" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">The URL of the mirror repository.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Proxy">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;proxy&amp;gt;&lt;/code&gt; element contains informations required to a proxy settings.
+        </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="active" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether this proxy configuration is the active one.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="protocol" type="xs:string" default="http">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy protocol.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="username" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy user.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="password" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy password.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="port" type="xs:int" default="8080">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy port.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="host" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy host.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="nonProxyHosts" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The list of non-proxied hosts (delimited by |).
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Server">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;server&amp;gt;&lt;/code&gt; element contains informations required to a server settings.
+        </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="username" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The username used to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="password" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The password used in conjunction with the username to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="privateKey" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The private key location used to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="passphrase" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The passphrase used in conjunction with the privateKey to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filePermissions" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The permissions for files when they are created.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryPermissions" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The permissions for directories when they are created.
+            
+          </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">
+            
+            Extra configuration for the transport layer.
+            
+          </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="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Profile">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        Modifications to the build process which is keyed on some
+        sort of environmental parameter.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="activation" type="Activation">
+        <xs:annotation>
+          <xs:documentation source="version">1.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="properties">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Extended configuration specific to this profile goes here.
+            Contents take the form of
+            &lt;property.name&gt;property.value&lt;/property.name&gt;
+          </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="repositories">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The lists of the remote repositories.
+            
+          </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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The lists of the remote repositories for discovering plugins.
+            
+          </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="id" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        Repository contains the information needed for establishing
+        connections with remote repoistory
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            A unique identifier for a repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="name" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            The url of the repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="layout" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The type of layout this repository uses for locating and
+            storing artifacts - can be &quot;legacy&quot; or &quot;default&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="RepositoryPolicy">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">Download policy</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="enabled" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Whether to use this repository for downloading this type of
+            artifact.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="updatePolicy" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The frequency for downloading updates - can be &quot;always&quot;,
+            &quot;daily&quot; (default), &quot;interval:XXX&quot; (in minutes) or &quot;never&quot;
+            (only if it doesn&apos;t exist locally).
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="checksumPolicy" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            What to do when verification of an artifact checksum fails -
+            warn, fail, etc. Valid values are &quot;fail&quot; or &quot;warn&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Activation">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        The conditions within the build runtime environment which will trigger
+        the automatic inclusion of the parent build profile.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Flag specifying whether this profile is active as a default.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="jdk" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated when a matching JDK is detected.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="os" type="ActivationOS">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated when matching OS attributes are detected.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="property" type="ActivationProperty">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated based on existence of a file.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationFile">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        This is the file specification used to activate a profile. The missing value will be a the location
+        of a file that needs to exist, and if it doesn&apos;t the profile must run.  On the other hand exists will test
+        for the existence of the file and if it is there will run the profile.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="missing" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The name of the file that should be missing to activate a
+            profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="exists" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The name of the file that should exist to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationOS">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0</xs:documentation>
+      <xs:documentation source="description">
+        
+        This is an activator which will detect an operating system&apos;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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The name of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="family" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The general family of the OS to be used to activate a
+            profile (e.g. &apos;windows&apos;)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="arch" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The architecture of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The version of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationProperty">
+    <xs:annotation>
+      <xs:documentation source="version">1.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">1.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">1.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The value of the property to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file
diff --git a/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.1.0.xsd b/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.1.0.xsd
new file mode 100644
index 0000000..ab30baf
--- /dev/null
+++ b/maven.grammar/src/org/netbeans/modules/maven/grammar/settings-1.1.0.xsd
@@ -0,0 +1,754 @@
+<?xml version="1.0"?>
+<!--
+
+    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.4 on 2011-01-09 15:56:31,                       -->
+<!-- any modifications will be overwritten.                                 -->
+<!-- ==============================================================         -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/SETTINGS/1.1.0" targetNamespace="http://maven.apache.org/SETTINGS/1.1.0">
+  <xs:element name="settings" type="Settings">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Root element of the user configuration file.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="Settings">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Root element of the user configuration file.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="localRepository" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The local repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="interactiveMode" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether Maven should attempt to interact with the user for input.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="usePluginRegistry" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether Maven should use the plugin-registry.xml file to manage plugin versions.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="offline" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Indicate whether maven should operate in offline mode full-time.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="proxies">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration for different proxy profiles. Multiple proxy profiles
+            might come in handy for anyone working from a notebook or other
+            mobile platform, to enable easy switching of entire proxy
+            configurations by simply specifying the profile id, again either from
+            the command line or from the defaults section below.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="proxy" minOccurs="0" maxOccurs="unbounded" type="Proxy"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="servers">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration of server-specific settings, mainly authentication
+            method. This allows configuration of authentication on a per-server
+            basis.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="server" minOccurs="0" maxOccurs="unbounded" type="Server"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="mirrors">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Configuration of download mirrors for repositories.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="mirror" minOccurs="0" maxOccurs="unbounded" type="Mirror"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="profiles">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Configuration of build profiles for adjusting the build
+            according to environmental parameters.
+            
+          </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:element minOccurs="0" name="activeProfiles">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            List of manually-activated build profiles, specified in the order in which
+            they should be applied.
+            
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="activeProfile" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="pluginGroups">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            List of groupIds to search for a plugin when that plugin
+            groupId is not explicitly provided.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="pluginGroup" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Mirror">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        A download mirror for a given repository.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="mirrorOf" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The server ID of the repository being mirrored, eg
+            &quot;central&quot;. This MUST NOT match the mirror id.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <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 optional name that describes the mirror.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="url" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">The URL of the mirror repository.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="layout" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">The layout of the mirror repository. Since Maven 3.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="mirrorOfLayouts" type="xs:string" default="default,legacy">
+        <xs:annotation>
+          <xs:documentation source="version">1.1.0+</xs:documentation>
+          <xs:documentation source="description">
+            The layouts of repositories being mirrored. This value can be used to restrict the usage
+            of the mirror to repositories with a matching layout (apart from a matching id). Since Maven 3.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="id" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Proxy">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;proxy&amp;gt;&lt;/code&gt; element contains informations required to a proxy settings.
+        </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="active" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Whether this proxy configuration is the active one.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="protocol" type="xs:string" default="http">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy protocol.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="username" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy user.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="password" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy password.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="port" type="xs:int" default="8080">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy port.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="host" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The proxy host.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="nonProxyHosts" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The list of non-proxied hosts (delimited by |).
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="id" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Server">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;server&amp;gt;&lt;/code&gt; element contains informations required to a server settings.
+        </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="username" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The username used to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="password" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The password used in conjunction with the username to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="privateKey" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The private key location used to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="passphrase" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The passphrase used in conjunction with the privateKey to authenticate.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="filePermissions" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The permissions for files when they are created.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="directoryPermissions" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The permissions for directories when they are created.
+            
+          </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">
+            
+            Extra configuration for the transport layer.
+            
+          </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="id" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Profile">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        Modifications to the build process which is keyed on some
+        sort of environmental parameter.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="activation" type="Activation">
+        <xs:annotation>
+          <xs:documentation source="version">1.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="properties">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Extended configuration specific to this profile goes here.
+            Contents take the form of
+            &lt;property.name&gt;property.value&lt;/property.name&gt;
+          </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="repositories">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The lists of the remote repositories.
+            
+          </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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The lists of the remote repositories for discovering plugins.
+            
+          </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="id" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Repository contains the information needed for establishing
+        connections with remote repoistory
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            A unique identifier for a repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="name" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The url of the repository.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="layout" type="xs:string" default="default">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The type of layout this repository uses for locating and
+            storing artifacts - can be &quot;legacy&quot; or &quot;default&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="RepositoryPolicy">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">Download policy</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="enabled" type="xs:boolean" default="true">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Whether to use this repository for downloading this type of
+            artifact.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="updatePolicy" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The frequency for downloading updates - can be &quot;always&quot;,
+            &quot;daily&quot; (default), &quot;interval:XXX&quot; (in minutes) or &quot;never&quot;
+            (only if it doesn&apos;t exist locally).
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="checksumPolicy" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            What to do when verification of an artifact checksum fails -
+            warn, fail, etc. Valid values are &quot;fail&quot; or &quot;warn&quot;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Activation">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The conditions within the build runtime environment which will trigger
+        the automatic inclusion of the parent build profile.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Flag specifying whether this profile is active as a default.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="jdk" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated when a matching JDK is detected.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="os" type="ActivationOS">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated when matching OS attributes are detected.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="property" type="ActivationProperty">
+        <xs:annotation>
+          <xs:documentation source="version">1.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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Specifies that this profile will be activated based on existence of a file.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationFile">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        This is the file specification used to activate a profile. The missing value will be a the location
+        of a file that needs to exist, and if it doesn&apos;t the profile must run.  On the other hand exists will test
+        for the existence of the file and if it is there will run the profile.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="missing" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The name of the file that should be missing to activate a
+            profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="exists" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The name of the file that should exist to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationOS">
+    <xs:annotation>
+      <xs:documentation source="version">1.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        This is an activator which will detect an operating system&apos;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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The name of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="family" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The general family of the OS to be used to activate a
+            profile (e.g. &apos;windows&apos;)
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="arch" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The architecture of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="version" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The version of the OS to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="ActivationProperty">
+    <xs:annotation>
+      <xs:documentation source="version">1.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">1.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">1.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The value of the property to be used to activate a profile.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@netbeans.apache.org" <co...@netbeans.apache.org>.