diff --git a/LICENSE.txt b/LICENSE
similarity index 100%
rename from LICENSE.txt
rename to LICENSE
diff --git a/asterix-algebra/pom.xml b/asterix-algebra/pom.xml
index c08c640..4bcc139 100644
--- a/asterix-algebra/pom.xml
+++ b/asterix-algebra/pom.xml
@@ -34,6 +34,10 @@
 		</license>
 	</licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 	<build>
 		<plugins>
 			<plugin>
diff --git a/asterix-app/pom.xml b/asterix-app/pom.xml
index 85c9336..46ee7b0 100644
--- a/asterix-app/pom.xml
+++ b/asterix-app/pom.xml
@@ -34,6 +34,10 @@
         </license>
     </licenses>
 
+    <properties>
+        <appendedResourcesDirectory>${basedir}/src/main/appended-resources</appendedResourcesDirectory>
+    </properties>
+
     <build>
         <plugins>
             <plugin>
diff --git a/asterix-app/src/main/appended-resources/META-INF/LICENSE b/asterix-app/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000..420a1a3
--- /dev/null
+++ b/asterix-app/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,31 @@
+-----------------------------------------------------------------------
+
+ASTERIXDB COMPONENTS:
+
+AsterixDB includes a number of subcomponents with separate copyright
+notices and license terms. Your use of the source code for these
+subcomponents is subject to the terms and condition of the following
+licenses.
+
+
+-----------------------------------------------------------------------
+ The MIT License
+-----------------------------------------------------------------------
+
+ - jQuery
+ - Bootstrap
+ - Smoothie Charts
+ - Bottle
+ - geostats
+
+The text of The MIT License is below for convenience. Refer to the website of each project for exact details.
+
+The MIT License (MIT)
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/asterix-app/src/main/appended-resources/supplemental-models.xml b/asterix-app/src/main/appended-resources/supplemental-models.xml
new file mode 120000
index 0000000..a3e53f9
--- /dev/null
+++ b/asterix-app/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1 @@
+../../../../src/main/appended-resources/supplemental-models.xml
\ No newline at end of file
diff --git a/asterix-aql/pom.xml b/asterix-aql/pom.xml
index 0224a51..9a2b855 100644
--- a/asterix-aql/pom.xml
+++ b/asterix-aql/pom.xml
@@ -33,6 +33,10 @@
         </license>
     </licenses>
 
+    <properties>
+        <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+    </properties>
+
     <artifactId>asterix-aql</artifactId>
     <build>
         <plugins>
diff --git a/asterix-common/pom.xml b/asterix-common/pom.xml
index 39cb529..0b87211 100644
--- a/asterix-common/pom.xml
+++ b/asterix-common/pom.xml
@@ -1,18 +1,18 @@
-<!-- 
+<!--
  ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
+ ! or more contributor license agreements. See the NOTICE file
  ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
+ ! 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
+ ! with the License. You may obtain a copy of the License at
  !
- !   http://www.apache.org/licenses/LICENSE-2.0
+ ! 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
+ ! KIND, either express or implied.	See the License for the
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
@@ -25,14 +25,18 @@
 	</parent>
 	<artifactId>asterix-common</artifactId>
 
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-      <comments>A business-friendly OSS license</comments>
-    </license>
-  </licenses>
+	<licenses>
+		<license>
+			<name>Apache License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+			<distribution>repo</distribution>
+			<comments>A business-friendly OSS license</comments>
+		</license>
+	</licenses>
+
+	<properties>
+			<appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+	</properties>
 
 	<build>
 		<plugins>
@@ -162,6 +166,11 @@
 				<configuration>
 					<includes>
 						<include>**/*.class</include>
+						<include>**/README*</include>
+						<include>**/DISCLAIMER*</include>
+						<include>**/NOTICE*</include>
+						<include>**/LICENSE*</include>
+						<include>**/DEPENDENCIES*</include>
 					</includes>
 				</configuration>
 				<executions>
diff --git a/asterix-doc/pom.xml b/asterix-doc/pom.xml
index 8f8ef5b..47e5330 100644
--- a/asterix-doc/pom.xml
+++ b/asterix-doc/pom.xml
@@ -35,6 +35,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
   <artifactId>asterix-doc</artifactId>
   <build>
     <plugins>
