[jbosscache-commits] JBoss Cache SVN: r6664 - in core/trunk: assembly and 1 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Tue Sep 2 03:40:01 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-09-02 03:40:01 -0400 (Tue, 02 Sep 2008)
New Revision: 6664

Added:
   core/trunk/assembly/assembly-1.1.0-SNAPSHOT.xsd
   core/trunk/assembly/src.xml
   core/trunk/src/main/release/README-Demo.txt
Removed:
   core/trunk/src/main/release/build.xml
Modified:
   core/trunk/assembly/all.xml
   core/trunk/assembly/bin.xml
   core/trunk/assembly/doc.xml
   core/trunk/pom.xml
Log:
Updated build and packaging

Modified: core/trunk/assembly/all.xml
===================================================================
--- core/trunk/assembly/all.xml	2008-09-02 07:39:10 UTC (rev 6663)
+++ core/trunk/assembly/all.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -1,4 +1,18 @@
-<assembly>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   This package will build a ZIP containing the following:
+
+   * jbosscache-core.jar
+   * library dependencies
+   * sample config files
+   * conversion scripts
+   * license docs and readmes
+   * documentation
+   * src jar
+-->
+
+<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:maven:assembly:1.1.0-SNAPSHOT">
    <id>all</id>
 
    <formats>
@@ -24,25 +38,29 @@
       <!-- resources -->
       <fileSet>
          <directory>src/main/resources</directory>
-         <outputDirectory>resources</outputDirectory>
+         <outputDirectory>etc</outputDirectory>
+         <excludes>
+            <exclude>**/*.sh</exclude>
+         </excludes>
       </fileSet>
 
-      <!-- srcs -->
+      <!-- Executable resources -->
       <fileSet>
-         <directory>src/main/java</directory>
-         <outputDirectory>src</outputDirectory>
+         <directory>src/main/resources</directory>
+         <outputDirectory>etc</outputDirectory>
+         <includes>
+            <include>**/*.sh</include>
+         </includes>
+         <fileMode>0777</fileMode>
       </fileSet>
 
-      <!-- tests -->
+      <!-- Log4j XML -->
       <fileSet>
-         <directory>src/test/java</directory>
-         <outputDirectory>test</outputDirectory>
-      </fileSet>
-
-      <!-- test resources -->
-      <fileSet>
          <directory>src/test/resources</directory>
-         <outputDirectory>test</outputDirectory>
+         <outputDirectory>etc</outputDirectory>
+         <includes>
+            <include>log4j.xml</include>
+         </includes>
       </fileSet>
 
       <!-- EULAs and license files -->
@@ -51,7 +69,6 @@
          <outputDirectory/>
          <includes>
             <include>**/*.txt</include>
-            <include>**/*.xml</include>
          </includes>
       </fileSet>
 

