<!--
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.5.1-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-language</module>
        <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>
        <module>gremlint</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>2.7</commons.configuration.version>
        <commons.lang.version>2.6</commons.lang.version>
        <commons.io.version>2.8.0</commons.io.version>
        <commons.lang3.version>3.11</commons.lang3.version>
        <commons.text.version>1.9</commons.text.version>
        <groovy.version>2.5.14</groovy.version>
        <hadoop.version>2.7.7</hadoop.version>
        <java.tuples.version>1.2</java.tuples.version>
        <javadoc-plugin.version>3.1.0</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.61.Final</netty.version>
        <slf4j.version>1.7.25</slf4j.version>
        <snakeyaml.version>1.27</snakeyaml.version>
        <spark.version>3.0.0</spark.version>
        <powermock.version>2.0.9</powermock.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <skipIntegrationTests>true</skipIntegrationTests>
        <suresafeArgs> </suresafeArgs>

        <!--
        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>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-all</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <DependencyConvergence/>
                                <requireJavaVersion>
                                    <version>[1.8,12)</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>
                                <exclude>gremlin-javascript/src/main/javascript/gremlin-javascript/.idea/**</exclude>
                                <exclude>gremlin-python/src/main/python-reports/**</exclude>
                                <exclude>gremlin-python/src/main/jython/**</exclude>
                                <exclude>gremlin-python/src/main/python/venv/**</exclude>
                                <exclude>gremlin-python/src/main/python/.pytest_cache/**</exclude>
                                <exclude>gremlin-python/src/main/python/.idea/**</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>
                    <additionalJOption>-Xdoclint:none</additionalJOption>
                    <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>
                            <additionalJOption>-Xdoclint:none</additionalJOption>
                            <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>.asf.yaml</exclude>
                        <exclude>.travis.yml</exclude>
                        <exclude>.travis.*.sh</exclude>
                        <exclude>.dockerignore</exclude>
                        <exclude>.github/**</exclude>
                        <exclude>**/.classpath</exclude>
                        <exclude>**/.project</exclude>
                        <exclude>**/.settings/**</exclude>
                        <exclude>**/.idea/**</exclude>
                        <exclude>.repository/**</exclude>
                        <exclude>**/target/**</exclude>
                        <exclude>data/*.txt</exclude>
                        <exclude>bin/gremlin.sh</exclude>
                        <exclude>docs/static/**</exclude>
                        <exclude>docs/site/home/css/**</exclude>
                        <exclude>docs/site/home/js/**</exclude>
                        <exclude>docs/gremlint/build/**</exclude>
                        <exclude>docs/gremlint/public/CNAME</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/incorrect-traversals.txt</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>**/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>**/BenchmarkDotNet.Artifacts/**</exclude>
                        <exclude>**/node/**</exclude>
                        <exclude>**/node_modules/**</exclude>
                        <exclude>**/npm-debug.log</exclude>
                        <!-- javascript docs/lib -->
                        <exclude>**/doc/**</exclude>
                        <exclude>**/lib/**</exclude>
                        <exclude>**/.prettierrc</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>
                <!-- there is a jdk11 profile that will be enabled if built with that version - these settings will be overriden -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</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>
                <!-- reverted surefire to 2.21.0 for performance reasons. 2.22.2 required forkCount=1 and
                     reuseForks=true which seemed to more the double the build time. there are only milestone
                     releases after 2.22.2 so rather than rely on those at this time, i guess we just stick with
                     2.21.0 -->
                <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 ${suresafeArgs}
                        </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.22.2</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 ${suresafeArgs}
                                </argLine>
                                <forkCount>1</forkCount>
                                <reuseForks>false</reuseForks>
                                <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.8</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>
                    <configuration>
                        <source>1.8</source>
                    </configuration>
                </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.4</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>3.0.0-M3</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-configuration2</artifactId>
                <version>${commons.configuration.version}</version>
                <exclusions>
                    <!-- still on 1.8 and we need 1.9 -->
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-text</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons.text.version}</version>
            </dependency>
            <!-- commons-configuration2 requires beanutils because we rely on file loaders -->
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.4</version>
            </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>3.3.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>2.4</version>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
                <exclusions>
                    <!-- conflict with mockito - excluding from the mockito side doesn't work -->
                    <exclusion>
                        <groupId>net.bytebuddy</groupId>
                        <artifactId>byte-buddy</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.bytebuddy</groupId>
                        <artifactId>byte-buddy-agent</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito2</artifactId>
                <version>${powermock.version}</version>
                <scope>test</scope>
                <exclusions>
                    <!-- conflict with mockito - excluding from the mockito side doesn't work -->
                    <exclusion>
                        <groupId>net.bytebuddy</groupId>
                        <artifactId>byte-buddy</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.bytebuddy</groupId>
                        <artifactId>byte-buddy-agent</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>2.2</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>${commons.io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.15</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>

        <profile>
            <id>jdk11</id>
            <activation>
                <jdk>11</jdk>
            </activation>
            <properties>
                <suresafeArgs>--illegal-access=permit</suresafeArgs>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>3.8.1</version>
                            <configuration>
                                <release>8</release>
                                <compilerArgs>
                                    <arg>-parameters</arg>
                                </compilerArgs>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <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>
                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                    <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>
                                    <includeDependencySources>true</includeDependencySources>
                                    <dependencySourceIncludes>
                                        <dependencySourceInclude>org.apache.tinkerpop:*</dependencySourceInclude>
                                    </dependencySourceIncludes>
                                </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>
                                    <additionalJOption>-Xdoclint:none</additionalJOption>
                                    <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>org.apache.commons</groupId>
                                            <artifactId>commons-configuration2</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 ${suresafeArgs}
                            </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 ${suresafeArgs} -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 ${suresafeArgs} -Djava.net.preferIPv4Stack=true
                            </argLine>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-report-plugin</artifactId>
                        <version>2.22.2</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>
