You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2014/07/31 07:51:57 UTC

[1/4] git commit: DRILL-1227: Compatibility for non-firefox browsers.

Repository: incubator-drill
Updated Branches:
  refs/heads/0.4.0-incubating [created] 98b208e26


DRILL-1227: Compatibility for non-firefox browsers.


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/42438596
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/42438596
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/42438596

Branch: refs/heads/0.4.0-incubating
Commit: 42438596cb118f10bb0b8b483df17142c7948d8e
Parents: 0d6befc
Author: Cliff Buchanan <cb...@maprtech.com>
Authored: Wed Jul 30 13:41:25 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Wed Jul 30 18:06:32 2014 -0700

----------------------------------------------------------------------
 exec/java-exec/src/main/resources/rest/www/graph.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/42438596/exec/java-exec/src/main/resources/rest/www/graph.js
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/resources/rest/www/graph.js b/exec/java-exec/src/main/resources/rest/www/graph.js
index 76f39fa..b65c416 100644
--- a/exec/java-exec/src/main/resources/rest/www/graph.js
+++ b/exec/java-exec/src/main/resources/rest/www/graph.js
@@ -68,9 +68,9 @@ $(window).load(function () {
         timetable.sort(function (r1, r2) {
             if (r1.category == r2.category) {
                 //return r1.name > r2.name;
-                return r1.start + r2.end > r1.end + r2.start;
+                return r1.end - r1.start > r2.end - r2.start ? 1 : -1;
             }
-            else return r1.category > r2.category;
+            else return r1.category > r2.category ? 1 : -1;
             
         });
         return timetable;
@@ -271,6 +271,10 @@ $(window).load(function () {
 
     }
 
+    String.prototype.endsWith = function(suffix) {
+        return this.indexOf(suffix, this.length - suffix.length) !== -1;
+    };
+
     loadprofile(globalconfig.queryid, function (profile) {
         setupglobalconfig(profile);
 


[3/4] git commit: DRILL-1230: Add project url, description and mailing lists to Drill pom.xml

Posted by ja...@apache.org.
DRILL-1230: Add project url, description and mailing lists to Drill pom.xml


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/cea40d2e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/cea40d2e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/cea40d2e

Branch: refs/heads/0.4.0-incubating
Commit: cea40d2eafd7cdf3a29f86f4fcd23ed2a026d08b
Parents: 714447a
Author: Aditya Kishore <ad...@maprtech.com>
Authored: Wed Jul 30 16:50:53 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Wed Jul 30 18:06:44 2014 -0700

----------------------------------------------------------------------
 pom.xml | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/cea40d2e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2b6b229..b3017b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,8 @@
   <packaging>pom</packaging>
 
   <name>Apache Drill Root POM</name>
+  <description>Apache Drill is an open source, low latency SQL query engine for Hadoop and NoSQL.</description>
+  <url>http://incubator.apache.org/drill/</url>
 
   <properties>
     <target.gen.source.path>${project.basedir}/target/generated-sources</target.gen.source.path>
@@ -40,6 +42,35 @@
     <tag>HEAD</tag>
   </scm>
 
+  <mailingLists>
+    <mailingList>
+      <name>User List</name>
+      <subscribe>drill-user-subscribe@incubator.apache.org</subscribe>
+      <unsubscribe>drill-user-unsubscribe@incubator.apache.org</unsubscribe>
+      <post>drill-user@incubator.apache.org</post>
+      <archive>https://mail-archives.apache.org/mod_mbox/incubator-drill-user/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Developer List</name>
+      <subscribe>drill-dev-subscribe@incubator.apache.org</subscribe>
+      <unsubscribe>drill-dev-unsubscribe@incubator.apache.org</unsubscribe>
+      <post>drill-dev@incubator.apache.org</post>
+      <archive>https://mail-archives.apache.org/mod_mbox/incubator-drill-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Commits List</name>
+      <subscribe>drill-commits-subscribe@incubator.apache.org</subscribe>
+      <unsubscribe>drill-commits-unsubscribe@incubator.apache.org</unsubscribe>
+      <archive>https://mail-archives.apache.org/mod_mbox/incubator-drill-commits/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Issues List</name>
+      <subscribe>issues-subscribe@drill.incubator.apache.org</subscribe>
+      <unsubscribe>issues-unsubscribe@drill.incubator.apache.org</unsubscribe>
+      <archive>https://mail-archives.apache.org/mod_mbox/incubator-drill-issues/</archive>
+    </mailingList>
+  </mailingLists>
+
   <repositories>
     <repository>
       <id>conjars</id>


[4/4] git commit: Fix regression in field aliasing.

Posted by ja...@apache.org.
Fix regression in field aliasing.


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/98b208e2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/98b208e2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/98b208e2

Branch: refs/heads/0.4.0-incubating
Commit: 98b208e262dd9b54988f5eeffacea7d0e83c958c
Parents: cea40d2
Author: Jacques Nadeau <ja...@apache.org>
Authored: Wed Jul 30 18:53:28 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Wed Jul 30 19:25:58 2014 -0700

----------------------------------------------------------------------
 .../physical/visitor/StarColumnConverter.java   | 87 ++++++++++----------
 1 file changed, 45 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/98b208e2/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java
index ac7fb8e..ddc8cf6 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/StarColumnConverter.java
@@ -43,39 +43,42 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim
   private static StarColumnConverter INSTANCE = new StarColumnConverter();
 
   private static final AtomicLong tableNumber = new AtomicLong(0);
-    
+
   public static Prel insertRenameProject(Prel root, RelDataType origRowType){
-    // Insert top project to do rename only when : 1) there is a join 
+    // Insert top project to do rename only when : 1) there is a join
     // 2) there is a SCAN with * column.  We pass two boolean to keep track of
-    // these two conditions. 
+    // these two conditions.
     boolean [] renamedForStar = new boolean [2];
     renamedForStar[0] = false;
     renamedForStar[1] = false;
-    
-    //root should be screen / writer : no need to rename for the root.  
+
+    //root should be screen / writer : no need to rename for the root.
 
     Prel child = ((Prel) root.getInput(0)).accept(INSTANCE, renamedForStar);
-    
+
     if (renamedForStar[0] && renamedForStar[1]) {
       List<RexNode> exprs = Lists.newArrayList();
       for (int i = 0; i < origRowType.getFieldCount(); i++) {
         RexNode expr = child.getCluster().getRexBuilder().makeInputRef(origRowType.getFieldList().get(i).getType(), i);
         exprs.add(expr);
       }
-      
+
       RelDataType newRowType = RexUtil.createStructType(child.getCluster().getTypeFactory(), exprs, origRowType.getFieldNames());
- 
-      // Insert a top project which allows duplicate columns. 
+
+      // Insert a top project which allows duplicate columns.
       child = new ProjectAllowDupPrel(child.getCluster(), child.getTraitSet(), child, exprs, newRowType);
 
+      List<RelNode> children = Lists.newArrayList();
+      children.add( child);
+      return (Prel) root.copy(root.getTraitSet(), children);
+
+    }else{
+      return root;
     }
-    
-    List<RelNode> children = Lists.newArrayList();
-    children.add( child);
-    return (Prel) root.copy(root.getTraitSet(), children);
+
   }
 
-  
+
   @Override
   public Prel visitPrel(Prel prel, boolean [] renamedForStar) throws RuntimeException {
     List<RelNode> children = Lists.newArrayList();
@@ -84,14 +87,14 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim
       children.add(child);
     }
 
-    // For project, we need make sure that the project's field name is same as the input, 
+    // For project, we need make sure that the project's field name is same as the input,
     // when the project expression is RexInPutRef. This is necessary since Optiq may use
-    // an arbitrary name for the project's field name. 
+    // an arbitrary name for the project's field name.
     if (prel instanceof ProjectPrel) {
       RelNode child = children.get(0);
-      
+
       List<String> fieldNames = Lists.newArrayList();
-      
+
       for (Pair<String, RexNode> pair : Pair.zip(prel.getRowType().getFieldNames(), ((ProjectPrel) prel).getProjects())) {
         if (pair.right instanceof RexInputRef) {
           String name = child.getRowType().getFieldNames().get(((RexInputRef) pair.right).getIndex());
@@ -100,32 +103,32 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim
           fieldNames.add(pair.left);
         }
       }
-      
-      // Make sure the field names are unique : Optiq does not allow duplicate field names in a rowType. 
+
+      // Make sure the field names are unique : Optiq does not allow duplicate field names in a rowType.
       fieldNames = makeUniqueNames(fieldNames);
-      
+
       RelDataType rowType = RexUtil.createStructType(prel.getCluster().getTypeFactory(), ((ProjectPrel) prel).getProjects(), fieldNames);
 
       return (Prel) new ProjectPrel(prel.getCluster(), prel.getTraitSet(), children.get(0), ((ProjectPrel) prel).getProjects(), rowType);
-    } else {  
+    } else {
       return (Prel) prel.copy(prel.getTraitSet(), children);
     }
   }
 
-  
+
   @Override
   public Prel visitJoin(JoinPrel prel, boolean [] renamedForStar) throws RuntimeException {
-    renamedForStar[0] = true;    // indicate there is a join, which may require top rename projet operator. 
+    renamedForStar[0] = true;    // indicate there is a join, which may require top rename projet operator.
     return visitPrel(prel, renamedForStar);
   }
 
-  
+
   @Override
   public Prel visitScan(ScanPrel scanPrel, boolean [] renamedForStar) throws RuntimeException {
     if (StarColumnHelper.containsStarColumn(scanPrel.getRowType()) && renamedForStar[0] ) {
-      
-      renamedForStar[1] = true;  // indicate there is * for a SCAN operator. 
-      
+
+      renamedForStar[1] = true;  // indicate there is * for a SCAN operator.
+
       List<RexNode> exprs = Lists.newArrayList();
 
       for (RelDataTypeField field : scanPrel.getRowType().getFieldList()) {
@@ -134,34 +137,34 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim
       }
 
       List<String> fieldNames = Lists.newArrayList();
-      
+
       long tableId = tableNumber.getAndIncrement();
-      
+
       for (String name : scanPrel.getRowType().getFieldNames()) {
         fieldNames.add("T" +  tableId + StarColumnHelper.PREFIX_DELIMITER + name);
       }
       RelDataType rowType = RexUtil.createStructType(scanPrel.getCluster().getTypeFactory(), exprs, fieldNames);
 
       ProjectPrel proj = new ProjectPrel(scanPrel.getCluster(), scanPrel.getTraitSet(), scanPrel, exprs, rowType);
-      
+
       return proj;
     } else {
       return visitPrel(scanPrel, renamedForStar);
     }
   }
 
-  
+
   private List<String> makeUniqueNames(List<String> names) {
-    
+
     // We have to search the set of original names, plus the set of unique names that will be used finally .
-    // Eg : the original names : ( C1, C1, C10 ) 
+    // Eg : the original names : ( C1, C1, C10 )
     // There are two C1, we may rename C1 to C10, however, this new name will conflict with the original C10.
     // That means we should pick a different name that does not conflict with the original names, in additional
-    // to make sure it's unique in the set of unique names. 
-    
-    HashSet<String> uniqueNames = new HashSet<String>();    
-    HashSet<String> origNames = new HashSet<String>(names);   
-    
+    // to make sure it's unique in the set of unique names.
+
+    HashSet<String> uniqueNames = new HashSet<String>();
+    HashSet<String> origNames = new HashSet<String>(names);
+
     List<String> newNames = Lists.newArrayList();
 
     for (String s : names) {
@@ -170,13 +173,13 @@ public class StarColumnConverter extends BasePrelVisitor<Prel, boolean[], Runtim
           s = s + i;
           if (! origNames.contains(s) && ! uniqueNames.contains(s))
             break;
-        }        
+        }
       }
       uniqueNames.add(s);
       newNames.add(s);
     }
-    
+
     return newNames;
   }
-  
+
 }