Added: core/trunk/assembly/assembly-1.1.0-SNAPSHOT.xsd
===================================================================
--- core/trunk/assembly/assembly-1.1.0-SNAPSHOT.xsd	                        (rev 0)
+++ core/trunk/assembly/assembly-1.1.0-SNAPSHOT.xsd	2008-09-02 07:40:01 UTC (rev 6664)
@@ -0,0 +1,1233 @@
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+           xmlns:tns="urn:maven:assembly:1.1.0-SNAPSHOT" targetNamespace="urn:maven:assembly:1.1.0-SNAPSHOT">
+   <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 name="id" minOccurs="0" 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 name="formats" minOccurs="0">
+            <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&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 name="includeBaseDirectory" minOccurs="0" 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 name="baseDirectory" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="includeSiteDirectory" minOccurs="0" 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 name="moduleSets" minOccurs="0">
+            <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 name="fileSets" minOccurs="0">
+            <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 name="files" minOccurs="0">
+            <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 name="dependencySets" minOccurs="0">
+            <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 name="repositories" minOccurs="0">
+            <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 name="componentDescriptors" minOccurs="0">
+            <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="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 name="includeMetadata" minOccurs="0" 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 name="groupVersionAlignments" minOccurs="0">
+            <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 name="scope" minOccurs="0" 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;.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useStrictFiltering" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useDefaultExcludes" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectory" minOccurs="0" 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 name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="fileMode" minOccurs="0" 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, 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 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 name="directoryMode" minOccurs="0" 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, 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 default value of
+                  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 name="id" minOccurs="0" 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 name="version" minOccurs="0" 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 name="excludes" minOccurs="0">
+            <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="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 name="outputFileNameMapping" minOccurs="0" type="xs:string"
+                     default="${artifactId}-${version}-${classifier}.${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 ${artifactId}-${version}.${extension}.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="unpack" minOccurs="0" 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 name="unpackOptions" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="scope" minOccurs="0" 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 name="useStrictFiltering" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useDefaultExcludes" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectory" minOccurs="0" 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 name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="fileMode" minOccurs="0" 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, 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 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 name="directoryMode" minOccurs="0" 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, 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 default value of
+                  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.
+         </xs:documentation>
+      </xs:annotation>
+      <xs:all>
+         <xs:element name="includes" minOccurs="0">
+            <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.
+               </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 name="excludes" minOccurs="0">
+            <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.
+               </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 name="filtered" minOccurs="0" 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.
+               </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 name="includeSubModules" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="sources" minOccurs="0" 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 name="binaries" minOccurs="0" 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 name="fileSets" minOccurs="0">
+            <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.
+
+               </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 name="includeModuleDirectory" minOccurs="0" 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.
+
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="excludeSubModuleDirectories" minOccurs="0" 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.
+
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectoryMapping" minOccurs="0" type="xs:string" default="${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}.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useStrictFiltering" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useDefaultExcludes" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectory" minOccurs="0" 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 name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="fileMode" minOccurs="0" 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, 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 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 name="directoryMode" minOccurs="0" 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, 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 default value of
+                  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="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 name="directory" minOccurs="0" 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 name="lineEnding" minOccurs="0" 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 name="filtered" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useStrictFiltering" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useDefaultExcludes" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectory" minOccurs="0" 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 name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="fileMode" minOccurs="0" 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, 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 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 name="directoryMode" minOccurs="0" 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, 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 default value of
+                  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 name="attachmentClassifier" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="includeDependencies" minOccurs="0" 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 name="dependencySets" minOccurs="0">
+            <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.
+
+               </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 name="unpack" minOccurs="0" 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 name="unpackOptions" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputFileNameMapping" minOccurs="0" type="xs:string"
+                     default="${artifactId}-${version}.${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 ${artifactId}-${version}.${extension}.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useStrictFiltering" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="useDefaultExcludes" minOccurs="0" 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.
+               </xs:documentation>
+            </xs:annotation>
+         </xs:element>
+         <xs:element name="outputDirectory" minOccurs="0" 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 name="includes" minOccurs="0">
+            <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 name="excludes" minOccurs="0">
+            <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 name="fileMode" minOccurs="0" 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, 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 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 name="directoryMode" minOccurs="0" 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, 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 default value of
+                  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="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 name="source" minOccurs="0" 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 name="outputDirectory" minOccurs="0" 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 name="destName" minOccurs="0" 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 name="fileMode" minOccurs="0" 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, 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 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 name="lineEnding" minOccurs="0" 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 name="filtered" minOccurs="0" 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:schema>
\ No newline at end of file

Modified: core/trunk/assembly/bin.xml
===================================================================
--- core/trunk/assembly/bin.xml	2008-09-02 07:39:10 UTC (rev 6663)
+++ core/trunk/assembly/bin.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -1,4 +1,15 @@
-<assembly>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   This package will build a ZIP containing the following:
+
+   * jbosscache-core.jar
+   * library dependencies
+   * sample config files
+   * conversion scripts
+   * license docs and readmes
+-->
+
+<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:maven:assembly:1.1.0-SNAPSHOT">
    <id>bin</id>
 
    <formats>
