blob: bbb4cadacb1aea7c97f0e7fe7d06c76f28826d4f [file] [log] [blame]
<!--
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</groupId>
<artifactId>apache</artifactId>
<version>21</version>
</parent>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>tinkerpop</artifactId>
<version>3.4.7-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache TinkerPop</name>
<description>A Graph Computing Framework</description>
<url>http://tinkerpop.apache.org/</url>
<mailingLists>
<mailingList>
<name>Users</name>
<subscribe>http://groups.google.com/group/gremlin-users</subscribe>
<unsubscribe>http://groups.google.com/group/gremlin-users</unsubscribe>
<archive>http://groups.google.com/group/gremlin-users/topics</archive>
</mailingList>
<mailingList>
<name>Developers</name>
<subscribe>dev-subscribe@tinkerpop.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@tinkerpop.apache.org</unsubscribe>
<archive>dev-digest-subscribe@tinkerpop.apache.org</archive>
</mailingList>
</mailingLists>
<inceptionYear>2013</inceptionYear>
<licenses>
<license>
<name>Apache 2</name>
<url>http://www.opensource.org/licenses/Apache-2.0</url>
</license>
</licenses>
<organization>
<name>Apache Software Foundation</name>
<url>http://www.apache.org/</url>
</organization>
<developers>
<developer>
<name>Marko A. Rodriguez</name>
<email>okram@apache.org</email>
<url>http://markorodriguez.com</url>
</developer>
<developer>
<name>Stephen Mallette</name>
<email>spmallette@apache.org</email>
<url>http://stephen.genoprime.com</url>
</developer>
<developer>
<name>Daniel Kuppitz</name>
<email>dkuppitz@apache.org</email>
<url>http://gremlin.guru</url>
</developer>
</developers>
<contributors>
<contributor>
<name>Joshua Shinavier</name>
<email>josh@fortytwo.net</email>
<url>http://fortytwo.net</url>
</contributor>
<contributor>
<name>Michael Pollmeier</name>
<email>michael@michaelpollmeier.com</email>
<url>http://michaelpollmeier.com</url>
</contributor>
<contributor>
<name>Pieter Martin</name>
<email>pieter.martin@gmail.com</email>
<url>http://umlg.org</url>
</contributor>
<contributor>
<name>Matt Frantz</name>
<email>matthew.h.frantz@gmail.com</email>
<url>https://github.com/mhfrantz</url>
</contributor>
<contributor>
<name>Jason Plurad</name>
<email>pluradj@gmail.com</email>
<url>https://github.com/pluradj</url>
</contributor>
<contributor>
<name>Dylan Millikin</name>
<email>dylan.millikin@gmail.com</email>
<url>https://github.com/PommeVerte</url>
</contributor>
<contributor>
<name>Ted Wilmes</name>
<email>twilmes@gmail.com</email>
<url>https://github.com/twilmes</url>
</contributor>
<contributor>
<name>Harsh Thakkar</name>
<email>harsh9t@gmail.com</email>
<organization>University of Bonn</organization>
<organizationUrl>http://harshthakkar.in</organizationUrl>
</contributor>
<contributor>
<name>Dharmen Punjani</name>
<email>dharmen.punjani@gmail.com</email>
<organization>National and Kapodistrian University of Athens</organization>
<organizationUrl>http://wdaqua.eu/students/dharmen-punjani</organizationUrl>
</contributor>
</contributors>
<modules>
<module>gremlin-shaded</module>
<module>gremlin-core</module>
<module>gremlin-test</module>
<module>gremlin-groovy</module>
<module>tinkergraph-gremlin</module>
<module>gremlin-javascript</module>
<module>gremlin-python</module>
<module>gremlin-dotnet</module>
<module>hadoop-gremlin</module>
<module>spark-gremlin</module>
<module>neo4j-gremlin</module>
<module>sparql-gremlin</module>
<module>gremlin-driver</module>
<module>gremlin-console</module>
<module>gremlin-server</module>
<module>gremlin-archetype</module>
<module>gremlin-tools</module>
</modules>
<scm>
<connection>scm:git:git@github.com:apache/tinkerpop.git</connection>
<developerConnection>scm:git:git@github.com:apache/tinkerpop.git</developerConnection>
<url>https://github.com/apache/tinkerpop</url>
</scm>
<properties>
<commons.configuration.version>1.10</commons.configuration.version>
<commons.lang.version>2.6</commons.lang.version>
<commons.lang3.version>3.8.1</commons.lang3.version>
<groovy.version>2.5.11</groovy.version>
<hadoop.version>2.7.2</hadoop.version>
<java.tuples.version>1.2</java.tuples.version>
<javadoc-plugin.version>2.10.4</javadoc-plugin.version>
<jcabi.version>1.1</jcabi.version>
<log4j.version>1.2.17</log4j.version>
<metrics.version>3.0.2</metrics.version>
<netty.version>4.1.42.Final</netty.version>
<slf4j.version>1.7.25</slf4j.version>
<snakeyaml.version>1.15</snakeyaml.version>
<spark.version>2.4.0</spark.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<skipIntegrationTests>true</skipIntegrationTests>
<!--
This file will come from the root of each modules test/resources/ directories. log4j-silent.properties will
turn off all logging possible while still allowing tests to pass. log4j-test.properties will be more verbose
in its output.
-->
<log4j-test.properties>file:target/test-classes/log4j-test.properties</log4j-test.properties>
<log4j-silent.properties>file:target/test-classes/log4j-silent.properties</log4j-silent.properties>
<muteTestLogs>false</muteTestLogs>
</properties>
<build>
<directory>${basedir}/target</directory>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-all</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<DependencyConvergence/>
<requireJavaVersion>
<version>[1.8.0-40,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.3.9,)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>
<excludes>
<exclude>gremlin-dotnet/src/obj/**</exclude>
<exclude>gremlin-dotnet/src/_site/**</exclude>
<exclude>gremlin-javascript/src/main/javascript/gremlin-javascript/node_modules/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<tags>
<tag>
<name>example</name>
<placement>aoptcmf</placement>
<head>Example:</head>
</tag>
</tags>
</configuration>
<executions>
<execution>
<id>aggregate-in-site-lifecycle</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
<dependencySourceInclude>org.apache.tinkerpop:*</dependencySourceInclude>
</dependencySourceIncludes>
<overview>${basedir}/docs/javadoc/overview.html</overview>
<quiet>true</quiet>
</configuration>
</execution>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<!-- source: https://stackoverflow.com/a/39139979/6753576 -->
<!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used,
to the project version otherwise -->
<id>build-helper-regex-is-snapshot-used</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>only.when.is.snapshot.used</name>
<value>${project.version}</value>
<regex>.*-SNAPSHOT</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<!-- sets the only.when.is.prerelease.version property to true if a prerelease version was used,
to the project version otherwise -->
<id>build-helper-regex-is-prerelease-version</id>
<phase>validate</phase>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>only.when.is.prerelease.version</name>
<value>${project.version}</value>
<regex>.*-.*</regex>
<replacement>true</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestEntries>
<version>${project.version}</version>
<hash>${buildNumber}</hash>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
<executions>
<execution>
<id>rat-checks</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>.mailmap</exclude>
<exclude>.travis.yml</exclude>
<exclude>.travis.*.sh</exclude>
<exclude>.dockerignore</exclude>
<exclude>.dependabot/**</exclude>
<exclude>**/.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/.idea/**</exclude>
<exclude>.repository/**</exclude>
<exclude>docs/static/**</exclude>
<exclude>**/target/**</exclude>
<exclude>data/*.txt</exclude>
<exclude>**/*.kryo</exclude>
<exclude>**/*.gbin</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.json</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.ldjson</exclude>
<exclude>**/*.graffle</exclude>
<exclude>**/goal.txt</exclude>
<exclude>**/src/main/resources/META-INF/services/**</exclude>
<exclude>**/src/test/resources/META-INF/services/**</exclude>
<exclude>**/src/test/resources/org/apache/tinkerpop/gremlin/console/groovy/plugin/script-customizer-*.groovy</exclude>
<exclude>**/src/test/resources/org/apache/tinkerpop/gremlin/jsr223/script-customizer-*.groovy</exclude>
<exclude>**/src/test/resources/org/apache/tinkerpop/gremlin/console/jsr223/script-customizer-*.groovy</exclude>
<exclude>**/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/*.txt</exclude>
<exclude>**/src/main/ext/**</exclude>
<exclude>**/src/main/static/**</exclude>
<exclude>**/_bsp/**</exclude>
<exclude>DEPENDENCIES</exclude>
<exclude>**/.glv</exclude>
<exclude>bin/gremlin.sh</exclude>
<exclude>gremlin-console/bin/gremlin.sh</exclude>
<exclude>docs/site/home/css/**</exclude>
<exclude>docs/site/home/js/**</exclude>
<exclude>**/Debug/**</exclude>
<exclude>**/Release/**</exclude>
<exclude>**/obj/**</exclude>
<exclude>**/*.sln</exclude>
<exclude>**/*.user</exclude>
<exclude>**/*.csproj</exclude>
<exclude>**/.vs/**</exclude>
<exclude>**/NuGet.Config</exclude>
<exclude>**/*.nuspec</exclude>
<exclude>**/*.nuspec.template</exclude>
<exclude>**/gremlin-javascript/node_modules/**</exclude>
<exclude>**/gremlin-javascript/doc/**</exclude>
<exclude>**/node/node_modules/**</exclude>
<exclude>**/node/node</exclude>
<exclude>**/npm-debug.log</exclude>
<exclude>**/_site/**</exclude>
<exclude>**/.pytest_cache/**</exclude>
<exclude>**/docfx/**</exclude>
</excludes>
<licenses>
<license implementation="org.apache.rat.analysis.license.ApacheSoftwareLicense20"/>
</licenses>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.6</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
<!-- we never use this plugin - disabling helps with speeding up other processing like when using -Dcoverage -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<argLine>-Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
</argLine>
<trimStackTrace>false</trimStackTrace>
<excludes>
<exclude>**/*IntegrateTest.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.21.0</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<includes>
<include>**/*IntegrateTest.java</include>
</includes>
<skipTests>${skipIntegrationTests}</skipTests>
<argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182 -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
</argLine>
<summaryFile>target/failsafe-reports/failsafe-integration.xml</summaryFile>
</configuration>
</execution>
<execution>
<id>verify-integration-test</id>
<goals>
<goal>verify</goal>
</goals>
<configuration>
<skipTests>${skipIntegrationTests}</skipTests>
<summaryFiles>
<summaryFile>target/failsafe-reports/failsafe-integration.xml</summaryFile>
</summaryFiles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.5</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>1.9.0</version>
<configuration>
<targetBytecode>1.8</targetBytecode>
<invokeDynamic>true</invokeDynamic>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<!-- can't upgrade past 1.4.6 until we enforce maven 3.5.2 or better
https://github.com/spotify/dockerfile-maven/issues/252 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencyManagement>
<dependencies>
<!-- commons-configuration drags in the old commons-lang. need to update someday -->
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${commons.configuration.version}</version>
<exclusions>
<!-- self-conflict -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
<exclusions>
<!-- self-conflicts -->
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
<exclusion>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</exclusion>
<!-- conflict with commons-configuration -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<!-- conflict with TinkerPop tests -->
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${metrics.version}</version>
<exclusions>
<!-- conflict with jcl-over-slf4j-->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
<version>${metrics.version}</version>
<optional>true</optional>
<exclusions>
<!-- conflict with jcl-over-slf4j-->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-ganglia</artifactId>
<version>${metrics.version}</version>
<optional>true</optional>
<exclusions>
<!-- conflict with jcl-over-slf4j-->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<!-- LGPL licensed - users will need to install this jar manually -->
<exclusion>
<groupId>org.acplt</groupId>
<artifactId>oncrpc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
<exclusions>
<!-- exclude commons-logging in favor of slf4j via jcl-over-slf4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.8</version>
<exclusions>
<!-- bring commons-codec in line with TinkerPop -->
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.19</version>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>asciidoc</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>asciidoc</name>
</property>
</activation>
<properties>
<!-- the source asciidocs are copied from /docs to asciidoc.source.dir by bin/process-docs.sh
where they can the scripts embedded in the text are then executed and their results shoved
back into the doc -->
<asciidoc.source.dir>${project.basedir}/target/postprocess-asciidoc</asciidoc.source.dir>
<!-- once code processing is over, the documents are basically ready for the formatter and are
copied by way of the maven-resources-plugin to asciidoc.input.dir where they will be processed
by the asciidoctor plugin -->
<asciidoc.input.dir>${project.basedir}/target/doc-source</asciidoc.input.dir>
<!-- the output directory for the asciidoctor plugin - finalized documents can be found here -->
<htmlsingle.output.dir>${project.basedir}/target/docs/htmlsingle</htmlsingle.output.dir>
<asciidoctor.style.dir>${asciidoc.input.dir}/stylesheets</asciidoctor.style.dir>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<inherited>false</inherited>
<executions>
<!-- copies docs already handled by the preprocessor to their staging area for asciidoc formatting -->
<execution>
<id>copy-docs-to-work-area</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${asciidoc.input.dir}</outputDirectory>
<resources>
<resource>
<directory>${asciidoc.source.dir}</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
<!-- copies images/resources to staging area for asciidoc formatting -->
<execution>
<id>copy-static-assets-to-htmlsingle</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${htmlsingle.output.dir}</outputDirectory>
<resources>
<resource>
<directory>${asciidoc.input.dir}/static</directory>
<filtering>false</filtering>
</resource>
</resources>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>png</nonFilteredFileExtension>
<nonFilteredFileExtension>py</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>home</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${asciidoc.input.dir}</directory>
<targetPath>${htmlsingle.output.dir}</targetPath>
<includes>
<include>index.asciidoc</include>
</includes>
<excludes>
<exclude>${asciidoc.input.dir}/static/*.*</exclude>
</excludes>
</resource>
</resources>
<sourceDirectory>${asciidoc.input.dir}</sourceDirectory>
<outputDirectory>${htmlsingle.output.dir}</outputDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<backend>html5</backend>
<doctype>article</doctype>
<attributes>
<imagesdir>images</imagesdir>
<encoding>UTF-8</encoding>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>reference-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/reference</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/reference</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>upgrade-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/upgrade</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/upgrade</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>developer-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/dev/developer</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/dev/developer</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>future-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/dev/future</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/dev/future</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>io-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/dev/io</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/dev/io</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>provider-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/dev/provider</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/dev/provider</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>3</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>recipe-book</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/recipes</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/recipes</outputDirectory>
<backend>html5</backend>
<doctype>book</doctype>
<attributes>
<imagesdir>../images</imagesdir>
<encoding>UTF-8</encoding>
<toc>true</toc>
<toclevels>2</toclevels>
<toc-position>left</toc-position>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>tutorial-getting-started</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/tutorials/getting-started</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/tutorials/getting-started
</outputDirectory>
<backend>html5</backend>
<doctype>article</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>tutorial-the-gremlin-console</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/tutorials/the-gremlin-console
</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/tutorials/the-gremlin-console
</outputDirectory>
<backend>html5</backend>
<doctype>article</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>tutorial-gremlin-language-variants</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/tutorials/gremlin-language-variants
</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/tutorials/gremlin-language-variants
</outputDirectory>
<backend>html5</backend>
<doctype>article</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
<execution>
<id>tutorial-gremlins-anatomy</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDirectory>${asciidoc.input.dir}/tutorials/gremlins-anatomy</sourceDirectory>
<sourceDocumentName>index.asciidoc</sourceDocumentName>
<outputDirectory>${htmlsingle.output.dir}/tutorials/gremlins-anatomy
</outputDirectory>
<backend>html5</backend>
<doctype>article</doctype>
<attributes>
<imagesdir>../../images</imagesdir>
<encoding>UTF-8</encoding>
<stylesdir>${asciidoctor.style.dir}</stylesdir>
<stylesheet>tinkerpop.css</stylesheet>
<source-highlighter>coderay</source-highlighter>
<basedir>${project.basedir}</basedir>
</attributes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadoc</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>javadoc</name>
</property>
</activation>
<properties>
<javadoc.dir>${project.build.directory}/site/apidocs</javadoc.dir>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- There's a maven-javadoc-plugin:aggregate execution above,
but it's bound to the site lifecycle, so we can't rely on it.
This execution binds to the default lifecycle. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>aggregate-full-in-default-lifecycle</id>
<goals>
<goal>javadoc</goal>
</goals>
<phase>generate-sources</phase>
<inherited>false</inherited>
<configuration>
<destDir>full</destDir>
<additionalparam>-Xdoclint:none</additionalparam>
<overview>${basedir}/docs/javadoc/overview.html</overview>
<quiet>true</quiet>
<sourcepath>
gremlin-core/src/main/java:gremlin-driver/src/main/java:gremlin-groovy/src/main/java:gremlin-python/src/main/java:gremlin-server/src/main/java:gremlin-test/src/main/java:hadoop-gremlin/src/main/java:neo4j-gremlin/src/main/java:spark-gremlin/src/main/java:tinkergraph-gremlin/src/main/java
</sourcepath>
</configuration>
</execution>
<execution>
<id>aggregate-core-in-default-lifecycle</id>
<goals>
<goal>javadoc</goal>
</goals>
<phase>generate-sources</phase>
<inherited>false</inherited>
<configuration>
<destDir>core</destDir>
<additionalparam>-Xdoclint:none</additionalparam>
<overview>${basedir}/docs/javadoc/overview.html</overview>
<quiet>true</quiet>
<sourcepath>
gremlin-core/src/main/java:gremlin-driver/src/main/java
</sourcepath>
<sourceFileIncludes>
<!-- jsr223 -->
<include>
org/apache/tinkerpop/gremlin/jsr223/*.java
</include>
<include>
org/apache/tinkerpop/gremlin/jsr223/console/*.java
</include>
<!-- structure -->
<include>
org/apache/tinkerpop/gremlin/structure/*.java
</include>
<!-- io -->
<include>
org/apache/tinkerpop/gremlin/structure/io/*.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLReader.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONWriter.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/gryo/GryoReader.java
</include>
<include>
org/apache/tinkerpop/gremlin/structure/io/gryo/GryoWriter.java
</include>
<!-- process -->
<include>
org/apache/tinkerpop/gremlin/process/*.java
</include>
<!-- computer -->
<include>org/apache/tinkerpop/gremlin/process/computer/*.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/computer/clustering/connected/ConnectedComponentVertexProgram.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/computer/clustering/peerpressure/PeerPressureVertexProgram.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/computer/ranking/pagerank/PageRankVertexProgram.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/computer/search/path/ShortestPathVertexProgram.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
</include>
<!-- traversal -->
<include>
org/apache/tinkerpop/gremlin/process/traversal/*.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
</include>
<include>
org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource.java
</include>
<!-- driver -->
<include>org/apache/tinkerpop/gremlin/driver/*.java
</include>
</sourceFileIncludes>
<!-- add dependencies as necessary here - not sure why this is necessary, but assume
it is related to the <sourceFileIncludes> as ERROR messages do not appear on
build for the "full" javadocs -->
<additionalDependencies>
<additionalDependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${commons.configuration.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.javatuples</groupId>
<artifactId>javatuples</artifactId>
<version>${java.tuples.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>gremlin-shaded</artifactId>
<version>${project.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-groovysh</artifactId>
<version>${groovy.version}</version>
<classifier>indy</classifier>
</additionalDependency>
<additionalDependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-json</artifactId>
<version>${groovy.version}</version>
<classifier>indy</classifier>
</additionalDependency>
<additionalDependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons.lang.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>${netty.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-manifests</artifactId>
<version>${jcabi.version}</version>
</additionalDependency>
</additionalDependencies>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>apply-filters-to-javadoc</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/javadoc-temp</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/site/apidocs</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-java-doc-back</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/site/apidocs</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/javadoc-temp</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- Continuous Integration - mutes test logs and skip javadoc generation to lighten output -->
<id>ci</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>ci</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc-plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dlog4j.configuration=${log4j-silent.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true -Djava.net.preferIPv4Stack=true
</argLine>
<excludes>
<exclude>**/*IntegrateTest.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>grapes</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>cleanGrapes</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.6.0</version>
<inherited>false</inherited>
<executions>
<execution>
<id>clean-grapes</id>
<phase>clean</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/bin/clean-grapes.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>coverage</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>coverage</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>target/jacoco.exec</destFile>
<append>true</append>
<propertyName>surefireArgLine</propertyName>
<excludes>
<exclude>Lib/*.class</exclude>
<exclude>Lib/aenum/**</exclude>
<exclude>Lib/backports/**</exclude>
<exclude>Lib/certifi/**</exclude>
<exclude>Lib/setuptools/**</exclude>
<exclude>Lib/setuptools.command/**</exclude>
<exclude>Lib/tornado/**</exclude>
<exclude>Lib/tornado.platform/**</exclude>
<exclude>Lib/tornado.test/**</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>prepare-it-agent</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>target/jacoco-it.exec</destFile>
<append>true</append>
<propertyName>failsafeArgLine</propertyName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true ${surefireArgLine} -Djava.net.preferIPv4Stack=true
</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<argLine>-Dlog4j.configuration=${log4j-test.properties} -Dhost=localhost -Dport=8182 -Dbuild.dir=${project.build.directory} -Dis.testing=true ${failsafeArgLine} -Djava.net.preferIPv4Stack=true
</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.20</version>
<executions>
<execution>
<id>aggregate-surefire-report</id>
<goals>
<goal>report</goal>
</goals>
<phase>install</phase>
<configuration>
<aggregate>true</aggregate>
<alwaysGenerateSurefireReport>true</alwaysGenerateSurefireReport>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
overriding the default apache release a bit from here:
https://github.com/apache/maven-apache-parent/blob/apache-21/pom.xml
because it doesn't filter all the files out that we need as it assumes a pure java infrastructure and we
have all manner of different languages hanging about
-->
<profile>
<id>apache-release</id>
<build>
<plugins>
<!-- Create a source-release artifact that contains the fully buildable
project directory source structure. This is the artifact which is
the official subject of any release vote. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<!-- explicitly ignore the apache parent execution or we generate two zips -->
<execution>
<id>source-release-assembly</id>
<phase>none</phase>
</execution>
<!-- this is the tinkerpop version that generates the "good" zip -->
<execution>
<id>tinkerpop-source-release-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
<descriptors>
<descriptor>source-release.xml</descriptor>
</descriptors>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>