| <?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> |
| <artifactId>hive-standalone-metastore</artifactId> |
| <groupId>org.apache.hive</groupId> |
| <version>4.0.0-SNAPSHOT</version> |
| </parent> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <artifactId>hive-standalone-metastore-common</artifactId> |
| <name>Hive Standalone Metastore Common Code</name> |
| |
| <properties> |
| <standalone.metastore.path.to.root>..</standalone.metastore.path.to.root> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.orc</groupId> |
| <artifactId>orc-core</artifactId> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-storage-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.github.joshelser</groupId> |
| <artifactId>dropwizard-metrics-hadoop-metrics2-reporter</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.zaxxer</groupId> |
| <artifactId>HikariCP</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-jvm</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.dropwizard.metrics</groupId> |
| <artifactId>metrics-json</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>javolution</groupId> |
| <artifactId>javolution</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr-runtime</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.antlr</groupId> |
| <artifactId>ST4</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.derby</groupId> |
| <artifactId>derby</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-common</artifactId> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-framework</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-distcp</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs</artifactId> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-hdfs-client</artifactId> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-mapreduce-client-core</artifactId> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hive</groupId> |
| <artifactId>hive-storage-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-1.2-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libfb303</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.thrift</groupId> |
| <artifactId>libthrift</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.skyscreamer</groupId> |
| <artifactId>jsonassert</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.zookeeper</groupId> |
| <artifactId>zookeeper</artifactId> |
| <version>${zookeeper.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>io.netty</groupId> |
| <artifactId>netty-all</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.github.ben-manes.caffeine</groupId> |
| <artifactId>caffeine</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-recipes</artifactId> |
| <version>${curator.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.curator</groupId> |
| <artifactId>curator-framework</artifactId> |
| <version>${curator.version}</version> |
| </dependency> |
| <!-- test scope dependencies --> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <profile> |
| <id>thriftif</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>generate-thrift-sources</id> |
| <phase>generate-sources</phase> |
| <configuration> |
| <target> |
| <taskdef name="for" classname="net.sf.antcontrib.logic.ForTask" |
| classpathref="maven.plugin.classpath" /> |
| <property name="thrift.args" value="${thrift.args}"/> |
| <property name="thrift.gen.dir" value="${thrift.gen.dir}"/> |
| <delete dir="${thrift.gen.dir}"/> |
| <mkdir dir="${thrift.gen.dir}"/> |
| <for param="thrift.file"> |
| <path> |
| <fileset dir="." includes="src/main/thrift/*.thrift" /> |
| </path> |
| <sequential> |
| <echo message="Generating Thrift code for @{thrift.file}"/> |
| <exec executable="${thrift.home}/bin/thrift" failonerror="true" dir="."> |
| <arg line="${thrift.args} -I ${basedir}/include -I ${basedir}/.. -o ${thrift.gen.dir} @{thrift.file} " /> |
| </exec> |
| </sequential> |
| </for> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.google.code.maven-replacer-plugin</groupId> |
| <artifactId>replacer</artifactId> |
| <version>1.5.3</version> |
| <executions> |
| <execution> |
| <id>process-thrift-sources-string-intern</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>replace</goal> |
| </goals> |
| <configuration> |
| <basedir>${basedir}/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/</basedir> |
| <includes> |
| <include>FieldSchema.java</include> |
| <include>Partition.java</include> |
| <include>SerDeInfo.java</include> |
| <include>StorageDescriptor.java</include> |
| <include>ColumnStatisticsDesc.java</include> |
| <include>ColumnStatisticsObj.java</include> |
| </includes> |
| <tokenValueMap>${basedir}/src/main/resources/thrift-replacements.txt</tokenValueMap> |
| <regex>true</regex> |
| <quiet>false</quiet> |
| </configuration> |
| </execution> |
| <execution> |
| <id>process-thrift-sources-interface-annotations</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>replace</goal> |
| </goals> |
| <configuration> |
| <basedir>${basedir}/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/</basedir> |
| <filesToInclude>*.java</filesToInclude> |
| <replacements> |
| <replacement> |
| <token>public class</token> |
| <value>@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public class</value> |
| <unescape>true</unescape> |
| </replacement> |
| <replacement> |
| <token>public static class</token> |
| <value>@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class</value> |
| <unescape>true</unescape> |
| </replacement> |
| <replacement> |
| <token>public interface</token> |
| <value>@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public interface</value> |
| <unescape>true</unescape> |
| </replacement> |
| </replacements> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>spotbugs</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.0.0</version> |
| <dependencies> |
| <!-- Specify the version of spotbugs --> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs</artifactId> |
| <version>4.0.3</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <fork>true</fork> |
| <maxHeap>2048</maxHeap> |
| <jvmArgs>-Djava.awt.headless=true -Xmx2048m -Xms512m</jvmArgs> |
| <excludeFilterFile>${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml</excludeFilterFile> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.0.0</version> |
| <configuration> |
| <fork>true</fork> |
| <maxHeap>2048</maxHeap> |
| <jvmArgs>-Djava.awt.headless=true -Xmx2048m -Xms512m</jvmArgs> |
| <excludeFilterFile>${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml</excludeFilterFile> |
| </configuration> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| </profiles> |
| |
| <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> |
| <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.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, artifactId --> |
| <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.tmp.dir}" /> |
| <delete dir="${test.warehouse.dir}" /> |
| <mkdir dir="${test.tmp.dir}" /> |
| <mkdir dir="${test.warehouse.dir}" /> |
| </target> |
| </configuration> |
| </execution> |
| <execution> |
| <id>generate-version-annotation</id> |
| <phase>generate-sources</phase> |
| <configuration> |
| <target> |
| <exec executable="bash" failonerror="true"> |
| <arg value="${basedir}/src/main/resources/saveVersion.sh"/> |
| <arg value="${project.version}"/> |
| <arg value="${hive.version.shortname}"/> |
| <arg value="${basedir}/src"/> |
| </exec> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>setup-metastore-scripts</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.os72</groupId> |
| <artifactId>protoc-jar-maven-plugin</artifactId> |
| <version>3.5.1.1</version> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <protocArtifact>${protobuf.group}:protoc:${protobuf-exc.version}</protocArtifact> |
| <addSources>none</addSources> |
| <inputDirectories> |
| <include>${basedir}/src/main/protobuf/org/apache/hadoop/hive/metastore</include> |
| </inputDirectories> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- TODO MS-SPLIT javadoc plugin --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-banned-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <!--LGPL licenced library--> |
| <exclude>com.google.code.findbugs:annotations</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| <fail>true</fail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <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> |
| <additionalClasspathElement>${itest.jdbc.jars}</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> |
| <configuration> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <reuseForks>false</reuseForks> |
| <forkCount>${test.forkcount}</forkCount> |
| <argLine>-Xmx2048m</argLine> |
| <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> |
| <log4j.debug>true</log4j.debug> |
| <java.io.tmpdir>${test.tmp.dir}</java.io.tmpdir> |
| <javax.jdo.option.ConnectionURL>jdbc:derby:memory:${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> |
| </systemPropertyVariables> |
| <additionalClasspathElements> |
| <additionalClasspathElement>${log4j.conf.dir}</additionalClasspathElement> |
| </additionalClasspathElements> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>binary-package-licenses/**</exclude> |
| <exclude>DEV-README</exclude> |
| <exclude>**/src/main/sql/**</exclude> |
| <exclude>**/README.md</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/*.txt</exclude> |
| <exclude>**/*.log</exclude> |
| <exclude>**/*.arcconfig</exclude> |
| <exclude>**/package-info.java</exclude> |
| <exclude>**/*.properties</exclude> |
| <exclude>**/*.q</exclude> |
| <exclude>**/*.q.out</exclude> |
| <exclude>**/*.xml</exclude> |
| <exclude>**/gen/**</exclude> |
| <exclude>**/patchprocess/**</exclude> |
| <exclude>**/metastore_db/**</exclude> |
| </excludes> |
| </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> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <id>add-source</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>src/gen/thrift/gen-javabean</source> |
| <source>${project.build.directory}/generated-sources</source> |
| <source>src/gen/version</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.antlr</groupId> |
| <artifactId>antlr3-maven-plugin</artifactId> |
| <version>${antlr.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>antlr</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <outputDirectory>${project.build.directory}/generated-sources</outputDirectory> |
| <sourceDirectory>${basedir}/src/main/java</sourceDirectory> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Suppress source assembly --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>assemble</id> |
| <phase>none</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| </project> |