@@ -17,15 +28,39 @@
          </includes>
          <excludes>
             <exclude>*test*.jar</exclude>
+            <exclude>*sources*.jar</exclude>
          </excludes>
       </fileSet>
 
       <!-- resources -->
       <fileSet>
          <directory>src/main/resources</directory>
-         <outputDirectory>resources</outputDirectory>
+         <outputDirectory>etc</outputDirectory>
+         <excludes>
+            <exclude>**/*.sh</exclude>
+         </excludes>
       </fileSet>
 
+      <!-- Executable resources -->
+      <fileSet>
+         <directory>src/main/resources</directory>
+         <outputDirectory>etc</outputDirectory>
+         <includes>
+            <include>**/*.sh</include>
+         </includes>
+         <fileMode>0777</fileMode>
+      </fileSet>
+
+      <!-- Log4j XML -->
+      <fileSet>
+         <directory>src/test/resources</directory>
+         <outputDirectory>etc</outputDirectory>
+         <includes>
+            <include>log4j.xml</include>
+         </includes>
+      </fileSet>
+
+
       <!-- EULAs and license files -->
       <fileSet>
          <directory>src/main/release</directory>
@@ -46,5 +81,4 @@
          <scope>runtime</scope>
       </dependencySet>
    </dependencySets>
-
 </assembly>

Modified: core/trunk/assembly/doc.xml
===================================================================
--- core/trunk/assembly/doc.xml	2008-09-02 07:39:10 UTC (rev 6663)
+++ core/trunk/assembly/doc.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -1,36 +1,43 @@
-<assembly>
-  <id>doc</id>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   This package will build a ZIP containing the following:
 
-  <formats>
-    <format>zip</format>
-  </formats>
+   * user documentation
+-->
 
-  <includeBaseDirectory>true</includeBaseDirectory>
+<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:maven:assembly:1.1.0-SNAPSHOT">
+   <id>doc</id>
 