diff --git a/asterix-events/pom.xml b/asterix-events/pom.xml
index 6e63957..a1f2bb9 100644
--- a/asterix-events/pom.xml
+++ b/asterix-events/pom.xml
@@ -37,9 +37,9 @@
     </license>
   </licenses>
 
-
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
 	</properties>
 
 	<build>
diff --git a/asterix-events/src/main/assembly/binary-assembly.xml b/asterix-events/src/main/assembly/binary-assembly.xml
index 022d8c9..65143c3 100644
--- a/asterix-events/src/main/assembly/binary-assembly.xml
+++ b/asterix-events/src/main/assembly/binary-assembly.xml
@@ -39,6 +39,11 @@
       <outputDirectory>target</outputDirectory>
       <includes>
         <include>*.jar</include>
+        <include>README*</include>
+        <include>DISCLAIMER*</include>
+        <include>NOTICE*</include>
+        <include>LICENSE*</include>
+        <include>DEPENDENCIES*</include>
       </includes>
     </fileSet>
   </fileSets>
diff --git a/asterix-events/src/main/java/org/apache/asterix/event/service/AsterixEventServiceUtil.java b/asterix-events/src/main/java/org/apache/asterix/event/service/AsterixEventServiceUtil.java
index 06b0f9a..648ef94 100644
--- a/asterix-events/src/main/java/org/apache/asterix/event/service/AsterixEventServiceUtil.java
+++ b/asterix-events/src/main/java/org/apache/asterix/event/service/AsterixEventServiceUtil.java
@@ -362,6 +362,7 @@
         ZipEntry entry = null;
 
         int BUFFER_SIZE = 4096;
