| <?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> |
| <groupId>org.apache.drill.exec</groupId> |
| <artifactId>exec-parent</artifactId> |
| <version>1.22.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>drill-jdbc-all</artifactId> |
| <name>Drill : Exec : JDBC JAR with all dependencies</name> |
| |
| <!-- Since we are packaging hadoop dependencies under the namespace with "oadd." prefix by default, |
| "package.namespace.prefix" equals to "oadd.". It can be overridden if necessary within any profile --> |
| <properties> |
| <package.namespace.prefix>oadd.</package.namespace.prefix> |
| <jdbc-all-jar.maxsize>44500000</jdbc-all-jar.maxsize> |
| </properties> |
| |
| <dependencies> |
| <!-- |
| Notes for excluding unwanted code from the JDBC driver to keep its |
| size down. |
| |
| First use conventional Maven exclusions, most commonly required under |
| drill-java-exec, to try to exclude the dependency. If you cannot see |
| the code you want exclude in this module's mvn:dependency-tree under |
| a dependency where you could add an exclusion then you will need to |
| use exclusion rules in the maven-shade-plugin instead. |
| |
| Once you've excluded something that was previously present in the JDBC |
| driver you need to test it. Note that neither the JDBC unit tests nor |
| drill-embedded exercise the JDBC driver JAR produced by *this module*, |
| even though they both connect to Drill using JDBC. So to test you need |
| to launch a JDBC client like DBeaver or a short Java CLI program that |
| loads the driver JAR created by this module. |
| --> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.drill</groupId> |
| <artifactId>drill-common</artifactId> |
| <version>${project.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>javassist</artifactId> |
| <groupId>javassist</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-servlets</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.drill.exec</groupId> |
| <artifactId>drill-java-exec</artifactId> |
| <version>${project.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.javassist</groupId> |
| <artifactId>javassist</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcpkix-jdk15on</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.sun.jersey</groupId> |
| <artifactId>jersey-server</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-common</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-jetty-servlet</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-multipart</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.ext</groupId> |
| <artifactId>jersey-mvc-freemarker</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-jackson</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>jetty-server</artifactId> |
| <groupId>org.eclipse.jetty</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro-mapred</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>jetty-servlet</artifactId> |
| <groupId>org.eclipse.jetty</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>parquet-hadoop</artifactId> |
| <groupId>org.apache.parquet</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>parquet-column</artifactId> |
| <groupId>org.apache.parquet</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>parquet-common</artifactId> |
| <groupId>org.apache.parquet</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>infinispan-core</artifactId> |
| <groupId>org.infinispan</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>asm-util</artifactId> |
| <groupId>org.ow2.asm</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>codemodel</artifactId> |
| <groupId>com.sun.codemodel</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>asm-commons</artifactId> |
| <groupId>org.ow2.asm</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>infinispan-tree</artifactId> |
| <groupId>org.infinispan</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>jetty-util</artifactId> |
| <groupId>org.eclipse.jetty</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>freemarker</artifactId> |
| <groupId>org.freemarker</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>hazelcast</artifactId> |
| <groupId>com.hazelcast</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>nl.basjes.parse.httpdlog</groupId> |
| <artifactId>httpdlog-parser</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.kohsuke</groupId> |
| <artifactId>libpam4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>sqlline</groupId> |
| <artifactId>sqlline</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>stream</artifactId> |
| <groupId>com.clearspring.analytics</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.honton.chas.hocon</groupId> |
| <artifactId>jackson-dataformat-hocon</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.owasp.encoder</groupId> |
| <artifactId>encoder</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.dropbox.core</groupId> |
| <artifactId>dropbox-core-sdk</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.box</groupId> |
| <artifactId>box-java-sdk</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.ws.xmlschema</groupId> |
| <artifactId>xmlschema-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.ws.xmlschema</groupId> |
| <artifactId>xmlschema-walker</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.airlift</groupId> |
| <artifactId>aircompressor</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.swagger.core.v3</groupId> |
| <artifactId>swagger-jaxrs2</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.swagger.core.v3</groupId> |
| <artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.squareup.okhttp3</groupId> |
| <artifactId>okhttp</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.tdunning</groupId> |
| <artifactId>t-digest</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.bettercloud</groupId> |
| <artifactId>vault-java-driver</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.esri.geometry</groupId> |
| <artifactId>esri-geometry-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.yahoo.datasketches</groupId> |
| <artifactId>sketches-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>${calcite.groupId}</groupId> |
| <artifactId>calcite-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>${calcite.groupId}</groupId> |
| <artifactId>calcite-linq4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>net.sf.jpam</groupId> |
| <artifactId>jpam</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.drill.exec</groupId> |
| <artifactId>drill-jdbc</artifactId> |
| <version>${project.version}</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>drill-storage-hive-core</artifactId> |
| <groupId>org.apache.drill.contrib.storage-hive</groupId> |
| </exclusion> |
| <exclusion> |
| <artifactId>foodmart-data-json</artifactId> |
| <groupId>net.hydromatic</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <!-- Test Dependencies --> |
| <dependency> |
| <groupId>org.apache.drill</groupId> |
| <artifactId>drill-common</artifactId> |
| <classifier>tests</classifier> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.drill.exec</groupId> |
| <artifactId>drill-java-exec</artifactId> |
| <classifier>tests</classifier> |
| <version>${project.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| |
| <plugins> |
| |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>define-classpath</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <exportAntProperties>true</exportAntProperties> |
| <target> |
| <property name="app.class.path" refid="maven.test.classpath" /> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>3.1.2</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| |
| <configuration> |
| <argLine>-Xms512m -Xmx3g -Ddrill.exec.http.enabled=false -Djava.net.preferIPv4Stack=true |
| -Ddrill.exec.sys.store.provider.local.write=false |
| -Dorg.apache.drill.exec.server.Drillbit.system_options="org.apache.drill.exec.compile.ClassTransformer.scalar_replacement=on" |
| -XX:MaxDirectMemorySize=3072M |
| ${junit.args} -ea |
| </argLine> |
| <additionalClasspathElements> |
| <additionalClasspathElements>${settings.localRepository}/org/junit/vintage/junit-vintage-engine/${junit.version}/junit-vintage-engine-${junit.version}.jar |
| </additionalClasspathElements> |
| <additionalClasspathElements>${settings.localRepository}/org/hamcrest/hamcrest/${hamcrest.version}/hamcrest-${hamcrest.version}.jar</additionalClasspathElements> |
| <additionalClasspathElements>${project.build.directory}/test-classes/</additionalClasspathElements> |
| </additionalClasspathElements> |
| |
| <systemPropertyVariables> |
| <java.io.tmpdir>${project.build.directory}</java.io.tmpdir> |
| <app.class.path>${app.class.path}</app.class.path> |
| <project.version>${project.version}</project.version> |
| </systemPropertyVariables> |
| <useSystemClassLoader>false</useSystemClassLoader> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <artifactId>maven-shade-plugin</artifactId> |
| <configuration> |
| <shadedArtifactAttached>false</shadedArtifactAttached> |
| <createDependencyReducedPom>true</createDependencyReducedPom> |
| <!-- TODO DRILL-4336: try to move the dependencyReducedPom out of the default location (the module root). |
| Putting it here caused the target directory to be run as a submodule (oddly |
| only when trying to run the maven release goal) --> |
| <!--dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation--> |
| <!-- TODO DRILL-4336: an attempt to fix the issue by moving the file elsewhere, had issues executing |
| but may be able to be modified to to fix the issue--> |
| <!--dependencyReducedPomLocation>${project.build.directory}/generated/shade/dependency-reduced-pom.xml</dependencyReducedPomLocation--> |
| <minimizeJar>false</minimizeJar> |
| |
| <!-- Exclude dependencies at artifact level. Format is "groupId:artifactId[[:type]:classifier]" --> |
| <artifactSet> |
| <includes> |
| <include>*:*</include> |
| </includes> |
| <excludes> |
| <exclude>antlr:*</exclude> |
| <exclude>com.beust:*</exclude> |
| <exclude>com.dropbox.*</exclude> |
| <exclude>com.github.stefanbirkner</exclude> |
| <exclude>com.google.code.findbugs:jsr305:*</exclude> |
| <exclude>com.googlecode.json-simple:*</exclude> |
| <exclude>commons-beanutils:commons-beanutils-core:jar:*</exclude> |
| <exclude>commons-beanutils:commons-beanutils:jar:*</exclude> |
| <exclude>commons-cli:commons-cli</exclude> |
| <exclude>commons-io:commons-io</exclude> |
| <exclude>com.nimbusds:*</exclude> |
| <exclude>com.twitter:*</exclude> |
| <exclude>com.univocity:*</exclude> |
| <exclude>dnsjava:dnsjava:jar:*</exclude> |
| <exclude>dom4j:*</exclude> |
| <exclude>io.netty:netty-tcnative-classes:jar:*</exclude> |
| <exclude>io.netty:netty-tcnative:jar:*</exclude> |
| <exclude>io.protostuff:*</exclude> |
| <exclude>javax.activation:activation</exclude> |
| <exclude>javax.inject:*</exclude> |
| <exclude>javax.xml.bind:jaxb-api</exclude> |
| <exclude>javax.xml.stream:stax-api</exclude> |
| <exclude>jline:*</exclude> |
| <exclude>net.hydromatic:linq4j</exclude> |
| <exclude>org.apache.avro:*</exclude> |
| <exclude>org.apache.avro:*</exclude> |
| <exclude>org.apache.commons:commons-collections4</exclude> |
| <exclude>org.apache.hadoop:hadoop-yarn-client</exclude> |
| <exclude>org.apache.parquet:*</exclude> |
| <exclude>org.apache.velocity:*</exclude> |
| <exclude>org.apache.yetus:*</exclude> |
| <exclude>org.eclipse.jetty:*</exclude> |
| <exclude>org.eclipse.jetty.websocket:*</exclude> |
| <exclude>org.hamcrest:hamcrest-core</exclude> |
| <exclude>org.hibernate:*</exclude> |
| <exclude>org.mockito:mockito-core</exclude> |
| <exclude>org.mongodb:*</exclude> |
| <exclude>org.msgpack:*</exclude> |
| <exclude>org.objenesis:objenesis</exclude> |
| <exclude>org.ow2.asm:*</exclude> |
| <exclude>org.pentaho:*</exclude> |
| <exclude>org.slf4j:jul-to-slf4j</exclude> |
| <exclude>org.tukaani:*</exclude> |
| <exclude>org.xerial.snappy:*</exclude> |
| <exclude>xalan:*</exclude> |
| <exclude>xerces:*</exclude> |
| </excludes> |
| </artifactSet> |
| <relocations> |
| <!-- Relocate Drill classes to minimize classloader hell. --> |
| <relocation> |
| <pattern>org.apache.drill.exec.</pattern> |
| <shadedPattern>oadd.org.apache.drill.exec.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.drill.common.</pattern> |
| <shadedPattern>oadd.org.apache.drill.common.</shadedPattern> |
| </relocation> |
| |
| <!-- Move dependencies out of path --> |
| <relocation> |
| <pattern>antlr.</pattern> |
| <shadedPattern>oadd.antlr.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>antlr.</pattern> |
| <shadedPattern>oadd.antlr.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>io.</pattern> |
| <shadedPattern>oadd.io.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javacc.</pattern> |
| <shadedPattern>oadd.javacc.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>java_cup.</pattern> |
| <shadedPattern>oadd.java_cup.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>javassist.</pattern> |
| <shadedPattern>oadd.javassist.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>jline.</pattern> |
| <shadedPattern>oadd.jline.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>license.</pattern> |
| <shadedPattern>oadd.license.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>net.</pattern> |
| <shadedPattern>oadd.net.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>parquet.</pattern> |
| <shadedPattern>oadd.parquet.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>test.</pattern> |
| <shadedPattern>oadd.test.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>trax.</pattern> |
| <shadedPattern>oadd.trax.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.antlr.</pattern> |
| <shadedPattern>oadd.org.antlr.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.codehaus.</pattern> |
| <shadedPattern>oadd.org.codehaus.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.eigenbase.</pattern> |
| <shadedPattern>oadd.org.eigenbase.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.hamcrest.</pattern> |
| <shadedPattern>oadd.org.hamcrest.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.jboss.</pattern> |
| <shadedPattern>oadd.org.jboss.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.joda.</pattern> |
| <shadedPattern>oadd.org.joda.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.json.</pattern> |
| <shadedPattern>oadd.org.json.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.mockito.</pattern> |
| <shadedPattern>oadd.org.mockito.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.msgpack.</pattern> |
| <shadedPattern>oadd.org.msgpack.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.objectweb.</pattern> |
| <shadedPattern>oadd.org.objectweb.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.objensis.</pattern> |
| <shadedPattern>oadd.org.objensis.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.pentaho.</pattern> |
| <shadedPattern>oadd.org.pentaho.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.reflections.</pattern> |
| <shadedPattern>oadd.org.reflections.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.tukaani.</pattern> |
| <shadedPattern>oadd.org.tukaani.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.xerial.</pattern> |
| <shadedPattern>oadd.org.xerial.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.beust.</pattern> |
| <shadedPattern>oadd.com.beust.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.carrotsearch.</pattern> |
| <shadedPattern>oadd.com.carrotsearch.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.codahale.</pattern> |
| <shadedPattern>oadd.com.codahale.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.dyuproject.</pattern> |
| <shadedPattern>oadd.com.dyuproject.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.fasterxml.</pattern> |
| <shadedPattern>oadd.com.fasterxml.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.</pattern> |
| <shadedPattern>oadd.com.google.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.thoughtworks.</pattern> |
| <shadedPattern>oadd.com.thoughtworks.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.typesafe.</pattern> |
| <shadedPattern>oadd.com.typesafe.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.univocity.</pattern> |
| <shadedPattern>oadd.com.univocity.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.avro.</pattern> |
| <shadedPattern>oadd.org.apache.avro.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.bcel.</pattern> |
| <shadedPattern>oadd.org.apache.bcel.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.calcite.</pattern> |
| <shadedPattern>oadd.org.apache.calcite.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.commons.</pattern> |
| <shadedPattern>oadd.org.apache.commons.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.curator.</pattern> |
| <shadedPattern>oadd.org.apache.curator.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.html.</pattern> |
| <shadedPattern>oadd.org.apache.html.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.jute.</pattern> |
| <shadedPattern>oadd.org.apache.jute.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.log4j.</pattern> |
| <shadedPattern>oadd.org.apache.log4j.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.regexp.</pattern> |
| <shadedPattern>oadd.org.apache.regexp.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.velocity.</pattern> |
| <shadedPattern>oadd.org.apache.velocity.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.wml.</pattern> |
| <shadedPattern>oadd.org.apache.wml.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.xalan.</pattern> |
| <shadedPattern>oadd.org.apache.xalan.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.xerces.</pattern> |
| <shadedPattern>oadd.org.apache.xerces.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.xml.</pattern> |
| <shadedPattern>oadd.org.apache.xml.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.xmlcommons.</pattern> |
| <shadedPattern>oadd.org.apache.xmlcommons.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.xpath.</pattern> |
| <shadedPattern>oadd.org.apache.xpath.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.zookeeper.</pattern> |
| <shadedPattern>oadd.org.apache.zookeeper.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.apache.hadoop.</pattern> |
| <shadedPattern>oadd.org.apache.hadoop.</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.ctc.wstx.</pattern> |
| <shadedPattern>oadd.com.ctc.wstx.</shadedPattern> |
| </relocation> |
| </relocations> |
| <transformers> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> |
| <resource>drill-module.conf</resource> |
| </transformer> |
| </transformers> |
| |
| <!-- Remove the particular directory or class level dependency from final jar --> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>bootstrap-storage-plugins.json</exclude> |
| <exclude>codegen/**</exclude> |
| <exclude>com/google/common/cache</exclude> |
| <exclude>com/google/common/collect/Standard*</exclude> |
| <exclude>com/google/common/collect/Tree*</exclude> |
| <exclude>com/google/common/math</exclude> |
| <exclude>com/google/common/net</exclude> |
| <exclude>com/google/common/primitives</exclude> |
| <exclude>com/google/common/reflect</exclude> |
| <exclude>com/google/common/util</exclude> |
| <exclude>com/jcraft/**</exclude> |
| <exclude>**/*.DSA</exclude> |
| <exclude>hello/**</exclude> |
| <exclude>**/*.java</exclude> |
| <exclude>javax/activation/**</exclude> |
| <exclude>javax/annotation-api/**</exclude> |
| <exclude>javax/*</exclude> |
| <exclude>javax/inject/**</exclude> |
| <exclude>javax/json/**</exclude> |
| <exclude>javax/servlet/**</exclude> |
| <exclude>javax/ws/**</exclude> |
| <exclude>**/LICENSE.txt</exclude> |
| <exclude>**/logback.xml</exclude> |
| <exclude>**/mapr/**</exclude> |
| <exclude>META-INF/ASL2.0</exclude> |
| <exclude>META-INF/drill-module-scan/**</exclude> |
| <exclude>META-INF/jboss-beans.xml</exclude> |
| <exclude>META-INF/license/**</exclude> |
| <exclude>META-INF/maven/**</exclude> |
| <exclude>META-INF/native/**</exclude> |
| <exclude>META-INF/NOTICE.txt</exclude> |
| <exclude>META-INF/**/*.properties</exclude> |
| <exclude>META-INF/services/com.fasterxml.*</exclude> |
| <exclude>META-INF/services/javax.ws.*</exclude> |
| <exclude>module-info.class</exclude> |
| <exclude>org/apache/commons/pool2/**</exclude> |
| <exclude>org/apache/directory/**</exclude> |
| <exclude>org/apache/drill/exec/compile/**</exclude> |
| <exclude>org/apache/drill/exec/expr/annotations/**</exclude> |
| <exclude>org/apache/drill/exec/expr/fn/**</exclude> |
| <exclude>org/apache/drill/exec/physical/**</exclude> |
| <exclude>org/apache/drill/exec/planner/**</exclude> |
| <exclude>org/apache/drill/exec/proto/beans/**</exclude> |
| <exclude>org/apache/drill/exec/rpc/control/**</exclude> |
| <exclude>org/apache/drill/exec/rpc/data/**</exclude> |
| <exclude>org/apache/drill/exec/server/rest/**</exclude> |
| <exclude>org/apache/drill/exec/store/**</exclude> |
| <exclude>org/apache/drill/exec/work/**</exclude> |
| <exclude>org/apache/drill/metastore/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/collect/Standard*</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/collect/Tree*</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/escape/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/eventbus/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/graph/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/graph/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/html/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/io/BaseEncoding*</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/net/**</exclude> |
| <exclude>org/apache/drill/shaded/guava/com/google/common/xml/**</exclude> |
| <exclude>org/apache/hadoop/crypto/**</exclude> |
| <exclude>org/apache/hadoop/ha/**</exclude> |
| <exclude>org/apache/hadoop/http/**</exclude> |
| <exclude>org/apache/hadoop/ipc/**</exclude> |
| <exclude>org/apache/hadoop/jmx/**</exclude> |
| <exclude>org/apache/hadoop/log/**</exclude> |
| <exclude>org/apache/hadoop/metrics/**</exclude> |
| <exclude>org/apache/hadoop/record/**</exclude> |
| <exclude>org/apache/hadoop/service/**</exclude> |
| <exclude>org/apache/hadoop/tools/**</exclude> |
| <exclude>org/apache/hadoop/tracing/**</exclude> |
| <exclude>org/apache/hadoop/yarn/**</exclude> |
| <exclude>org/apache/http/**</exclude> |
| <exclude>org/apache/parquet</exclude> |
| <exclude>**/org.codehaus.commons.compiler.properties</exclude> |
| <exclude>org/yaml/**</exclude> |
| <exclude>rest/**</exclude> |
| <exclude>**/*.RSA</exclude> |
| <exclude>**/*.SF</exclude> |
| <exclude>*.tokens</exclude> |
| <exclude>webapps/**</exclude> |
| </excludes> |
| </filter> |
| <!-- This file is used to automatically load given jdbc driver without calling Class.forName(). |
| Excluding the Avatica service file which is conflicting with the Drill one. --> |
| <filter> |
| <artifact>org.apache.calcite.avatica:*</artifact> |
| <excludes> |
| <exclude>META-INF/services/java.sql.Driver</exclude> |
| <!-- Excludes shaded slf4j to avoid conflicts when they are put into the fat jar --> |
| <exclude>org/slf4j/**</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-jdbc-jar-compactness</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <rules> |
| <requireFilesSize> |
| <message> |
| |
| The file drill-jdbc-all-${project.version}.jar is outside the expected size range. |
| |
| This is likely due to you adding new dependencies to a java-exec and not updating the excludes in this module. This is important as it minimizes the size of the |
| dependency of Drill application users. |
| |
| </message> |
| <maxsize>${jdbc-all-jar.maxsize}</maxsize> |
| <minsize>15000000</minsize> |
| <files> |
| <file>${project.build.directory}/drill-jdbc-all-${project.version}.jar</file> |
| </files> |
| </requireFilesSize> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>apache-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>aggregate-jar</goal> |
| </goals> |
| <inherited>false</inherited> |
| <configuration> |
| <includeDependencySources>true</includeDependencySources> |
| <dependencySourceIncludes> |
| <dependencySourceInclude>org.apache.drill.exec:drill-jdbc</dependencySourceInclude> |
| </dependencySourceIncludes> |
| <!-- Include only the published interface in the Javadoc- |
| generated documentation. Unfortunately, the plugin does |
| not support inclusion patterns and hence we have to rely |
| on an exclusion pattern. --> |
| <excludePackageNames>org.apache.drill.jdbc.impl</excludePackageNames> |
| |
| <!-- windowtitle: common part of window titles (goes in |
| parentheses at end of window title, after in-page title |
| (e.g., package name)) --> |
| <windowtitle> |
| Apache Drill JDBC Driver v. ${project.version} |
| </windowtitle> |
| |
| <!-- header, footer: small text at right edge of |
| top, bottom Overview/Package/etc. menu bars --> |
| <header>Apache Drill JDBC Driver v. ${project.version}</header> |
| <footer>Apache Drill JDBC Driver v. ${project.version}</footer> |
| |
| <!-- doctitle: in-page title for overview page --> |
| <doctitle> |
| Apache Drill JDBC Driver version ${project.version} |
| </doctitle> |
| <groups> |
| <group> |
| <title>Drill JDBC Driver</title> |
| <packages>org.apache.drill.jdbc</packages> |
| </group> |
| <group> |
| <title>Tracing Proxy JDBC Driver</title> |
| <packages>org.apache.drill.jdbc.proxy</packages> |
| </group> |
| </groups> |
| |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>hadoop-2</id> |
| <properties> |
| <jdbc-all-jar.maxsize>51000000</jdbc-all-jar.maxsize> |
| </properties> |
| </profile> |
| </profiles> |
| |
| </project> |