-  <fileSets>
-    <!-- EULAs and license files -->
-    <fileSet>
-      <directory>src/main/release</directory>
-      <outputDirectory/>
-      <includes>
-        <include>*.txt</include>
-      </includes>
-	  <excludes>
-		<exclude>**lib**</exclude>
-      <exclude>license/*</exclude>
-     </excludes>
-    </fileSet>
+   <formats>
+      <format>zip</format>
+   </formats>
 
-    <!-- docs -->
-    <fileSet>
-      <directory>target/site/apidocs</directory>
-      <outputDirectory>doc/apidocs</outputDirectory>
-    </fileSet>
+   <includeBaseDirectory>true</includeBaseDirectory>
 
-    <fileSet>
-      <directory>target/docbook</directory>
-      <outputDirectory>doc/</outputDirectory>
-    </fileSet>
-  </fileSets>
+   <fileSets>
+      <!-- EULAs and license files -->
+      <fileSet>
+         <directory>src/main/release</directory>
+         <outputDirectory/>
+         <includes>
+            <include>*.txt</include>
+         </includes>
+         <excludes>
+            <exclude>**lib**</exclude>
+            <exclude>license/*</exclude>
+         </excludes>
+      </fileSet>
 
+      <!-- docs -->
+      <fileSet>
+         <directory>target/site/apidocs</directory>
+         <outputDirectory>doc/apidocs</outputDirectory>
+      </fileSet>
+
+      <fileSet>
+         <directory>target/docbook</directory>
+         <outputDirectory>doc/</outputDirectory>
+      </fileSet>
+   </fileSets>
+
 </assembly>

Added: core/trunk/assembly/src.xml
===================================================================
--- core/trunk/assembly/src.xml	                        (rev 0)
+++ core/trunk/assembly/src.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   This package will build a ZIP the current directory and all subdirectories.  Essentially a snapshot of the
+   subversion checkout.
+-->
+<assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:maven:assembly:1.1.0-SNAPSHOT">
+   <id>src</id>
+   <formats>
+      <format>zip</format>
+   </formats>
+
+   <includeBaseDirectory>true</includeBaseDirectory>
+   <fileSets>
+      <fileSet>
+         <excludes>
+            <exclude>target/**</exclude>
+            <exclude>output/**</exclude>
+            <exclude>test-output/**</exclude>
+            <exclude>jbossdb/**</exclude>
+            <exclude>*.jdb</exclude>
+            <exclude>*.iml</exclude>
+            <exclude>*.ipr</exclude>
+            <exclude>*.iws</exclude>
+            <exclude>*.log</exclude>
+            <exclude>*.lck</exclude>
+         </excludes>
+      </fileSet>
+   </fileSets>
+</assembly>
\ No newline at end of file

Modified: core/trunk/pom.xml
===================================================================
--- core/trunk/pom.xml	2008-09-02 07:39:10 UTC (rev 6663)
+++ core/trunk/pom.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -14,7 +14,7 @@
    <parent>
       <groupId>org.jboss.cache</groupId>
       <artifactId>jbosscache-common-parent</artifactId>
-      <version>1.3</version>
+      <version>1.4</version>
    </parent>
    <groupId>org.jboss.cache</groupId>
    <artifactId>jbosscache-core</artifactId>
@@ -131,6 +131,7 @@
                         <descriptor>assembly/bin.xml</descriptor>
                         <descriptor>assembly/doc.xml</descriptor>
                         <descriptor>assembly/all.xml</descriptor>
+                        <descriptor>assembly/src.xml</descriptor>
                      </descriptors>
                      <finalName>${artifactId}-${jbosscache-core-version}</finalName>
                      <outputDirectory>target/distribution</outputDirectory>

Copied: core/trunk/src/main/release/README-Demo.txt (from rev 6647, core/trunk/README-i18n.txt)
===================================================================
--- core/trunk/src/main/release/README-Demo.txt	                        (rev 0)
+++ core/trunk/src/main/release/README-Demo.txt	2008-09-02 07:40:01 UTC (rev 6664)
@@ -0,0 +1,10 @@
+JBoss Cache GUI Demo
+--------------------
+
+JBoss Cache comes with a GUI demo, to visually demonstrate state being moved around a cluster.
+
+The demo is available for download on
+
+   http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=102339
+
+- Manik Surtani

Deleted: core/trunk/src/main/release/build.xml
===================================================================
--- core/trunk/src/main/release/build.xml	2008-09-02 07:39:10 UTC (rev 6663)
+++ core/trunk/src/main/release/build.xml	2008-09-02 07:40:01 UTC (rev 6664)
@@ -1,158 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JBoss Cache Core Distribution" default="help">
-
-   <property name="build.sysclasspath" value="ignore"/>
-   <!-- 10 mins -->
-   <property name="single.test.timeout" value="600000"/>
-   <!-- 2h -->
-   <property name="all.test.timeout" value="7200000"/>
-
-   <property name="source" value="${basedir}/test"/>
-   <property name="output" value="${basedir}/output"/>
-   <property name="build" value="${output}/classes"/>
-   <property name="lib" value="${basedir}/lib"/>
-   <property name="resources" value="${basedir}/resources"/>
-   <property name="reports" value="${output}/reports"/>
-
-   <!-- JVM args for when running tests -->
-   <property name="jvm.ipv4" value="-Djava.net.preferIPv4Stack=true"/>
-   <property name="jvm.localhost" value="-Dbind.address=127.0.0.1"/>
-   <property name="jvm.ms" value="-Xms128M"/>
-   <property name="jvm.mx" value="-Xms1024M"/>
-   <property name="demo.cfg.file" value="META-INF/total-replication-cache.xml"/>
-
-   <property environment="env"/>
-
-
-   <!-- Test if JDK5 is available -->
-   <available classname="java.lang.Enum" property="HAVE_JDK_1.5"/>
-
-   <taskdef name="testng" classpath="lib/test/testng.jar" classname="org.testng.TestNGAntTask"/>
-
-   <!-- set local properties for this build -->
-   <path id="lib.classpath">
-      <fileset dir="${lib}">
-         <include name="**/*.jar"/>
-      </fileset>
-   </path>
-
-   <path id="cache.classpath">
-      <fileset dir="${basedir}">
-         <include name="jbosscache-core.jar"/>
-      </fileset>
-   </path>
-
-   <path id="build.classpath">
-      <pathelement path="${build}"/>
-   </path>
-
-   <path id="test.classpath">
-      <path refid="build.classpath"/>
-      <path refid="cache.classpath"/>
-      <path refid="lib.classpath"/>
-      <pathelement path="${resources}"/>
-      <!-- this needs to be in the test classpath as well since it contains test configuration XML files -->
-      <pathelement path="${source}"/>
-   </path>
-
-   <target name="help" description="help page">
-      <echo><![CDATA[
-build.sh <command> where command is:
-         compile       -- compile the test code
-         clean         -- clean up the whole directory
-         run.tests     -- run batch examples
-         one.test      -- run one single test case. Need -Dtest=org/jboss/cache/??Test
-         run.demo      -- run demo GUI
-
-     ]]></echo>
-   </target>
-
-   <target name="chkJdk" unless="HAVE_JDK_1.5">
-      <echo>
-         **** FATAL
-         **** REQUIRES JDK 1.5.0 or greater.
-         **** Compilation won't proceed!
-      </echo>
-   </target>
-
-   <!-- set up directory -->
-   <target name="init" depends="chkJdk" description="Prepare to build.">
-      <!-- Create the time stamp -->
-      <tstamp/>
-      <!-- Create the build directory structure used by compile
-and copy the deployment descriptors into it-->
-      <mkdir dir="${build}"/>
-      <mkdir dir="${reports}"/>
-   </target>
-
-   <target name="clean" description="Clean up compiled classes">
-      <delete dir="${output}"/>
-   </target>
-
-   <target name="compile" depends="init" description="Build unit test classes" if="HAVE_JDK_1.5">
-      <javac srcdir="${source}"
-             destdir="${build}"
-             includes="org/jboss/**"
-             target="1.5"
-             source="1.5"
-             debug="true"
-             deprecation="false">
-         <classpath>
-            <path refid="lib.classpath"/>
-            <path refid="cache.classpath"/>
-         </classpath>
-      </javac>
-
-      <copy todir="${output}/etc">
-         <fileset dir="${resources}">
-            <include name="**/*"/>
-         </fileset>
-      </copy>
-   </target>
-
-
-   <!-- eg. ant run.examples -Dtest=org/jboss/test/cache/api/CacheAPITest -->
-   <target name="one.test" depends="compile" description="run one TestNG test case.">
-      <testng
-            outputDir="${reports}"
-            haltOnFailure="true"
-            timeOut="${single.test.timeout}"
-            verbose="2">
-         <classpath refid="test.classpath"/>
-         <classfileset dir="${build}" includes="${test}.class"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-         <jvmarg value="${jvm.ms}"/>
-         <jvmarg value="${jvm.mx}"/>
-      </testng>
-   </target>
-
-   <target name="run.tests" depends="compile" description="run TestNG test cases.">
-      <testng
-            outputDir="${reports}"
-            haltOnFailure="true"
-            timeOut="${all.test.timeout}"
-            verbose="2">
-         <classpath>
-            <path refid="test.classpath"/>
-         </classpath>
-         <classfileset dir="${build}" includes="**/*Test.class"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-      </testng>
-   </target>
-
-   <target name="run.demo" depends="compile" description="Run JBoss Cache demo.">
-      <java classname="org.jboss.cache.demo.JBossCacheView" fork="yes">
-         <jvmarg value="-Xmx128M"/>
-         <classpath refid="test.classpath"/>
-         <jvmarg value="${jvm.ipv4}"/>
-         <jvmarg value="${jvm.localhost}"/>
-         <arg value="-console"/>
-         <arg value="-config"/>
-         <arg value="${demo.cfg.file}"/>
-      </java>
-   </target>
-
-</project>




More information about the jbosscache-commits mailing list