+        createDir(destDir);
         while ((entry = zis.getNextEntry()) != null) {
             String dst = destDir + File.separator + entry.getName();
             if (entry.isDirectory()) {
@@ -471,6 +472,11 @@
         newDirs.mkdirs();
     }
 
+    private static void createDir(String destDirectory) {
+        File newDirs = new File(destDirectory + File.separator);
+        newDirs.mkdirs();
+    }
+
     public static AsterixInstance validateAsterixInstanceExists(String name, State... permissibleStates)
             throws Exception {
         AsterixInstance instance = ServiceProvider.INSTANCE.getLookupService().getAsterixInstance(name);
diff --git a/asterix-examples/pom.xml b/asterix-examples/pom.xml
index e23c739..f933969 100644
--- a/asterix-examples/pom.xml
+++ b/asterix-examples/pom.xml
@@ -34,40 +34,9 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
 
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.2-beta-5</version>
-				<executions>
-					<execution>
-						<id>admaql101-demo-binary-assembly</id>
-						<configuration>
-							<appendAssemblyId>false</appendAssemblyId>
-							<finalName>admaql101-demo</finalName>
-							<descriptor>src/main/assembly/admaql101-demo-binary-assembly.xml</descriptor>
-						</configuration>
-						<phase>package</phase>
-						<goals>
-							<goal>single</goal>
-						</goals>
-					</execution>
-					<execution>
-						<id>tweetbook-demo-binary-assembly</id>
-						<configuration>
-							<appendAssemblyId>false</appendAssemblyId>
-							<finalName>tweetbook-demo</finalName>
-							<descriptor>src/main/assembly/tweetbook-demo-binary-assembly.xml</descriptor>
-						</configuration>
-						<phase>package</phase>
-						<goals>
-							<goal>single</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
 	<packaging>pom</packaging>
 </project> 
diff --git a/asterix-examples/src/main/appended-resources/META-INF/LICENSE b/asterix-examples/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000..420a1a3
--- /dev/null
+++ b/asterix-examples/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,31 @@
+-----------------------------------------------------------------------
+
+ASTERIXDB COMPONENTS:
+
+AsterixDB includes a number of subcomponents with separate copyright
+notices and license terms. Your use of the source code for these
+subcomponents is subject to the terms and condition of the following
+licenses.
+
+
+-----------------------------------------------------------------------
+ The MIT License
+-----------------------------------------------------------------------
+
+ - jQuery
+ - Bootstrap
+ - Smoothie Charts
+ - Bottle
+ - geostats
+
+The text of The MIT License is below for convenience. Refer to the website of each project for exact details.
+
+The MIT License (MIT)
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/asterix-external-data/pom.xml b/asterix-external-data/pom.xml
index e9c23ea..ab04328 100644
--- a/asterix-external-data/pom.xml
+++ b/asterix-external-data/pom.xml
@@ -35,6 +35,10 @@
 
 	<artifactId>asterix-external-data</artifactId>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 	<build>
 		<plugins>
 			<plugin>
@@ -76,6 +80,10 @@
 					<includes>
 						<include>**/*.class</include>
 						<include>**/*.txt</include>
+						<include>**/DISCLAIMER</include>
+						<include>**/NOTICE</include>
+						<include>**/LICENSE</include>
+						<include>**/DEPENDENCIES</include>
 					</includes>
 				</configuration>
 				<executions>
diff --git a/asterix-fuzzyjoin/pom.xml b/asterix-fuzzyjoin/pom.xml
index 39afd1c..1f7ded2 100644
--- a/asterix-fuzzyjoin/pom.xml
+++ b/asterix-fuzzyjoin/pom.xml
@@ -36,6 +36,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
   <build>
     <plugins>
       <plugin>
@@ -64,6 +68,15 @@
         </executions>
         <configuration>
           <outputDirectory>${basedir}/target</outputDirectory>
+          <includes>
+              <include>**/*.class</include>
+              <include>**/*.txt</include>
+              <include>**/README*</include>
+              <include>**/DISCLAIMER*</include>
+              <include>**/NOTICE*</include>
+              <include>**/LICENSE*</include>
+              <include>**/DEPENDENCIES*</include>
+          </includes>
         </configuration>
       </plugin>
     </plugins>
diff --git a/asterix-installer/pom.xml b/asterix-installer/pom.xml
index 0be54d9..90aca08 100644
--- a/asterix-installer/pom.xml
+++ b/asterix-installer/pom.xml
@@ -28,6 +28,7 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<failsafe.test.excludes>**/DmlRecoveryIT.java</failsafe.test.excludes>
         <cluster.test.excludes>**/AsterixClusterLifeCycleIT.java</cluster.test.excludes>
+        <appendedResourcesDirectory>${basedir}/src/main/appended-resources</appendedResourcesDirectory>
 	</properties>
 
   <licenses>
diff --git a/asterix-installer/src/main/appended-resources/META-INF/LICENSE b/asterix-installer/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000..420a1a3
--- /dev/null
+++ b/asterix-installer/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,31 @@
+-----------------------------------------------------------------------
+
+ASTERIXDB COMPONENTS:
+
+AsterixDB includes a number of subcomponents with separate copyright
+notices and license terms. Your use of the source code for these
+subcomponents is subject to the terms and condition of the following
+licenses.
+
+
+-----------------------------------------------------------------------
+ The MIT License
+-----------------------------------------------------------------------
+
+ - jQuery
+ - Bootstrap
+ - Smoothie Charts
+ - Bottle
+ - geostats
+
+The text of The MIT License is below for convenience. Refer to the website of each project for exact details.
+
+The MIT License (MIT)
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/asterix-installer/src/main/appended-resources/supplemental-models.xml b/asterix-installer/src/main/appended-resources/supplemental-models.xml
new file mode 120000
index 0000000..a3e53f9
--- /dev/null
+++ b/asterix-installer/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1 @@
+../../../../src/main/appended-resources/supplemental-models.xml
\ No newline at end of file
diff --git a/asterix-installer/src/main/assembly/binary-assembly.xml b/asterix-installer/src/main/assembly/binary-assembly.xml
index d25281e..564a85e 100644
--- a/asterix-installer/src/main/assembly/binary-assembly.xml
+++ b/asterix-installer/src/main/assembly/binary-assembly.xml
@@ -70,6 +70,16 @@
 			</includes>
 		</fileSet>
 		<fileSet>
+			<directory>target/classes/META-INF</directory>
+			<outputDirectory>.</outputDirectory>
+			<includes>
+				<include>LICENSE*</include>
+				<include>NOTICE*</include>
+				<include>DISCLAIMER*</include>
+				<include>DEPENDENCIES*</include>
+			</includes>
+		</fileSet>
+		<fileSet>
 			<directory>../asterix-events/src/main/resources/events</directory>
 			<outputDirectory>.installer/events</outputDirectory>
 			<fileMode>0755</fileMode>
diff --git a/asterix-maven-plugins/lexer-generator-maven-plugin/pom.xml b/asterix-maven-plugins/lexer-generator-maven-plugin/pom.xml
index fafa1d2..f50c9e0 100644
--- a/asterix-maven-plugins/lexer-generator-maven-plugin/pom.xml
+++ b/asterix-maven-plugins/lexer-generator-maven-plugin/pom.xml
@@ -29,6 +29,10 @@
   <packaging>maven-plugin</packaging>
   <name>lexer-generator-maven-plugin</name>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
   <build>
     <plugins>
       <plugin>
diff --git a/asterix-maven-plugins/pom.xml b/asterix-maven-plugins/pom.xml
index f896cf3..a2a6589 100644
--- a/asterix-maven-plugins/pom.xml
+++ b/asterix-maven-plugins/pom.xml
@@ -31,6 +31,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 
 	<parent>
 		<artifactId>asterix</artifactId>
diff --git a/asterix-maven-plugins/record-manager-generator-maven-plugin/pom.xml b/asterix-maven-plugins/record-manager-generator-maven-plugin/pom.xml
index 15074e0..875a6e9 100644
--- a/asterix-maven-plugins/record-manager-generator-maven-plugin/pom.xml
+++ b/asterix-maven-plugins/record-manager-generator-maven-plugin/pom.xml
@@ -29,6 +29,10 @@
   <packaging>maven-plugin</packaging>
   <name>record-manager-generator-maven-plugin</name>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
   <build>
     <plugins>
       <plugin>
diff --git a/asterix-metadata/pom.xml b/asterix-metadata/pom.xml
index 8149c5b..438cb6e 100644
--- a/asterix-metadata/pom.xml
+++ b/asterix-metadata/pom.xml
@@ -1,18 +1,18 @@
 <!-- 
  ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
+ ! or more contributor license agreements.See the NOTICE file
  ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
+ ! 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
+ ! with the License.You may obtain a copy of the License at
  !
- !   http://www.apache.org/licenses/LICENSE-2.0
+ ! 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
+ ! KIND, either express or implied.See the License for the
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
@@ -25,14 +25,18 @@
 	</parent>
 	<artifactId>asterix-metadata</artifactId>
 
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-      <comments>A business-friendly OSS license</comments>
-    </license>
-  </licenses>
+	<licenses>
+		<license>
+			<name>Apache License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+			<distribution>repo</distribution>
+			<comments>A business-friendly OSS license</comments>
+		</license>
+	</licenses>
+
+	<properties>
+		<appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+	</properties>
 
 	<build>
 		<plugins>
@@ -92,11 +96,10 @@
 			<groupId>org.apache.hyracks</groupId>
 			<artifactId>hyracks-storage-am-lsm-rtree</artifactId>
 		</dependency>
-                <dependency>
-                        <groupId>org.apache.hyracks</groupId>
-                        <artifactId>hyracks-hdfs-core</artifactId>
-                        <version>${hyracks.version}</version>
-                </dependency>
-
+		<dependency>
+			<groupId>org.apache.hyracks</groupId>
+			<artifactId>hyracks-hdfs-core</artifactId>
+			<version>${hyracks.version}</version>
+		</dependency>
 	</dependencies>
 </project>
diff --git a/asterix-om/pom.xml b/asterix-om/pom.xml
index 85a6928..bd8f55b 100644
--- a/asterix-om/pom.xml
+++ b/asterix-om/pom.xml
@@ -49,6 +49,10 @@
 		</plugins>
 	</build>
 
+    <properties>
+        <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+    </properties>
+
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.asterix</groupId>
diff --git a/asterix-runtime/pom.xml b/asterix-runtime/pom.xml
index 4fb1b8b..1591b06 100644
--- a/asterix-runtime/pom.xml
+++ b/asterix-runtime/pom.xml
@@ -35,6 +35,10 @@
   </licenses>
 
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 	<build>
 		<plugins>
 			<plugin>
diff --git a/asterix-server/pom.xml b/asterix-server/pom.xml
index 45a1cc9..d5e1ff5 100644
--- a/asterix-server/pom.xml
+++ b/asterix-server/pom.xml
@@ -35,6 +35,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
   <build>
     <plugins>
       <plugin>
diff --git a/asterix-server/src/main/assembly/binary-assembly.xml b/asterix-server/src/main/assembly/binary-assembly.xml
index d5f50a9..6aab0cf 100644
--- a/asterix-server/src/main/assembly/binary-assembly.xml
+++ b/asterix-server/src/main/assembly/binary-assembly.xml
@@ -25,6 +25,17 @@
   <includeBaseDirectory>false</includeBaseDirectory>
   <fileSets>
     <fileSet>
+        <directory>target/classes/META-INF</directory>
+        <outputDirectory>.</outputDirectory>
+        <includes>
+            <include>LICENSE*</include>
+            <include>NOTICE*</include>
+            <include>DISCLAIMER*</include>
+            <include>DEPENDENCIES*</include>
+        </includes>
+    </fileSet>
+
+    <fileSet>
       <directory>target/appassembler/repo</directory>
       <outputDirectory>repo</outputDirectory>
     </fileSet>
@@ -37,8 +48,8 @@
       <directory>target/generated-resources/appassembler/booter-windows/etc</directory>
       <outputDirectory>bin</outputDirectory>
       <includes>
-      	<include>asterixcc.xml</include>
-      	<include>asterixnc.xml</include>
+        <include>asterixcc.xml</include>
+        <include>asterixnc.xml</include>
       </includes>
     </fileSet>
 
diff --git a/asterix-test-framework/pom.xml b/asterix-test-framework/pom.xml
index 7bbbacb..94c3eeb 100644
--- a/asterix-test-framework/pom.xml
+++ b/asterix-test-framework/pom.xml
@@ -34,6 +34,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 	<build>
 		<plugins>
 			<plugin>
diff --git a/asterix-tools/pom.xml b/asterix-tools/pom.xml
index be3efce..cfe1aef 100644
--- a/asterix-tools/pom.xml
+++ b/asterix-tools/pom.xml
@@ -1,18 +1,18 @@
 <!--
  ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
+ ! or more contributor license agreements.See the NOTICE file
  ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
+ ! 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
+ ! with the License.You may obtain a copy of the License at
  !
- !   http://www.apache.org/licenses/LICENSE-2.0
+ ! 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
+ ! KIND, either express or implied.See the License for the
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
@@ -25,14 +25,18 @@
 	</parent>
 	<artifactId>asterix-tools</artifactId>
 
-  <licenses>
-    <license>
-      <name>Apache License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-      <distribution>repo</distribution>
-      <comments>A business-friendly OSS license</comments>
-    </license>
-  </licenses>
+	<licenses>
+		<license>
+			<name>Apache License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+			<distribution>repo</distribution>
+			<comments>A business-friendly OSS license</comments>
+		</license>
+	</licenses>
+
+	<properties>
+			<appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+	</properties>
 
 	<build>
 		<plugins>
@@ -47,72 +51,19 @@
 				</configuration>
 			</plugin>
 			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-jar-plugin</artifactId>
 				<version>2.4</version>
-				<executions>
-					<execution>
-						<id>aqlclient</id>
-						<goals>
-							<goal>jar</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<classifier>aqlclient</classifier>
-							<archive>
-								<manifest>
-									<MainClass>org.apache.asterix.tools.aqlclient.AqlClient</MainClass>
-								</manifest>
-							</archive>
-							<includes>
-								<include>**/uci/ics/asterix/tools/aqlclient/*</include>
-							</includes>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>appassembler-maven-plugin</artifactId>
-				<version>1.0</version>
-				<executions>
-					<execution>
-						<configuration>
-							<programs>
-								<program>
-									<mainClass>org.apache.asterix.tools.TblToAdm</mainClass>
-									<name>tbl2adm</name>
-								</program>
-								<program>
-									<mainClass>org.apache.asterix.tools.datagen.AdgClientDriver</mainClass>
-									<name>adg</name>
-								</program>
-							</programs>
-							<repositoryLayout>flat</repositoryLayout>
-							<repositoryName>lib</repositoryName>
-						</configuration>
-						<phase>package</phase>
-						<goals>
-							<goal>assemble</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.2-beta-5</version>
-				<executions>
-					<execution>
-						<configuration>
-							<descriptors>
-								<descriptor>src/main/assembly/binary-assembly.xml</descriptor>
-							</descriptors>
-						</configuration>
-						<phase>package</phase>
-						<goals>
-							<goal>attached</goal>
-						</goals>
-					</execution>
-				</executions>
+				<configuration>
+					<includes>
+						<include>**/*.class</include>
+						<include>**/README*</include>
+						<include>**/DISCLAIMER*</include>
+						<include>**/NOTICE*</include>
+						<include>**/LICENSE*</include>
+						<include>**/DEPENDENCIES*</include>
+					</includes>
+				</configuration>
 			</plugin>
 		</plugins>
 	</build>
diff --git a/asterix-transactions/pom.xml b/asterix-transactions/pom.xml
index 3afeac3..ea4179c 100644
--- a/asterix-transactions/pom.xml
+++ b/asterix-transactions/pom.xml
@@ -34,6 +34,10 @@
     </license>
   </licenses>
 
+  <properties>
+      <appendedResourcesDirectory>${basedir}/../src/main/appended-resources</appendedResourcesDirectory>
+  </properties>
+
 	<build>
 		<plugins>
 			<plugin>
diff --git a/asterix-yarn/pom.xml b/asterix-yarn/pom.xml
index ad09e7f..ee6c203 100644
--- a/asterix-yarn/pom.xml
+++ b/asterix-yarn/pom.xml
@@ -1,18 +1,18 @@
 <!--
  ! Licensed to the Apache Software Foundation (ASF) under one
- ! or more contributor license agreements.  See the NOTICE file
+ ! or more contributor license agreements.See the NOTICE file
  ! distributed with this work for additional information
- ! regarding copyright ownership.  The ASF licenses this file
+ ! 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
+ ! with the License.You may obtain a copy of the License at
  !
- !   http://www.apache.org/licenses/LICENSE-2.0
+ !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
+ ! KIND, either express or implied.See the License for the
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
@@ -25,6 +25,10 @@
 	</parent>
 	<artifactId>asterix-yarn</artifactId>
 
+	<properties>
+		<appendedResourcesDirectory>${basedir}/src/main/appended-resources</appendedResourcesDirectory>
+	</properties>
+
 	<build>
 		<plugins>
 			<plugin>
@@ -54,7 +58,12 @@
 								</manifest>
 							</archive>
 							<includes>
-								<include>**/uci/ics/asterix/tools/aoya/*</include>
+								<include>**/org/apache/asterix/aoya/*</include>
+								<include>**/README*</include>
+								<include>**/DISCLAIMER*</include>
+								<include>**/LICENSE*</include>
+								<include>**/NOTICE*</include>
+								<include>**/DEPENDENCIES*</include>
 							</includes>
 						</configuration>
 					</execution>
@@ -151,25 +160,25 @@
 			<version>0.8.8-SNAPSHOT</version>
 			<scope>test</scope>
 		</dependency>
-        <dependency>
-            <groupId>org.apache.asterix</groupId>
-            <artifactId>asterix-common</artifactId>
-            <version>0.8.8-SNAPSHOT</version>
-        </dependency>
+		<dependency>
+			<groupId>org.apache.asterix</groupId>
+			<artifactId>asterix-common</artifactId>
+			<version>0.8.8-SNAPSHOT</version>
+		</dependency>
 		<dependency>
 			<groupId>org.apache.hadoop</groupId>
 			<artifactId>hadoop-yarn-common</artifactId>
-            <scope>provided</scope>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.hadoop</groupId>
 			<artifactId>hadoop-yarn-client</artifactId>
-            <scope>provided</scope>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.hadoop</groupId>
 			<artifactId>hadoop-common</artifactId>
-            <scope>provided</scope>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>commons-codec</groupId>
@@ -196,7 +205,6 @@
 			<artifactId>commons-configuration</artifactId>
 			<version>1.6</version>
 		</dependency>
-
 		<dependency>
 			<groupId>commons-cli</groupId>
 			<artifactId>commons-cli</artifactId>
diff --git a/asterix-yarn/src/main/appended-resources/META-INF/LICENSE b/asterix-yarn/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000..420a1a3
--- /dev/null
+++ b/asterix-yarn/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,31 @@
+-----------------------------------------------------------------------
+
+ASTERIXDB COMPONENTS:
+
+AsterixDB includes a number of subcomponents with separate copyright
+notices and license terms. Your use of the source code for these
+subcomponents is subject to the terms and condition of the following
+licenses.
+
+
+-----------------------------------------------------------------------
+ The MIT License
+-----------------------------------------------------------------------
+
+ - jQuery
+ - Bootstrap
+ - Smoothie Charts
+ - Bottle
+ - geostats
+
+The text of The MIT License is below for convenience. Refer to the website of each project for exact details.
+
+The MIT License (MIT)
+
+Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/asterix-yarn/src/main/appended-resources/supplemental-models.xml b/asterix-yarn/src/main/appended-resources/supplemental-models.xml
new file mode 120000
index 0000000..a3e53f9
--- /dev/null
+++ b/asterix-yarn/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1 @@
+../../../../src/main/appended-resources/supplemental-models.xml
\ No newline at end of file
diff --git a/asterix-yarn/src/main/assembly/binary-assembly.xml b/asterix-yarn/src/main/assembly/binary-assembly.xml
index f7106f0..9905c7d 100644
--- a/asterix-yarn/src/main/assembly/binary-assembly.xml
+++ b/asterix-yarn/src/main/assembly/binary-assembly.xml
@@ -17,13 +17,23 @@
  ! under the License.
  !-->
 <assembly>
-	<id>binary-assembly</id>
-	<formats>
+    <id>binary-assembly</id>
+    <formats>
         <format>dir</format>
         <format>zip</format>
-	</formats>
-	<includeBaseDirectory>false</includeBaseDirectory>
-	<fileSets>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <fileSets>
+        <fileSet>
+            <directory>target/classes/META-INF</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>LICENSE*</include>
+                <include>NOTICE*</include>
+                <include>DISCLAIMER*</include>
+                <include>DEPENDENCIES*</include>
+            </includes>
+        </fileSet>
         <fileSet>
             <directory>src/main/resources/scripts</directory>
             <fileMode>0755</fileMode>
@@ -64,7 +74,7 @@
             </includes>
             <outputDirectory>conf</outputDirectory>
         </fileSet>
-	</fileSets>
+    </fileSets>
     <dependencySets>
         <dependencySet>
             <includes>
diff --git a/pom.xml b/pom.xml
index c9e26dd..546ccf1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,6 +43,7 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <jvm.extraargs />
         <runSlowAQLTests>false</runSlowAQLTests>
+        <appendedResourcesDirectory>${basedir}/src/main/appended-resources</appendedResourcesDirectory>
 
     <!-- Definition of tests in various categories which may be excluded -->
         <optimizer.tests>**/optimizer/**/*Test.java</optimizer.tests>
@@ -168,6 +169,36 @@
                   </execution>
               </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                        <configuration>
+                            <appendedResourcesDirectory>${appendedResourcesDirectory}</appendedResourcesDirectory>
+                            <resourceBundles>
+                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
+                                <resourceBundle>org.apache:apache-incubator-disclaimer-resource-bundle:1.1</resourceBundle>
+                            </resourceBundles>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.10.3</version>
+                <configuration>
+                    <additionalparam>-Xdoclint:none</additionalparam>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/src/main/appended-resources/supplemental-models.xml b/src/main/appended-resources/supplemental-models.xml
new file mode 100644
index 0000000..1ebd3f2
--- /dev/null
+++ b/src/main/appended-resources/supplemental-models.xml
@@ -0,0 +1,742 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<supplementalDataModels>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <name>Sun JAXB Reference Implementation Runtime</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-xjc</artifactId>
+      <name>Sun JAXB Reference Implementation Tools</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.messaging.saaj</groupId>
+      <artifactId>saaj-impl</artifactId>
+      <name>Sun SAAJ Reference Implementation</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.soap</groupId>
+      <artifactId>saaj-api</artifactId>
+      <name>Sun SAAJ API</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.neethi</groupId>
+      <artifactId>neethi</artifactId>
+      <name>Neethi</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <name>Apache Xalan-Java</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>net.java.dev.stax-utils</groupId>
+      <artifactId>stax-utils</artifactId>
+      <name>StAX Utilities</name>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>wss4j</groupId>
+      <artifactId>wss4j</artifactId>
+      <name>Apache WSS4J</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+      <name>JDOM</name>
+      <organization>
+        <name>jdom.org</name>
+        <url>http://www.jdom.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Modified Apache Software License</name>
+          <url>licenses/jdom.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-security</groupId>
+      <artifactId>xmlsec</artifactId>
+      <name>XML Security</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <name>XML APIs</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <name>Apache Ant</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant-nodeps</artifactId>
+      <name>Apache Ant (nodeps)</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <name>Jettison</name>
+      <organization>
+        <name>Envoi Solutions LLC</name>
+        <url>http://www.envoisolutions.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://jettison.codehaus.org/License</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <name>Apache Commons Codec</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <name>Apache Commons Collections</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <name>Apache Commons BeanUtils</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-jexl</groupId>
+      <artifactId>commons-jexl</artifactId>
+      <name>Apache Commons JEXL</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <name>Apache Commons Logging</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging-api</artifactId>
+      <name>Apache Commons Logging Api</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-pool</groupId>
+      <artifactId>commons-pool</artifactId>
+      <name>Apache Commons Pool</name>
+      <url>http://commons.apache.org/pool</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-vfs</groupId>
+      <artifactId>commons-vfs</artifactId>
+      <name>Apache Commons VFS</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <name>Apache Commons Codec</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.aries.blueprint</groupId>
+      <artifactId>org.apache.aries.blueprint</artifactId>
+      <name>Apache Aries Blueprint</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-core</artifactId>
+      <name>ActiveMQ :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <name>Camel :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-classloader</artifactId>
+      <name>XBean :: Classloader</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <name>SLF4J API Module</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <name>SLF4J JDK14 Binding</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <name>Log4j</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-classworlds</artifactId>
+      <name>Plexus Classworlds</name>
+      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
+      <organization>
+        <name>Codehaus</name>
+        <url>http://www.codehaus.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+      <name>JLine</name>
+      <url>http://jline.sourceforge.net</url>
+      <organization>
+        <name>JLine</name>
+        <url>http://jline.sourceforge.net</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://jline.sourceforge.net/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <name>Jetty Server</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <name>Jetty Utilities</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>aopalliance</groupId>
+      <artifactId>aopalliance</artifactId>
+      <name>XML Pull Parsing API</name>
+      <organization>
+        <name>AOP Alliance</name>
+        <url>http://aopalliance.sourceforge.net/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Public Domain</name>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <name>Java Servlet API</name>
+      <organization>
+        <name>Oracle Corporation</name>
+        <url>http://www.oracle.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.servlet</groupId>
+      <artifactId>jsp-api</artifactId>
+      <name>Java Servlet API</name>
+      <organization>
+        <name>Oracle Corporation</name>
+        <url>http://www.oracle.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.transaction</groupId>
+      <artifactId>jta</artifactId>
+      <name>Java Transaction API</name>
+      <organization>
+        <name>Oracle Corporation</name>
+        <url>http://www.oracle.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.antlr</groupId>
+      <artifactId>antlr-runtime</artifactId>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>rome</groupId>
+      <artifactId>rome</artifactId>
+      <name>ROME</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>oro</groupId>
+      <artifactId>oro</artifactId>
+      <name>Jakarta ORO</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+</supplementalDataModels>
diff --git a/src/main/assembly/source.xml b/src/main/assembly/source.xml
index 23bd1cb..f179a2e 100644
--- a/src/main/assembly/source.xml
+++ b/src/main/assembly/source.xml
@@ -63,5 +63,12 @@
         <exclude>**/${project.build.directory}/**</exclude>
       </excludes>
     </fileSet>
+    <fileSet>
+        <directory>target/maven-shared-archive-resources/META-INF</directory>
+        <outputDirectory>/</outputDirectory>
+        <includes>
+            <include>DEPENDENCIES*</include>
+        </includes>
+    </fileSet>
   </fileSets>
 </assembly>