[2/4] git commit: DRILL-1229: Integration with 'apache-release' profile

Posted by ja...@apache.org.
DRILL-1229: Integration with 'apache-release' profile


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/714447af
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/714447af
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/714447af

Branch: refs/heads/0.4.0-incubating
Commit: 714447af0ed0196112b44057731fe71984af7318
Parents: 4243859
Author: Aditya Kishore <ad...@maprtech.com>
Authored: Wed Jul 30 14:52:04 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Wed Jul 30 18:06:40 2014 -0700

----------------------------------------------------------------------
 distribution/pom.xml                            | 37 +-------
 pom.xml                                         | 76 ++---------------
 src/assembly/source-assembly.xml                | 90 --------------------
 .../resources/assemblies/source-assembly.xml    | 90 ++++++++++++++++++++
 4 files changed, 99 insertions(+), 194 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/714447af/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 73670a6..bc05345 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -104,7 +104,6 @@
 
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
-        <version>2.4</version>
         <executions>
           <execution>
             <id>distro-assembly</id>
@@ -116,6 +115,7 @@
               <descriptors>
                 <descriptor>src/assemble/bin.xml</descriptor>
               </descriptors>
+              <appendAssemblyId>false</appendAssemblyId>
               <finalName>apache-drill-${project.version}</finalName>
               <tarLongFileMode>gnu</tarLongFileMode>
             </configuration>
@@ -128,41 +128,6 @@
 
 
   <profiles>
-    <!-- START SNIPPET: release-profile -->
-    <profile>
-      <id>drill-release</id>
-      <build>
-        <plugins>
-          <!-- We want to deploy the artifact to a staging location for perusal -->
-          <plugin>
-            <inherited>true</inherited>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-deploy-plugin</artifactId>
-            <configuration>
-              <updateReleaseInfo>true</updateReleaseInfo>
-            </configuration>
-          </plugin>
-          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-gpg-plugin</artifactId>
-            <configuration>
-              <passphrase>${gpg.passphrase}</passphrase>
-              <useAgent>${gpg.useagent}</useAgent>
-            </configuration>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>sign</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <!-- END SNIPPET: release-profile -->
-
     <profile>
       <id>rpm</id>
       <build>

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/714447af/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8d50c03..2b6b229 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,7 @@
   <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
-    <version>13</version>
+    <version>14</version>
   </parent>
 
   <groupId>org.apache.drill</groupId>
@@ -304,7 +304,7 @@
             <useReleaseProfile>false</useReleaseProfile>
             <pushChanges>false</pushChanges>
             <goals>deploy</goals>
-            <arguments>-Pdrill-release ${arguments}</arguments>
+            <arguments>-Papache-release ${arguments}</arguments>
           </configuration>
         </plugin>
 
