| <!-- |
| 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"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>tinkerpop</artifactId> |
| <version>3.6.0-SNAPSHOT</version> |
| </parent> |
| <artifactId>hadoop-gremlin</artifactId> |
| <name>Apache TinkerPop :: Hadoop Gremlin</name> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <!-- see: https://github.com/apache/hadoop/pull/84 --> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>3.7.1.Final</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-groovy</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client</artifactId> |
| <version>${hadoop.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.nimbusds</groupId> |
| <artifactId>nimbus-jose-jwt</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.xerial.snappy</groupId> |
| <artifactId>snappy-java</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.codehaus.woodstox</groupId> |
| <artifactId>stax2-api</artifactId> |
| </exclusion> |
| <!-- align paranamer with expected spark-gremlin version - using 2.3 from hadoop via avro breaks spark |
| execution given incompatibilities with java 8 --> |
| <exclusion> |
| <groupId>com.thoughtworks.paranamer</groupId> |
| <artifactId>paranamer</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- hadoop-client conflict resolution --> |
| <dependency> |
| <groupId>com.thoughtworks.paranamer</groupId> |
| <artifactId>paranamer</artifactId> |
| <version>2.8</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.woodstox</groupId> |
| <artifactId>stax2-api</artifactId> |
| <version>4.2.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-compress</artifactId> |
| <version>1.19</version> |
| </dependency> |
| <dependency> |
| <groupId>org.xerial.snappy</groupId> |
| <artifactId>snappy-java</artifactId> |
| <version>1.1.8.2</version> |
| </dependency> |
| <dependency> |
| <groupId>com.nimbusds</groupId> |
| <artifactId>nimbus-jose-jwt</artifactId> |
| <version>9.8.1</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>27.0-jre</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| <version>1.2</version> |
| </dependency> |
| <!-- use jackson 2.12.3 to fit better with spark where Scala module 2.12.3 requires Jackson Databind version >= 2.12.0 and < 2.13.0 --> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>2.12.3</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>2.12.3</version> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>2.12.3</version> |
| </dependency> |
| <!-- log4j is required by hadoop --> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>1.2.17</version> |
| </dependency> |
| <!-- TEST --> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>gremlin-test</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tinkerpop</groupId> |
| <artifactId>tinkergraph-gremlin</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>4.2.3</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <directory>${basedir}/target</directory> |
| <finalName>${project.artifactId}-${project.version}</finalName> |
| <resources> |
| <resource> |
| <directory>${basedir}/src/main/resources</directory> |
| </resource> |
| </resources> |
| <testResources> |
| <testResource> |
| <directory>${basedir}/src/test/resources</directory> |
| </testResource> |
| </testResources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Gremlin-Plugin-Dependencies>org.apache.hadoop:hadoop-client:${hadoop.version} |
| </Gremlin-Plugin-Dependencies> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>build-detached-assemblies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <attach>false</attach> |
| <descriptors> |
| <descriptor>src/assembly/standalone.xml</descriptor> |
| <descriptor>src/assembly/hadoop-job.xml</descriptor> |
| </descriptors> |
| <finalName>${project.artifactId}-${project.version}</finalName> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-hadoop-installed</id> |
| <phase>test-compile</phase> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireEnvironmentVariable> |
| <level>WARN</level> |
| <variableName>HADOOP_HOME</variableName> |
| <message>Please install Hadoop ${hadoop.version} standalone and set HADOOP_HOME OS environment variable</message> |
| </requireEnvironmentVariable> |
| <requireEnvironmentVariable> |
| <level>WARN</level> |
| <variableName>HADOOP_GREMLIN_LIBS</variableName> |
| <message>Please set HADOOP_GREMLIN_LIBS OS environment variable as of http://tinkerpop.apache.org/docs/current/reference/#hadoop-gremlin
HADOOP_GREMLIN_LIBS=<hadoop installation dir>/share/hadoop/common/lib seems good enough |
| </message> |
| </requireEnvironmentVariable> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |