DRILL-582: generate a standalone fat JDBC jar

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

Branch: refs/heads/master
Commit: f7b66b4486e3fde18664f742021c014fb35d4822
Parents: ec3b8fc
Author: Patrick Wong <[email protected]>
Authored: Mon Apr 28 11:52:50 2014 -0700
Committer: Jacques Nadeau <[email protected]>
Committed: Sat May 3 19:04:55 2014 -0700

----------------------------------------------------------------------
 jdbc-all/example-conf/drill-module.conf |  13 ++
 jdbc-all/pom.xml                        | 259 +++++++++++++++++++++++++++
 2 files changed, 272 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/f7b66b44/jdbc-all/example-conf/drill-module.conf
----------------------------------------------------------------------
diff --git a/jdbc-all/example-conf/drill-module.conf 
b/jdbc-all/example-conf/drill-module.conf
new file mode 100644
index 0000000..082b8e6
--- /dev/null
+++ b/jdbc-all/example-conf/drill-module.conf
@@ -0,0 +1,13 @@
+drill: {
+  logical: {
+    operator.packages: ["org.apache.drill.common.logical.data"],
+    expression.packages: ["org.apache.drill.common.expression"],
+    function.packages: ["org.apache.drill.common.expression"],
+    storage.packages: []
+  },
+  physical: {
+    operator.packages: ["org.apache.drill.common.physical.pop"]
+  }
+}
+
+drill.exec.storage.packages += org.apache.drill.exec.store.mock

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/f7b66b44/jdbc-all/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc-all/pom.xml b/jdbc-all/pom.xml
new file mode 100644
index 0000000..c1f8ba6
--- /dev/null
+++ b/jdbc-all/pom.xml
@@ -0,0 +1,259 @@
+<?xml version="1.0"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+  license agreements. See the NOTICE file distributed with this work for 
additional 
+  information regarding copyright ownership. The ASF licenses this file to 
+  You under the Apache License, Version 2.0 (the "License"); you may not use 
+  this file except in compliance with the License. You may obtain a copy of 
+  the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+  by applicable law or agreed to in writing, software distributed under the 
+  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+  OF ANY KIND, either express or implied. See the License for the specific 
+  language governing permissions and limitations under the License. -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>drill-root</artifactId>
+    <groupId>org.apache.drill</groupId>
+    <version>1.0.0-m2-incubating-SNAPSHOT</version>
+  </parent>
+  <artifactId>drill-jdbc-all</artifactId>
+  <version>${projectVersion}</version>
+  <name>JDBC JAR with all dependencies</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>net.hydromatic</groupId>
+      <artifactId>optiq-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.drill</groupId>
+      <artifactId>drill-common</artifactId>
+      <version>${baseDrillVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.drill.exec</groupId>
+      <artifactId>drill-java-exec</artifactId>
+      <version>${baseDrillVersion}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.jackson</groupId>
+          <artifactId>jackson-mapper-asl</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.jackson</groupId>
+          <artifactId>jackson-core-asl</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>pentaho</groupId>
+      <artifactId>mondrian-data-foodmart-queries</artifactId>
+      <version>0.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>pentaho</groupId>
+      <artifactId>mondrian-data-foodmart-json</artifactId>
+      <version>0.3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.janino</groupId>
+      <artifactId>janino</artifactId>
+      <version>2.6.1</version>
+    </dependency>
+    <!-- Specify xalan and xerces versions to avoid setXIncludeAware error. -->
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>xml-apis</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>xml-apis</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>2.8</version>
+        <executions>
+          <execution>
+            <id>copy</id>
+            <phase>package</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.drill</groupId>
+                  <artifactId>drill-sqlparser</artifactId>
+                  <version>${baseDrillVersion}</version>
+                  <type>jar</type>
+                  <outputDirectory>${project.build.directory}</outputDirectory>
+                </artifactItem>
+              </artifactItems>
+              <overWriteReleases>true</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+              <useBaseVersion>true</useBaseVersion>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>com.github.wvengen</groupId>
+        <artifactId>proguard-maven-plugin</artifactId>
+        <version>2.0.7</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>proguard</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>net.sf.proguard</groupId>
+            <artifactId>proguard-base</artifactId>
+            <version>4.11</version>
+            <scope>runtime</scope>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <proguardVersion>4.11</proguardVersion>
+          <obfuscate>false</obfuscate>
+          <includeDependencyInjar>true</includeDependencyInjar>
+          <injar>drill-sqlparser-${baseDrillVersion}.jar</injar>
+          <outjar>${project.build.finalName}-dirty.jar</outjar>
+          <outputDirectory>${project.build.directory}</outputDirectory>
+          <maxMemory>6g</maxMemory>
+          <options>
+            <option>-verbose</option>
+            <option>-dontobfuscate</option>
+            <option>-dontoptimize</option>
+            <option>-ignorewarnings</option>
+            <option>-keep class org.apache.drill.jdbc.Driver { *; }</option>
+            <option>-keep class org.apache.drill.jdbc.DrillJdbc40Factory { *; 
}</option>
+            <option>-keep class org.apache.drill.jdbc.DrillJdbc41Factory { *; 
}</option>
+            <option>-keep class org.apache.drill.common.config.CommonConstants 
{ *; }</option>
+            <option>-keep class org.apache.drill.common.config.ConfigProvider 
{ *; }</option>
+            <option>-keep class org.apache.drill.common.config.DrillConfig { 
*; }</option>
+            <option>-keep class org.apache.drill.common.config.NestedConfig { 
*; }</option>
+            <option>-keep class * implements 
com.fasterxml.jackson.databind.cfg.ConfigFeature { *; }</option>
+            <option>-keep class * implements 
com.fasterxml.jackson.databind.jsontype.TypeIdResolver { *; }</option>
+          </options>
+          <libs>
+            <lib>${java.home}/lib/rt.jar</lib>
+            <lib>${java.home}/lib/jsse.jar</lib>
+          </libs>
+        </configuration>
+      </plugin>
+    
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <version>1.7</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <configuration>
+              <target>
+                <delete dir="dirty"/>
+                <mkdir dir="dirty"/>
+                <unzip 
src="${project.build.directory}/${project.build.finalName}-dirty.jar" 
dest="dirty"/>
+                <delete>
+                  <fileset dir="dirty">
+                    <include name="**/*.SF"/>
+                    <include name="**/*.RSA"/>
+                    <include name="**/*.DSA"/>
+                    <include name="META-INF/*.SF"/>
+                    <include name="META-INF/*.RSA"/>
+                    <include name="META-INF/*.DSA"/>
+                    <include name="*.conf"/>
+                  </fileset>
+                </delete>
+                <jar 
destfile="${project.build.directory}/${project.build.finalName}.jar" 
basedir="dirty"/>
+                <delete dir="dirty"/>
+              </target>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+    </plugins>
+  </build>
+
+  <pluginRepositories>
+    <pluginRepository>
+      <id>onejar-maven-plugin.googlecode.com</id>
+      <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
+    </pluginRepository>
+    <pluginRepository>
+      <id>scala-tools.org</id>
+      <name>Scala-tools Maven2 Repository</name>
+      <url>http://scala-tools.org/repo-releases</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
+  
+  <properties>
+    <baseDrillVersion>1.0.0-m2-incubating-SNAPSHOT</baseDrillVersion>
+  </properties>
+
+  <profiles>
+    <profile>
+      <id>default-hadoop</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+        <projectVersion>${baseDrillVersion}</projectVersion>
+      </properties>
+    </profile>
+    <profile>
+      <id>mapr</id>
+      <properties>
+        <projectVersion>mapr-${baseDrillVersion}</projectVersion>
+      </properties>
+    </profile>
+    <profile>
+      <id>cdh</id>
+      <properties>
+        <projectVersion>cdh-${baseDrillVersion}</projectVersion>
+      </properties>
+    </profile>
+    <profile>
+      <id>hdp</id>
+      <properties>
+        <projectVersion>hdp-${baseDrillVersion}</projectVersion>
+      </properties>
+    </profile>
+  </profiles>
+
+</project>

Reply via email to