blob: da66a3b63ca9b39b626235a3c06cc58279e5f98a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<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>gremlin-tools</artifactId>
<groupId>org.apache.tinkerpop</groupId>
<version>3.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gremlin-socket-server</artifactId>
<name>Apache TinkerPop :: Gremlin Socket Server</name>
<dependencies>
<dependency>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>gremlin-util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>tinkergraph-gremlin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>${netty.version}</version>
</dependency>
<!-- LOGGING -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-json</artifactId>
<version>${groovy.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
<properties>
<!--
provides a way to convert maven.exec.skip value to skipImageBuild for use in skipping image building for testing
under incompatible platforms
-->
<maven.exec.skip>false</maven.exec.skip> <!-- default -->
<skipImageBuild>${maven.exec.skip}</skipImageBuild>
</properties>
<build>
<directory>${basedir}/target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources
</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/libs
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>org.apache.tinkerpop.gremlin.socket.server.SocketServerRunner</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
</manifest>
</archive>
</configuration>
</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>
<!--
gremlin socket server image will be generated on each build as language variants will need the latest to do
their work.
-->
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.2.1</version>
<executions>
<execution>
<id>build-image</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipImageBuild}</skip>
<executable>docker</executable>
<arguments>
<argument>build</argument>
<argument>-f</argument>
<argument>./Dockerfile</argument>
<argument>--build-arg</argument>
<argument>SOCKET_SERVER_DIR=target/</argument>
<argument>--build-arg</argument>
<argument>SOCKET_SERVER_VERSION=${project.version}</argument>
<argument>-t</argument>
<argument>tinkerpop/gremlin-socket-server:${project.version}</argument>
<argument>.</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>remove-dangling-images</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${skipImageBuild}</skip>
<executable>docker</executable>
<arguments>
<argument>image</argument>
<argument>prune</argument>
<argument>--filter</argument>
<argument>label=maintainer=dev@tinkerpop.apache.org</argument>
<argument>-f</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>