<!--
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.9-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.11</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.52.Final</netty.version>
        <slf4j.version>1.7.25</slf4j.version>
        <snakeyaml.version>1.27</snakeyaml.version>
        <spark.version>2.4.0</spark.version>
        <powermock.version>1.6.4</powermock.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/**</exclude>
                        <exclude>**/npm-debug.log</exclude>
                        <exclude>**/_site/**</exclude>
                        <exclude>**/.pytest_cache/**</exclude>
                        <exclude>**/venv/**</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.11.0</version>
                    <configuration>
                        <targetBytecode>1.8</targetBytecode>
                    </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.13</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.13.1</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.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
            </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.8.0</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.15</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>