@@ -463,9 +463,8 @@
 
   <profiles>
     <profile>
-      <!-- this is heavily borrowed from the apache-root pom but updated 
-        so we don't have some of the issues it has. -->
-      <id>drill-release</id>
+      <!-- this profile adds/overrides few features of the 'apache-release' profile in the parent pom. -->
+      <id>apache-release</id>
       <build>
         <plugins>
           <plugin>
@@ -487,19 +486,9 @@
               <failOnError>false</failOnError>
             </configuration>
           </plugin>
-
-          <!-- Create a source-release artifact that contains the fully buildable 
-            project directory source structure. This is the artifact which is the official 
-            subject of any release vote. -->
+          <!-- override the parent assembly execution to customize the assembly descriptor and final name -->
           <plugin>
             <artifactId>maven-assembly-plugin</artifactId>
-            <dependencies>
-              <dependency>
-                <groupId>org.apache.apache.resources</groupId>
-                <artifactId>apache-source-release-assembly-descriptor</artifactId>
-                <version>1.0.4</version>
-              </dependency>
-            </dependencies>
             <executions>
               <execution>
                 <id>source-release-assembly</id>
@@ -509,63 +498,14 @@
                 </goals>
                 <configuration>
                   <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                  <descriptor>src/assembly/source-assembly.xml</descriptor>
-                  <finalName>apache-drill-${project.version}</finalName>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <descriptor>src/main/resources/assemblies/source-assembly.xml</descriptor>
+                  <finalName>apache-drill-${project.version}-src</finalName>
                   <tarLongFileMode>gnu</tarLongFileMode>
                 </configuration>
               </execution>
             </executions>
           </plugin>
-          <!-- We want to deploy the artifact to a staging location for perusal -->
-          <plugin>
-            <inherited>true</inherited>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-deploy-plugin</artifactId>
-            <configuration>
-              <updateReleaseInfo>true</updateReleaseInfo>
-            </configuration>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-source-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-sources</id>
-                <phase>verify</phase>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-gpg-plugin</artifactId>
-            <configuration>
-              <passphrase>${gpg.passphrase}</passphrase>
-              <useAgent>${gpg.useagent}</useAgent>
-            </configuration>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>sign</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
         </plugins>
       </build>
     </profile>

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/714447af/src/assembly/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/assembly/source-assembly.xml b/src/assembly/source-assembly.xml
deleted file mode 100644
index 5918783..0000000
--- a/src/assembly/source-assembly.xml
+++ /dev/null
@@ -1,90 +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>
-    <format>tar.gz</format>
-  </formats>
-  <fileSets>
-    <!-- main project directory structure -->
-    <fileSet>
-      <directory>.</directory>
-      <outputDirectory>/</outputDirectory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-      <excludes>
-        <!-- build output -->
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${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>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
-        </exclude>
-
-
-        <!-- scm -->
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
-        </exclude>
-
-        <exclude>**/.buildpath</exclude>
-        <exclude>**/sandbox/**</exclude>
-        
-        <!-- misc -->
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
-        </exclude>
-
-        <!-- release-plugin temp files -->
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
-        </exclude>
-        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?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>

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/714447af/src/main/resources/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/resources/assemblies/source-assembly.xml b/src/main/resources/assemblies/source-assembly.xml
new file mode 100644
index 0000000..5918783
--- /dev/null
+++ b/src/main/resources/assemblies/source-assembly.xml
@@ -0,0 +1,90 @@
+<?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>
+    <format>tar.gz</format>
+  </formats>
+  <fileSets>
+    <!-- main project directory structure -->
+    <fileSet>
+      <directory>.</directory>
+      <outputDirectory>/</outputDirectory>
+      <useDefaultExcludes>true</useDefaultExcludes>
+      <excludes>
+        <!-- build output -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${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>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
+        </exclude>
+
+
+        <!-- scm -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
+        </exclude>
+
+        <exclude>**/.buildpath</exclude>
+        <exclude>**/sandbox/**</exclude>
+        
+        <!-- misc -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
+        </exclude>
+
+        <!-- release-plugin temp files -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
+        </exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?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>