diff --git a/src/main/assembly/source-release.xml b/src/main/assembly/source-release.xml
deleted file mode 100644
index 29b6ed4..0000000
--- a/src/main/assembly/source-release.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<assembly>
-  <id>source-release</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <fileSets>
-    <!-- main project directory structure -->
-    <fileSet>
-      <directory>.</directory>
-      <outputDirectory>/</outputDirectory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-      <excludes>
-        <!-- build output -->
-        <!--
-        NOTE: The apache-source-release-assembly-descriptor:1.0 includes stuff from target/ so we're back to a
-        hand-crafted assembly descriptor.
-        -->
-        <exclude>${project.build.directory}/**</exclude>
-        
-        <!-- NOTE: Most of the following excludes should not be required 
-             if the standard release process is followed. This is because the 
-             release plugin checks out project sources into a location like
-             target/checkout, then runs the build from there. The result is
-             a source-release archive that comes from a pretty clean directory
-             structure.
-             
-             HOWEVER, if the release plugin is configured to run extra goals
-             or generate a project website, it's definitely possible that some
-             of these files will be present. So, it's safer to exclude them.
-        -->
-             
-        <!-- IDEs -->
-        <exclude>**/maven-eclipse.xml</exclude>
-        <exclude>**/.project</exclude>
-        <exclude>**/.classpath</exclude>
-        <exclude>**/*.iws</exclude>
-        <exclude>**/*.ipr</exclude>
-        <exclude>**/*.iml</exclude>
-        <exclude>**/.settings</exclude>
-        <exclude>**/.settings/**</exclude>
-        <exclude>**/.externalToolBuilders</exclude>
-        <exclude>**/.externalToolBuilders/**</exclude>
-        <exclude>**/.deployables</exclude>
-        <exclude>**/.deployables/**</exclude>
-        <exclude>**/.wtpmodules</exclude>
-        <exclude>**/.wtpmodules/**</exclude>
-        
-        <!-- misc -->
-        <exclude>**/cobertura.ser</exclude>
-        
-        <!-- release-plugin temp files -->
-        <exclude>**/pom.xml.releaseBackup</exclude>
-        <exclude>**/release.properties</exclude>        
-      </excludes>
-    </fileSet>
-    <!-- license, readme, etc. calculated at build time -->
-    <fileSet>
-      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
-      <outputDirectory>/</outputDirectory>
-    </fileSet>
-  </fileSets>
-</assembly>
