blob: 2ee4e9edb839a38baf48d11a40dc90c5c9c3a27c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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">
<parent>
<!--disconnected from hive root pom since this module needs 2.x jars -->
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>18</version>
<relativePath></relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<!--this module is added to parent pom so that it builds and releases with the reset of Hive-->
<groupId>org.apache.hive</groupId>
<version>3.1.1</version>
<artifactId>hive-upgrade-acid</artifactId>
<name>Hive Upgrade Acid</name>
<packaging>jar</packaging>
<properties>
<!-- Build properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.useIncrementalCompilation>false</maven.compiler.useIncrementalCompilation>
<maven.repo.local>${settings.localRepository}</maven.repo.local>
<maven.assembly.plugin.version>2.3</maven.assembly.plugin.version>
<maven.exec.plugin.version>1.6.0</maven.exec.plugin.version>
<hive.path.to.root>..</hive.path.to.root>
<!-- Plugin versions -->
<ant.contrib.version>1.0b3</ant.contrib.version>
<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
<checkstyle.conf.dir>${basedir}/checkstyle/</checkstyle.conf.dir>
<maven.checkstyle.plugin.version>2.17</maven.checkstyle.plugin.version>
<maven.surefire.version>2.20.1</maven.surefire.version>
<!-- Test Properties -->
<test.conf.dir>${project.build.directory}/testconf</test.conf.dir>
<test.log4j.scheme>file://</test.log4j.scheme>
<log4j.conf.dir>${project.basedir}/src/test/resources</log4j.conf.dir>
<test.tmp.dir>${project.build.directory}/tmp</test.tmp.dir>
<test.warehouse.dir>${project.build.directory}/warehouse</test.warehouse.dir>
<test.warehouse.scheme>file://</test.warehouse.scheme>
<test.forkcount>1</test.forkcount>
<skipITests>true</skipITests>
</properties>
<dependencies>
<!--scope is 'provided' for all. The UpgradeTool is provided as part of Hive 3.x and
supports 2 modes - preUpgrade which runs with 2.x jars on the classpath and postUpgrade
which runs with 3.x jars. 'provided' should pull these jars for compile/test but not
for packaging.-->
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-metastore</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<!-- w/o this we get this, even though mapreduce.framework.name=mapred.job.tracker=local
https://stackoverflow.com/questions/24096834/org-apache-hadoop-mapred-localclientprotocolprovider-not-found
2018-05-23T13:01:50,122 ERROR [main] exec.Task: Job Submission failed with exception 'java.io.IOException(Cannot initialize Cluster. Please check yo\
ur configuration for mapreduce.framework.name and the correspond server addresses.)'
java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82)
at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75)
at org.apache.hadoop.mapred.JobClient.init(JobClient.java:470)
at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:449)
at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:369)
at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:151)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:199)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2183)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1839)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1526)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237)
-->
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
<version>2.7.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.orc</groupId>
<artifactId>orc-core</artifactId>
<version>1.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>package.jdo</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven.antrun.plugin.version}</version>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>${ant.contrib.version}</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven.checkstyle.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${maven.exec.plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- plugins are always listed in sorted order by groupId, artifectId -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>setup-test-dirs</id>
<phase>process-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<delete dir="${test.conf.dir}" />
<delete dir="${test.tmp.dir}" />
<delete dir="${test.warehouse.dir}" />
<mkdir dir="${test.tmp.dir}" />
<mkdir dir="${test.warehouse.dir}" />
<mkdir dir="${test.conf.dir}" />
<!-- copies hive-site.xml so it can be modified -->
<copy todir="${test.conf.dir}">
<fileset dir="${basedir}/${hive.path.to.root}/data/conf/"/>
</copy>
</target>
</configuration>
</execution>
<execution>
<id>setup-metastore-scripts</id>
<phase>process-test-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<mkdir dir="${test.tmp.dir}/scripts/metastore" />
<copy todir="${test.tmp.dir}/scripts/metastore">
<fileset dir="${basedir}/${hive.path.to.root}/metastore/scripts/"/>
</copy>
<mkdir dir="${test.tmp.dir}/scripts/metastore/upgrade" />
<copy todir="${test.tmp.dir}/scripts/metastore/upgrade">
<fileset dir="${basedir}/${hive.path.to.root}/standalone-metastore/src/main/sql/"/>
</copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reuseForks>false</reuseForks>
<argLine>-Xmx2048m</argLine>
<failIfNoTests>false</failIfNoTests>
<systemPropertyVariables>
<log4j.debug>true</log4j.debug>
<java.io.tmpdir>${test.tmp.dir}</java.io.tmpdir>
<test.tmp.dir>${test.tmp.dir}</test.tmp.dir>
<hive.in.test>true</hive.in.test>
</systemPropertyVariables>
<additionalClasspathElements>
<additionalClasspathElement>${log4j.conf.dir}</additionalClasspathElement>
</additionalClasspathElements>
<skipITs>${skipITests}</skipITs> <!-- set this to false to run these tests -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<reuseForks>false</reuseForks>
<forkCount>${test.forkcount}</forkCount>
<argLine>-Xmx2048m</argLine>
<failIfNoTests>false</failIfNoTests>
<systemPropertyVariables>
<build.dir>${project.build.directory}</build.dir>
<datanucleus.schema.autoCreateAll>true</datanucleus.schema.autoCreateAll>
<derby.version>${derby.version}</derby.version>
<derby.stream.error.file>${test.tmp.dir}/derby.log</derby.stream.error.file>
<!--next line needed to get hive.log-->
<log4j.configurationFile>${test.log4j.scheme}${test.conf.dir}/hive-log4j2.properties</log4j.configurationFile>
<log4j.debug>true</log4j.debug>
<java.io.tmpdir>${test.tmp.dir}</java.io.tmpdir>
<!--
use 'memory' to make it run faster
<javax.jdo.option.ConnectionURL>jdbc:derby:memory:${test.tmp.dir}/junit_metastore_db;create=true</javax.jdo.option.ConnectionURL>-->
<javax.jdo.option.ConnectionURL>jdbc:derby:${test.tmp.dir}/junit_metastore_db;create=true</javax.jdo.option.ConnectionURL>
<metastore.schema.verification>false</metastore.schema.verification>
<test.tmp.dir>${test.tmp.dir}</test.tmp.dir>
<metastore.warehouse.dir>${test.warehouse.scheme}${test.warehouse.dir}</metastore.warehouse.dir>
<!-- both default to 'local'
<mapred.job.tracker>local</mapred.job.tracker>
<mapreduce.framework.name>local</mapreduce.framework.name>-->
</systemPropertyVariables>
<additionalClasspathElements>
<additionalClasspathElement>${log4j.conf.dir}</additionalClasspathElement>
<additionalClasspathElement>${test.conf.dir}</additionalClasspathElement>
<!--puts hive-site.xml on classpath - w/o HMS tables are not created-->
<additionalClasspathElement>${test.conf.dir}/conf</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>