| <?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. |
| --> |
| |
| <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/maven-v4_0_0.xsd"> |
| <parent> |
| <groupId>org.apache.impala</groupId> |
| <artifactId>impala-parent</artifactId> |
| <version>0.1-SNAPSHOT</version> |
| <relativePath>../impala-parent/pom.xml</relativePath> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>org.apache.impala</groupId> |
| <artifactId>impala-frontend</artifactId> |
| <version>0.1-SNAPSHOT</version> |
| <packaging>jar</packaging> |
| |
| <name>Apache Impala Query Engine Frontend</name> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.impala</groupId> |
| <artifactId>impala-data-source-api</artifactId> |
| <version>${impala.extdatasrc.api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-auth</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-aws</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-azure-datalake</artifactId> |
| <version>${hadoop.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-core-common</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.impala</groupId> |
| <artifactId>yarn-extras</artifactId> |
| <version>${yarn-extras.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-core-model-db</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-provider-common</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-provider-file</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-provider-cache</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-policy-common</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-binding-hive</artifactId> |
| <version>${sentry.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-provider-db</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-provider-db</artifactId> |
| <version>${sentry.version}</version> |
| <classifier>sh</classifier> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-client</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-common</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-protocol</artifactId> |
| <version>${hbase.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>2.6</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>net.sourceforge.czt.dev</groupId> |
| <artifactId>java-cup</artifactId> |
| <version>0.11-a-czt02-cdh</version> |
| </dependency> |
| |
| <!-- Moved above Hive, because Hive bundles its own Thrift version |
| which supercedes this one if it comes first in the dependency |
| tree --> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libthrift</artifactId> |
| <version>${thrift.version}</version> |
| <!-- libthrift depends httpcore 4.1.3 which does not work with KMS. To workaround |
| this problem the dependency is excluded here and we explicitly add a newer |
| httpcore dependency version. See IMPALA-4210. TODO: Find a better fix. --> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| <version>${httpcomponents.core.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libfb303</artifactId> |
| <version>${thrift.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-service</artifactId> |
| <version>${hive.version}</version> |
| <!-- |
| hive-service pulls in an incoherent (not ${hadoop.version}) version of |
| hadoop-client via this dependency, which we don't need. |
| --> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-llap-server</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-serde</artifactId> |
| <version>${hive.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-client</artifactId> |
| <version>${kudu.version}</version> |
| </dependency> |
| |
| <!-- This driver supports PostgreSQL 7.2 and newer --> |
| <dependency> |
| <groupId>postgresql</groupId> |
| <artifactId>postgresql</artifactId> |
| <version>9.0-801.jdbc4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr-runtime</artifactId> |
| <version>3.3</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| <version>1.9</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.googlecode.json-simple</groupId> |
| <artifactId>json-simple</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish</groupId> |
| <artifactId>javax.json</artifactId> |
| <version>1.0.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.github.davidmoten</groupId> |
| <artifactId>flatbuffers-java</artifactId> |
| <version>1.6.0.1</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| <version>3.2.2</version> |
| </dependency> |
| |
| </dependencies> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>findbugs-maven-plugin</artifactId> |
| <version>2.5.2</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.3</version> |
| <configuration> |
| <source>1.7</source> |
| <target>1.7</target> |
| </configuration> |
| </plugin> |
| |
| <!-- Build fe/tests/ to jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>net.sourceforge.czt.dev</groupId> |
| <artifactId>cup-maven-plugin</artifactId> |
| <version>1.6-cdh</version> |
| <executions> |
| <execution> |
| <id>cup</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <cupDefinition>sql-parser.cup</cupDefinition> |
| <className>SqlParser</className> |
| <symbolsName>SqlParserSymbols</symbolsName> |
| <outputDirectory>${project.build.directory}/generated-sources/cup</outputDirectory> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>de.jflex</groupId> |
| <artifactId>maven-jflex-plugin</artifactId> |
| <version>1.4.3</version> |
| <executions> |
| <execution> |
| <id>jflex</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| <configuration> |
| <backup>false</backup> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.10</version> |
| <executions> |
| <execution> |
| <id>copy-dependencies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <configuration> |
| <excludeTypes>pom</excludeTypes> |
| <includeScope>runtime</includeScope> |
| <silent>true</silent> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.18</version> |
| <configuration> |
| <reportsDirectory>${surefire.reports.dir}</reportsDirectory> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <argLine>-Djava.library.path=${java.library.path}:${backend.library.path} ${surefireJacocoArg}</argLine> |
| <systemProperties> |
| <property> |
| <name>testExecutionMode</name> |
| <value>${testExecutionMode}</value> |
| </property> |
| <property> |
| <name>beeswax_port</name> |
| <value>${beeswax_port}</value> |
| <name>impalad</name> |
| <value>${impalad}</value> |
| <name>use_external_impalad</name> |
| <value>${use_external_impalad}</value> |
| </property> |
| </systemProperties> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.5</version> |
| <executions> |
| <!-- Tell maven about our generated files --> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <!-- Make sure Eclipse knows where to find generated sources. |
| Note that the flex plugin appears to do this for you, but we have |
| to do this manually for the CUP and Thrift generated code |
| --> |
| <source>${project.basedir}/generated-sources/gen-java</source> |
| <source>${project.build.directory}/generated-sources/cup</source> |
| <source>${project.basedir}/src/compat-minicluster-profile-${env.IMPALA_MINICLUSTER_PROFILE}/java</source> |
| </sources> |
| </configuration> |
| </execution> |
| <execution> |
| <id>add-test-source</id> |
| <phase>generate-test-sources</phase> |
| <goals> |
| <goal>add-test-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${project.basedir}/src/compat-minicluster-profile-${env.IMPALA_MINICLUSTER_PROFILE}/test/java</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.4.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <systemProperties> |
| <systemProperty> |
| <key>java.library.path</key> |
| <value>${java.library.path}:${backend.library.path}</value> |
| </systemProperty> |
| <systemProperty> |
| <key>test.hive.testdata</key> |
| <value>${project.basedir}/../testdata/target/AllTypes.txt</value> |
| </systemProperty> |
| </systemProperties> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.7.6.201602180812</version> |
| <executions> |
| <execution> |
| <id>prepare-jacoco-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <configuration> |
| <destFile>${jacoco.data.file}</destFile> |
| <propertyName>surefireJacocoArg</propertyName> |
| </configuration> |
| </execution> |
| <execution> |
| <id>jacoco-report</id> |
| <phase>test</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <configuration> |
| <dataFile>${jacoco.data.file}</dataFile> |
| <outputDirectory>${jacoco.report.dir}</outputDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <!-- Code coverage reporting is disabled by default and must be enabled |
| when running tests like this: mvn test -DcodeCoverage --> |
| <skip>${jacoco.skip}</skip> |
| </configuration> |
| </plugin> |
| |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>net.sourceforge.czt</groupId> |
| <artifactId>maven-cup-plugin</artifactId> |
| <versionRange>[1.6.4,)</versionRange> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore></ignore> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <versionRange>[1.6,)</versionRange> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore></ignore> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <versionRange>[2.0,)</versionRange> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore></ignore> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| <!-- mvn eclipse:eclipse generates Eclipse .project and .classpath files --> |
| <plugin> |
| <groupId>org.apache.maven.plugins </groupId> |
| <artifactId>maven-eclipse-plugin</artifactId> |
| <version>2.10</version> |
| <configuration> |
| <!-- By default, we separate Eclipse-built files from Maven-built |
| files. Otherwise, they are both in target/classes, and Eclipse |
| and Maven may clobber each other, complicating attaching to |
| a running process. --> |
| <buildOutputDirectory>${eclipse.output.directory}</buildOutputDirectory> |
| <downloadSources>true</downloadSources> |
| <downloadJavadocs>false</downloadJavadocs> |
| <additionalConfig> |
| <file> |
| <!-- Saved "launch configuration" for attaching Eclipse debugger to port 30000 --> |
| <name>impala-fe-30000.launch</name> |
| <content><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <launchConfiguration type="org.eclipse.jdt.launching.remoteJavaApplication"> |
| <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> |
| <listEntry value="/impala-frontend"/> |
| </listAttribute> |
| <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> |
| <listEntry value="4"/> |
| </listAttribute> |
| <booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="false"/> |
| <mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP"> |
| <mapEntry key="hostname" value="localhost"/> |
| <mapEntry key="port" value="30000"/> |
| </mapAttribute> |
| <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="impala-frontend"/> |
| <stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/> |
| </launchConfiguration> |
| ]]> |
| </content> |
| </file> |
| </additionalConfig> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>thrift-home-defined</id> |
| <activation> |
| <file> |
| <exists>${env.THRIFT_HOME}/bin/thrift</exists> |
| </file> |
| </activation> |
| <properties> |
| <thrift.executable>${env.THRIFT_HOME}/bin/thrift</thrift.executable> |
| </properties> |
| </profile> |
| <profile> |
| <id>jacoco-code-coverage</id> |
| <activation> |
| <property> |
| <!-- Enable code coverage if the 'codeCoverage' property is set. |
| Usage: mvn test -DcodeCoverage --> |
| <name>codeCoverage</name> |
| </property> |
| </activation> |
| <properties> |
| <jacoco.skip>false</jacoco.skip> |
| <!-- Due to Jacoco's runtime instrumentation some tests could fail. |
| In order to still produce a coverage report it is recommended |
| to ignore test failures. --> |
| <maven.test.failure.ignore>true</maven.test.failure.ignore> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>impala-minicluster-profile-2</id> |
| <activation> |
| <property> |
| <name>env.IMPALA_MINICLUSTER_PROFILE</name> |
| <value>2</value> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-policy-db</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.twitter</groupId> |
| <artifactId>parquet-hadoop-bundle</artifactId> |
| <version>${parquet.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-exec</artifactId> |
| <version>${hive.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-common</artifactId> |
| <version>${hive.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-jdbc</artifactId> |
| <version>${hive.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-hbase-handler</artifactId> |
| <version>${hive.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-metastore</artifactId> |
| <version>${hive.version}</version> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <id>generate-minicluster-profile-2-compat-shims</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <!-- Generates ParquetHelper for minicluster profile 2. --> |
| <target> |
| <echo file="${project.build.directory}/gen-compat-shims.sh"> |
| echo Generating shims for Minicluster Profile 2 |
| mkdir -p generated-sources/gen-java/org/apache/impala/analysis |
| sed -e s,org.apache.parquet,parquet,g src/compat-minicluster-profile-3/java/org/apache/impala/analysis/ParquetHelper.java > generated-sources/gen-java/org/apache/impala/analysis/ParquetHelper.java |
| </echo> |
| <exec executable="bash" dir="${project.basedir}" failonerror="true"> |
| <arg line="-ex ${project.build.directory}/gen-compat-shims.sh" /> |
| </exec> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </profile> |
| <profile> |
| <id>impala-minicluster-profile-3</id> |
| <activation> |
| <property> |
| <name>env.IMPALA_MINICLUSTER_PROFILE</name> |
| <value>3</value> |
| </property> |
| </activation> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.sentry</groupId> |
| <artifactId>sentry-policy-engine</artifactId> |
| <version>${sentry.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.parquet</groupId> |
| <artifactId>parquet-hadoop-bundle</artifactId> |
| <version>${parquet.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-exec</artifactId> |
| <version>${hive.version}</version> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-common</artifactId> |
| <version>${hive.version}</version> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-jdbc</artifactId> |
| <version>${hive.version}</version> |
| <scope>test</scope> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-hbase-handler</artifactId> |
| <version>${hive.version}</version> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-metastore</artifactId> |
| <version>${hive.version}</version> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive.shims</groupId> |
| <artifactId>hive-shims-common</artifactId> |
| <version>${hive.version}</version> |
| <exclusions> |
| <!-- Impala uses log4j v1; avoid pulling in slf4j handling for log4j2 --> |
| <exclusion> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M1</version> |
| <executions> |
| <execution> |
| <id>enforce-banned-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>org.apache.logging.log4j:log4j-slf4j-impl</exclude> |
| <!-- Assert that we only use artifacts from only the specified |
| version of these components. --> |
| <exclude>org.apache.hadoop:*</exclude> |
| <exclude>org.apache.hbase:*</exclude> |
| <exclude>org.apache.hive:*</exclude> |
| <exclude>org.apache.kudu:*</exclude> |
| <exclude>org.apache.sentry:*</exclude> |
| <exclude>org.apache.parquet:*</exclude> |
| </excludes> |
| <includes> |
| <include>org.apache.hadoop:*:${hadoop.version}</include> |
| <include>org.apache.hbase:*:${hbase.version}</include> |
| <include>org.apache.hive:*:${hive.version}</include> |
| <include>org.apache.kudu:*:${kudu.version}</include> |
| <include>org.apache.sentry:*:${sentry.version}</include> |
| <include>org.apache.parquet:*:${parquet.version}</include> |
| </includes> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <dependencyManagement> |
| <dependencies> |
| <!-- |
| Pin org.glassfish:javax.el explicitly. |
| |
| HBase depends on this indirectly, and it's configured with |
| a range of versions. This causes Maven to talk to all configured |
| repositories, leading both to a lot of chattiness, and also |
| failures if one of the repositories is unavailable. |
| --> |
| <dependency> |
| <groupId>org.glassfish</groupId> |
| <artifactId>javax.el</artifactId> |
| <version>3.0.1-b08</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| </profile> |
| </profiles> |
| </project> |