You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/10/19 20:54:23 UTC

[1/8] tinkerpop git commit: TINKERPOP-1369 renamed REST to HTTP

Repository: tinkerpop
Updated Branches:
  refs/heads/master 1e8fd0f03 -> 85367231b


TINKERPOP-1369 renamed REST to HTTP


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/43f10d53
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/43f10d53
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/43f10d53

Branch: refs/heads/master
Commit: 43f10d53307cfc4ec3dcaad208e57f403624b67e
Parents: 1e8fd0f
Author: Robert Dale <ro...@gmail.com>
Authored: Sun Sep 4 10:56:46 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:39 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../src/reference/gremlin-applications.asciidoc | 22 ++++++++++----------
 docs/src/reference/the-graph.asciidoc           |  4 ++--
 .../tutorials/getting-started/index.asciidoc    |  2 +-
 .../upgrade/release-3.2.x-incubating.asciidoc   |  7 ++++++-
 .../gremlin/server/channel/HttpChannelizer.java |  2 +-
 .../handler/HttpBasicAuthenticationHandler.java |  2 +-
 .../handler/HttpGremlinEndpointHandler.java     |  2 +-
 8 files changed, 24 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 0bc533f..2cc2cd3 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -184,6 +184,7 @@ This release also includes changes from <<release-3-1-4, 3.1.4>>.
 * Added color preferences
 * Added input, result prompt preferences
 * Added multi-line indicator in Gremlin Console
+* Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API
 
 Bugs
 ^^^^

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index c452a0f..5a0e397 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -764,17 +764,17 @@ The above code demonstrates using the `TitanIoRegistry` which is an `IoRegistry`
 what classes (from Titan in this case) to auto-register during serialization.  Gremlin Server roughly uses this same
 approach when it configures it's serializers, so using this same model will ensure compatibility when making requests.
 
-Connecting via REST
+Connecting via HTTP
 ~~~~~~~~~~~~~~~~~~~
 
 image:gremlin-rexster.png[width=225,float=left] While the default behavior for Gremlin Server is to provide a
-WebSockets-based connection, it can also be configured to support link:http://en.wikipedia.org/wiki/Representational_state_transfer[REST].
-The REST endpoint provides for a communication protocol familiar to most developers, with a wide support of
-programming languages, tools and libraries for accessing it.  As a result, REST provides a fast way to get started
+WebSockets-based connection, it can also be configured to support plain HTTP web service.
+The HTTP endpoint provides for a communication protocol familiar to most developers, with a wide support of
+programming languages, tools and libraries for accessing it.  As a result, HTTP provides a fast way to get started
 with Gremlin Server.   It also may represent an easier upgrade path from link:http://rexster.tinkerpop.com/[Rexster]
 as the API for the endpoint is very similar to Rexster's link:https://github.com/tinkerpop/rexster/wiki/Gremlin-Extension[Gremlin Extension].
 
-Gremlin Server provides for a single REST endpoint - a Gremlin evaluator - which allows the submission of a Gremlin
+Gremlin Server provides for a single HTTP endpoint - a Gremlin evaluator - which allows the submission of a Gremlin
 script as a request.  For each request, it returns a response containing the serialized results of that script.
 To enable this endpoint, Gremlin Server needs to be configured with the `HttpChannelizer`, which replaces the default
 `WebSocketChannelizer`, in the configuration file:
@@ -841,7 +841,7 @@ curl -X POST -d "{\"gremlin\":\"100-x\", \"language\":\"gremlin-groovy\", \"bind
 By default this value is set to `gremlin-groovy`.  If using a `GET` operation, this value can be set as a query
 string argument with by setting the `language` key.
 
-WARNING: Consider the size of the result of a submitted script being returned from the REST endpoint.  A script
+WARNING: Consider the size of the result of a submitted script being returned from the HTTP endpoint.  A script
 that iterates thousands of results will serialize each of those in memory into a single JSON result set.  It is
 quite possible that such a script will generate `OutOfMemoryError` exceptions on the server.  Consider the default
 WebSockets configuration, which supports streaming, if that type of use case is required.
@@ -862,7 +862,7 @@ Connecting via withRemote
 image:remote-graph.png[width=145,float=left] A `TraversalSource` has several `withRemote()` methods which provide an
 interesting alternative to the other methods for connecting to Gremlin Server. It is interesting in that all other
 methods involve construction of a `String` representation of the `Traversal` which is then submitted as a script
-to Gremlin Server (via driver or REST). This approach is quite akin to SQL, where query strings are embedded into code
+to Gremlin Server (via driver or HTTP). This approach is quite akin to SQL, where query strings are embedded into code
 and submitted to a database server. While there are patterns for taking this approach that can lead to maintainable
 application code, using `withRemote()` could be a better method as it brings some good benefits with it:
 
@@ -1148,7 +1148,7 @@ If connecting with Gremlin Console, which utilizes `gremlin-driver` for remote s
 `conf/remote-secure.yaml` file when defining the remote.  That file contains configuration for the username and
 password as well as enablement of SSL from the client side.
 
-Similarly, Gremlin Server can be configured for REST and security.
+Similarly, Gremlin Server can be configured for HTTP and security.
 
 [source,text]
 ----
@@ -1668,7 +1668,7 @@ will simply have Gremlin Server close transactions on all graphs for every reque
 Considering State
 ^^^^^^^^^^^^^^^^^
 
-With REST and any sessionless requests, there is no variable state maintained between requests.  Therefore,
+With HTTP and any sessionless requests, there is no variable state maintained between requests.  Therefore,
 when <<connecting-via-console,connecting with the console>>, for example, it is not possible to create a variable in
 one command and then expect to access it in the next:
 
@@ -1683,7 +1683,7 @@ No such property: x for class: Script4
 Display stack trace? [yN] n
 ----
 
-The same behavior would be seen with REST or when using sessionless requests through one of the Gremlin Server drivers.
+The same behavior would be seen with HTTP or when using sessionless requests through one of the Gremlin Server drivers.
 If having this behavior is desireable, then <<sessions,consider sessions>>.
 
 There is an exception to this notion of state not existing between requests and that is globally defined functions.
@@ -1722,7 +1722,7 @@ $ curl -X POST -d "{\"gremlin\":\"divideIt(8, 2)\"}" "http://localhost:8182"
 {"message":"Error encountered evaluating script: divideIt(8, 2)"}
 ----
 
-In the above REST-based requests, the bindings contain a special parameter that tells the `ScriptEngine` cache to
+In the above HTTP-based requests, the bindings contain a special parameter that tells the `ScriptEngine` cache to
 immediately forget the script after execution. In this way, the function does not end up being globally available.
 
 [[gremlin-plugins]]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/docs/src/reference/the-graph.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/the-graph.asciidoc b/docs/src/reference/the-graph.asciidoc
index 42b1a76..e341304 100644
--- a/docs/src/reference/the-graph.asciidoc
+++ b/docs/src/reference/the-graph.asciidoc
@@ -187,7 +187,7 @@ modify the graph as required and call `graph.tx().commit()` to apply changes or
 When the next read or write action occurs against the graph, a new transaction will be started within that current
 thread of execution.
 
-When using transactions in this fashion, especially in web application (e.g. REST server), it is important to ensure
+When using transactions in this fashion, especially in web application (e.g. HTTP server), it is important to ensure
 that transactions do not leak from one request to the next.  In other words, unless a client is somehow bound via
 session to process every request on the same server thread, every request must be committed or rolled back at the end
 of the request.  By ensuring that the request encapsulates a transaction, it ensures that a future request processed
@@ -906,4 +906,4 @@ IMPORTANT: TinkerPop uses `tinkerpop.` and `gremlin.` as the prefixes for provid
 reduce implementations, and plugins.
 
 The only truly protected namespace is the _hidden namespace_ provided to graph systems. From there, it's up to
-engineers to respect the namespacing conventions presented.
\ No newline at end of file
+engineers to respect the namespacing conventions presented.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/docs/src/tutorials/getting-started/index.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/tutorials/getting-started/index.asciidoc b/docs/src/tutorials/getting-started/index.asciidoc
index 337061b..84fb036 100644
--- a/docs/src/tutorials/getting-started/index.asciidoc
+++ b/docs/src/tutorials/getting-started/index.asciidoc
@@ -528,7 +528,7 @@ Gremlin Server
 
 image:gremlin-server-protocol.png[width=325,float=right] link:http://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-server[Gremlin Server]
 provides a way to remotely execute Gremlin scripts against one or more `Graph` instances hosted within it. It does
-this by exposing different endpoints, such as link:http://tinkerpop.apache.org/docs/x.y.z/reference/#_connecting_via_rest[REST]
+this by exposing different endpoints, such as link:http://tinkerpop.apache.org/docs/x.y.z/reference/#_connecting_via_http[HTTP]
 and link:http://tinkerpop.apache.org/docs/x.y.z/reference/#_connecting_via_java[websockets], which allow a request
 containing a Gremlin script to be processed with results returned.
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index d79c9db..8bcbd57 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -370,6 +370,11 @@ link:https://issues.apache.org/jira/browse/TINKERPOP-1285[TINKERPOP-1037],
 link:http://tinkerpop.apache.org/docs/3.2.2/reference/#console-preferences[Reference Documentation -
 Console Preferences]
 
+REST API Renamed to HTTP API
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This is only a rename to clarify the design of the API. There is no change to the API itself.
+
+
 Upgrading for Providers
 ~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -798,7 +803,7 @@ RemoteGraph
 `RemoteGraph` is a lightweight `Graph` implementation that acts as a proxy for sending traversals to Gremlin Server for
 remote execution. It is an interesting alternative to the other methods for connecting to Gremlin Server in that all
 other methods involved construction of a `String` representation of the `Traversal` which is then submitted as a script
-to Gremlin Server (via driver or REST).
+to Gremlin Server (via driver or HTTP).
 
 [source,groovy]
 ----

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
index 9e58a40..5c632e6 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/channel/HttpChannelizer.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Constructs a {@link Channelizer} that exposes an HTTP/REST endpoint in Gremlin Server.
+ * Constructs a {@link Channelizer} that exposes an HTTP endpoint in Gremlin Server.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
index 8732268..bf3b674 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpBasicAuthenticationHandler.java
@@ -38,7 +38,7 @@ import static org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.Credenti
 import static org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_USERNAME;
 
 /**
- * Implements basic HTTP authentication for use with the {@link HttpGremlinEndpointHandler} and REST based API calls.
+ * Implements basic HTTP authentication for use with the {@link HttpGremlinEndpointHandler} and HTTP based API calls.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/43f10d53/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
index 899d488..ad11834 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/HttpGremlinEndpointHandler.java
@@ -93,7 +93,7 @@ import static io.netty.handler.codec.http.HttpResponseStatus.OK;
 import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1;
 
 /**
- * Handler that processes HTTP requests to the REST Gremlin endpoint.
+ * Handler that processes HTTP requests to the HTTP Gremlin endpoint.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */


[2/8] tinkerpop git commit: Add gremlin-mozart logo for 3.3.x CTR

Posted by sp...@apache.org.
Add gremlin-mozart logo for 3.3.x CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8666ea63
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8666ea63
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8666ea63

Branch: refs/heads/master
Commit: 8666ea636754125ffbffeaf428771024a932805b
Parents: 4e3e87c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 12:07:27 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 docs/static/images/gremlin-mozart.png | Bin 0 -> 44484 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8666ea63/docs/static/images/gremlin-mozart.png
----------------------------------------------------------------------
diff --git a/docs/static/images/gremlin-mozart.png b/docs/static/images/gremlin-mozart.png
new file mode 100644
index 0000000..4094ef8
Binary files /dev/null and b/docs/static/images/gremlin-mozart.png differ


[8/8] tinkerpop git commit: TINKERPOP-1514 Added gremlin-tools module.

Posted by sp...@apache.org.
TINKERPOP-1514 Added gremlin-tools module.

Moved gremlin-benchmark to gremlin-tools and added gremlin-coverage. CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/288351cc
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/288351cc
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/288351cc

Branch: refs/heads/master
Commit: 288351cc491510eb96a3d39d05bf2e65b9f82c3f
Parents: 8666ea6
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 15:35:04 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |   5 +-
 .../developer/development-environment.asciidoc  |   2 +
 gremlin-benchmark/pom.xml                       | 211 -------------------
 .../benchmark/util/AbstractBenchmarkBase.java   | 117 ----------
 .../benchmark/util/AbstractGraphBenchmark.java  |  85 --------
 .../util/AbstractGraphMutateBenchmark.java      |  48 -----
 .../gremlin/process/GraphMutateBenchmark.java   |  92 --------
 .../process/GraphTraversalBenchmark.java        | 101 ---------
 gremlin-test/pom.xml                            |   1 +
 gremlin-tools/gremlin-benchmark/pom.xml         | 134 ++++++++++++
 .../benchmark/util/AbstractBenchmarkBase.java   | 117 ++++++++++
 .../benchmark/util/AbstractGraphBenchmark.java  |  85 ++++++++
 .../util/AbstractGraphMutateBenchmark.java      |  48 +++++
 .../gremlin/process/GraphMutateBenchmark.java   |  92 ++++++++
 .../process/GraphTraversalBenchmark.java        | 101 +++++++++
 gremlin-tools/gremlin-coverage/pom.xml          | 118 +++++++++++
 gremlin-tools/pom.xml                           |  31 +++
 pom.xml                                         |   4 +-
 18 files changed, 734 insertions(+), 658 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 8282333..43a50c7 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,8 +26,9 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API
-
+* Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API.
+* Moved `gremlin-benchmark` under `gremlin-tools` module.
+* Added `gremlin-tools` and its submodule `gremlin-coverage`.
 
 [[release-3-2-3]]
 TinkerPop 3.2.3 (Release Date: October 17, 2016)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index ade4288..0b99647 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -146,6 +146,8 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
 ** Execute with the `-DuseEpoll` option to try to use Netty native transport (works on Linux, but will fallback to Java NIO on other OS).
 * Performance Tests: `mvn verify -DskipPerformanceTests=false`
 * Benchmarks: `mvn verify -DskipBenchmarks=false`
+* Test coverage report: `mvn clean install -Dcoverage` - note that the `install` is necessary because report aggregation is bound to that part of the lifecycle.
+** Reports are generated to `gremlin-tools/gremlin-coverage/target/site`
 
 [[docker-integration]]
 Docker Integration

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/pom.xml b/gremlin-benchmark/pom.xml
deleted file mode 100644
index 54272d5..0000000
--- a/gremlin-benchmark/pom.xml
+++ /dev/null
@@ -1,211 +0,0 @@
-<!--
-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>
-        <artifactId>tinkerpop</artifactId>
-        <groupId>org.apache.tinkerpop</groupId>
-        <version>3.3.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>gremlin-benchmark</artifactId>
-    <name>Apache TinkerPop :: Gremlin Benchmark</name>
-    <properties>
-        <jmh.version>1.11.3</jmh.version>
-        <!-- Skip benchmarks by default because they are time consuming. -->
-        <skipBenchmarks>true</skipBenchmarks>
-        <skipTests>${skipBenchmarks}</skipTests>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-console</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-driver</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-groovy</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-python</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>gremlin-test</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>neo4j-gremlin</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tinkerpop</groupId>
-            <artifactId>tinkergraph-gremlin</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.openjdk.jmh</groupId>
-            <artifactId>jmh-core</artifactId>
-            <version>${jmh.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.openjdk.jmh</groupId>
-            <artifactId>jmh-generator-annprocess</artifactId>
-            <version>${jmh.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <optional>true</optional>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <testSourceDirectory>${project.build.sourceDirectory}</testSourceDirectory>
-                    <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
-                    <includes>
-                        <include>**/*Benchmark*.java</include>
-                    </includes>
-                    <excludes>
-                        <exclude>**/*$*.class</exclude>
-                        <exclude>**/Abstract*</exclude>
-                        <exclude>**/*_jmhType*</exclude>
-                    </excludes>
-                    <systemPropertyVariables>
-                        <benchmarkReportDir>${project.build.directory}/reports/benchmark/</benchmarkReportDir>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.2</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <createDependencyReducedPom>false</createDependencyReducedPom>
-                            <transformers>
-                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                    <mainClass>org.openjdk.jmh.Main</mainClass>
-                                </transformer>
-                            </transformers>
-                            <filters>
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <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>jacoco-report-aggregate</id>
-                                <phase>install</phase>
-                                <goals>
-                                    <goal>report-aggregate</goal>
-                                </goals>
-                                <configuration>
-                                    <title>Apache TinkerPop</title>
-                                    <footer>Code Coverage Report for Apache TinkerPop ${project.version}</footer>
-                                    <includes>
-                                        <include>**/*.class</include>
-                                    </includes>
-                                    <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>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
deleted file mode 100644
index 2f8bb66..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tinkerpop.benchmark.util;
-
-import org.junit.Test;
-import org.openjdk.jmh.annotations.Fork;
-import org.openjdk.jmh.annotations.Measurement;
-import org.openjdk.jmh.annotations.Warmup;
-import org.openjdk.jmh.results.format.ResultFormatType;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.options.ChainedOptionsBuilder;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.io.File;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * Base class for all TinkerPop OpenJDK JMH benchmarks.  Based upon Netty's approach to running JMH benchmarks
- * from JUnit.
- *
- * @see <a href="http://netty.io/wiki/microbenchmarks.html"</a>
- *
- * @author Ted Wilmes (http://twilmes.org)
- */
-@Warmup(iterations = AbstractBenchmarkBase.DEFAULT_WARMUP_ITERATIONS)
-@Measurement(iterations = AbstractBenchmarkBase.DEFAULT_MEASURE_ITERATIONS)
-@Fork(AbstractBenchmarkBase.DEFAULT_FORKS)
-public abstract class AbstractBenchmarkBase {
-
-    protected static final int DEFAULT_WARMUP_ITERATIONS = 10;
-    protected static final int DEFAULT_MEASURE_ITERATIONS = 10;
-    protected static final int DEFAULT_FORKS = 2;
-    protected static final String DEFAULT_BENCHMARK_DIRECTORY = "./benchmarks/";
-
-    protected static final String[] JVM_ARGS = {
-            "-server", "-Xms2g", "-Xmx2g"
-    };
-
-    @Test
-    public void run() throws Exception {
-        final String className = getClass().getSimpleName();
-
-        final ChainedOptionsBuilder runnerOptions = new OptionsBuilder()
-                .include(".*" + className + ".*")
-                .jvmArgs(JVM_ARGS);
-
-        if (getWarmupIterations() > 0) {
-            runnerOptions.warmupIterations(getWarmupIterations());
-        }
-
-        if (getMeasureIterations() > 0) {
-            runnerOptions.measurementIterations(getMeasureIterations());
-        }
-
-        if (getForks() > 0) {
-            runnerOptions.forks(getForks());
-        }
-
-        if (getReportDir() != null) {
-            final String dtmStr = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-            final String filePath = getReportDir() + className + "-" + dtmStr + ".json";
-            final File file = new File(filePath);
-            if (file.exists()) {
-                file.delete();
-            } else {
-                file.getParentFile().mkdirs();
-                file.createNewFile();
-            }
-
-            runnerOptions.resultFormat(ResultFormatType.JSON);
-            runnerOptions.result(filePath);
-        }
-
-        new Runner(runnerOptions.build()).run();
-    }
-
-    protected int getWarmupIterations() {
-        return getIntProperty("warmupIterations", DEFAULT_WARMUP_ITERATIONS);
-    }
-
-    protected int getMeasureIterations() {
-        return getIntProperty("measureIterations", DEFAULT_MEASURE_ITERATIONS);
-    }
-
-    protected int getForks() {
-        return getIntProperty("forks", DEFAULT_FORKS);
-    }
-
-    protected String getReportDir() {
-        return System.getProperty("benchmark.dir", DEFAULT_BENCHMARK_DIRECTORY);
-    }
-
-    private int getIntProperty(final String propertyName, final int defaultValue) {
-        final String propertyValue = System.getProperty(propertyName);
-        if(propertyValue == null) {
-            return defaultValue;
-        }
-        return Integer.valueOf(propertyValue);
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
deleted file mode 100644
index ba0105c..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tinkerpop.benchmark.util;
-
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoReader;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-
-import org.openjdk.jmh.annotations.Scope;
-import org.openjdk.jmh.annotations.Setup;
-import org.openjdk.jmh.annotations.State;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Read-only graph benchmarks extend {@code AbstractGraphBenchmark}.  Annotating your benchmark class with {@link LoadGraphWith}
- * will load the {@link TinkerGraph} instance with the desired data set.
- *
- * @author Ted Wilmes (http://twilmes.org)
- */
-@State(Scope.Thread)
-public class AbstractGraphBenchmark extends AbstractBenchmarkBase {
-
-    private final String PATH = "/org/apache/tinkerpop/gremlin/structure/io/gryo/";
-
-    protected Graph graph;
-    protected GraphTraversalSource g;
-
-    /**
-     * Opens a new {@link TinkerGraph} instance and optionally preloads it with one of the test data sets enumerated
-     * in {@link LoadGraphWith}.
-     *
-     * @throws IOException on failure to load graph
-     */
-    @Setup
-    public void prepare() throws IOException {
-        graph = TinkerGraph.open();
-        g = graph.traversal();
-
-        final LoadGraphWith[] loadGraphWiths = this.getClass().getAnnotationsByType(LoadGraphWith.class);
-        final LoadGraphWith loadGraphWith = loadGraphWiths.length == 0 ? null : loadGraphWiths[0];
-        final LoadGraphWith.GraphData loadGraphWithData = null == loadGraphWith ? null : loadGraphWith.value();
-
-        String graphFile;
-        if(loadGraphWithData != null) {
-            if (loadGraphWithData.equals(LoadGraphWith.GraphData.GRATEFUL)) {
-                graphFile = "grateful-dead.kryo";
-            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.MODERN)) {
-                graphFile = "tinkerpop-modern.kryo";
-            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.CLASSIC)) {
-                graphFile = "tinkerpop-classic.kryo";
-            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.CREW)) {
-                graphFile = "tinkerpop-crew.kryo";
-            } else {
-                throw new RuntimeException("Could not load graph with " + loadGraphWithData);
-            }
-
-            final GraphReader reader = GryoReader.build().create();
-            try (final InputStream stream = AbstractGraphBenchmark.class.
-                    getResourceAsStream(PATH + graphFile)) {
-                reader.readGraph(stream, graph);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
deleted file mode 100644
index 79d9916..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tinkerpop.benchmark.util;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
-
-import org.openjdk.jmh.annotations.Level;
-import org.openjdk.jmh.annotations.Scope;
-import org.openjdk.jmh.annotations.Setup;
-import org.openjdk.jmh.annotations.State;
-
-/**
- * Graph write and update benchmarks extend {@code AbstractGraphMutateBenchmark}.  {@code AbstractGraphMutateBenchmark}
- * runs setup once per invocation so that benchmark measurements are made on an empty {@link TinkerGraph}.  This approach
- * was taken to isolate the tested method from the performance side effects of unbounded graph growth.
- *
- * @author Ted Wilmes (http://twilmes.org)
- */
-@State(Scope.Thread)
-public abstract class AbstractGraphMutateBenchmark extends AbstractBenchmarkBase {
-
-    protected Graph graph;
-    protected GraphTraversalSource g;
-
-    @Setup(Level.Invocation)
-    public void prepare() {
-        graph = TinkerGraph.open();
-        g = graph.traversal();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
deleted file mode 100644
index 04d7138..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tinkerpop.gremlin.process;
-
-import org.apache.tinkerpop.benchmark.util.AbstractGraphMutateBenchmark;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Property;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
-
-import org.openjdk.jmh.annotations.Benchmark;
-import org.openjdk.jmh.annotations.Setup;
-
-/**
- * {@code GraphMutateBenchmark} benchmarks {@link org.apache.tinkerpop.gremlin.process.traversal.Traversal} and
- * {@link org.apache.tinkerpop.gremlin.structure.Graph} mutation methods.
- *
- * @author Ted Wilmes (http://twilmes.org)
- */
-public class GraphMutateBenchmark extends AbstractGraphMutateBenchmark {
-
-    private Vertex a;
-    private Vertex b;
-    private Vertex c;
-    private Edge e;
-
-    @Setup
-    @Override
-    public void prepare() {
-        super.prepare();
-        a = g.addV().next();
-        b = g.addV().next();
-        c = g.addV().next();
-        e = b.addEdge("knows", c);
-    }
-
-    @Benchmark
-    public Vertex testAddVertex() {
-        return graph.addVertex("test");
-    }
-
-    @Benchmark
-    public VertexProperty testVertexProperty() {
-        return a.property("name", "Susan");
-    }
-
-    @Benchmark
-    public Edge testAddEdge() {
-        return a.addEdge("knows", b);
-    }
-
-    @Benchmark
-    public Property testEdgeProperty() {
-        return e.property("met", 1967);
-    }
-
-    @Benchmark
-    public Vertex testAddV() {
-        return g.addV("test").next();
-    }
-
-    @Benchmark
-    public Vertex testVertexPropertyStep() {
-        return g.V(a).property("name", "Susan").next();
-    }
-
-    @Benchmark
-    public Edge testAddE() {
-        return g.V(a).as("a").V(b).as("b").addE("knows").from("a").to("b").next();
-    }
-
-    @Benchmark
-    public Edge testEdgePropertyStep() {
-        return g.E(e).property("met", 1967).next();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java b/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
deleted file mode 100644
index 191f5e7..0000000
--- a/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tinkerpop.gremlin.process;
-
-import org.apache.tinkerpop.benchmark.util.AbstractGraphBenchmark;
-import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.process.traversal.Path;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
-import org.apache.tinkerpop.gremlin.structure.Edge;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import org.openjdk.jmh.annotations.Benchmark;
-
-import java.util.List;
-import java.util.Map;
-
-import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
-
-/**
- * Runs a traversal benchmarks against a {@link org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph} loaded
- * with the Grateful Dead data set.
- *
- * @author Ted Wilmes (http://twilmes.org)
- */
-@LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
-public class GraphTraversalBenchmark extends AbstractGraphBenchmark {
-
-    @Benchmark
-    public List<Vertex> g_V_outE_inV_outE_inV_outE_inV() throws Exception {
-        return g.V().outE().inV().outE().inV().outE().inV().toList();
-    }
-
-    @Benchmark
-    public List<Vertex> g_V_out_out_out() throws Exception {
-        return g.V().out().out().out().toList();
-    }
-
-    @Benchmark
-    public List<Path> g_V_out_out_out_path() throws Exception {
-        return g.V().out().out().out().path().toList();
-    }
-
-    @Benchmark
-    public List<Vertex> g_V_repeatXoutX_timesX2X() throws Exception {
-        return g.V().repeat(out()).times(2).toList();
-    }
-
-    @Benchmark
-    public List<Vertex> g_V_repeatXoutX_timesX3X() throws Exception {
-        return g.V().repeat(out()).times(3).toList();
-    }
-
-    @Benchmark
-    public List<List<Object>> g_V_localXout_out_valuesXnameX_foldX() throws Exception {
-        return g.V().local(out().out().values("name").fold()).toList();
-    }
-
-    @Benchmark
-    public List<List<Object>> g_V_out_localXout_out_valuesXnameX_foldX() throws Exception {
-        return g.V().out().local(out().out().values("name").fold()).toList();
-    }
-
-    @Benchmark
-    public List<List<Object>> g_V_out_mapXout_out_valuesXnameX_toListX() throws Exception {
-        return g.V().out().map(v -> g.V(v.get()).out().out().values("name").toList()).toList();
-    }
-
-    @Benchmark
-    public List<Map<Object, Long>> g_V_label_groupCount() throws Exception {
-        return g.V().label().groupCount().toList();
-    }
-
-    @Benchmark
-    public List<Object> g_V_match_selectXbX_valuesXnameX() throws Exception {
-        return g.V().match(
-                __.as("a").has("name", "Garcia"),
-                __.as("a").in("writtenBy").as("b"),
-                __.as("a").in("sungBy").as("b")).select("b").values("name").toList();
-    }
-
-    @Benchmark
-    public List<Edge> g_E_hasLabelXwrittenByX_whereXinV_inEXsungByX_count_isX0XX_subgraphXsgX() throws Exception {
-        return g.E().hasLabel("writtenBy").where(__.inV().inE("sungBy").count().is(0)).subgraph("sg").toList();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 705cfaa..76c4d4b 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -91,6 +91,7 @@ limitations under the License.
         </plugins>
     </build>
 
+    <!-- for whatever reason, jacoco doesn't like running the TraversalInterruptionTest - ignore for now -->
     <profiles>
         <profile>
             <id>coverage</id>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/pom.xml b/gremlin-tools/gremlin-benchmark/pom.xml
new file mode 100644
index 0000000..7ea7463
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/pom.xml
@@ -0,0 +1,134 @@
+<!--
+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>
+        <artifactId>tinkerpop</artifactId>
+        <groupId>org.apache.tinkerpop</groupId>
+        <version>3.3.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>gremlin-benchmark</artifactId>
+    <name>Apache TinkerPop :: Gremlin Benchmark</name>
+    <properties>
+        <jmh.version>1.11.3</jmh.version>
+        <!-- Skip benchmarks by default because they are time consuming. -->
+        <skipBenchmarks>true</skipBenchmarks>
+        <skipTests>${skipBenchmarks}</skipTests>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-test</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>tinkergraph-gremlin</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.openjdk.jmh</groupId>
+            <artifactId>jmh-core</artifactId>
+            <version>${jmh.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.openjdk.jmh</groupId>
+            <artifactId>jmh-generator-annprocess</artifactId>
+            <version>${jmh.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <testSourceDirectory>${project.build.sourceDirectory}</testSourceDirectory>
+                    <testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+                    <includes>
+                        <include>**/*Benchmark*.java</include>
+                    </includes>
+                    <excludes>
+                        <exclude>**/*$*.class</exclude>
+                        <exclude>**/Abstract*</exclude>
+                        <exclude>**/*_jmhType*</exclude>
+                    </excludes>
+                    <systemPropertyVariables>
+                        <benchmarkReportDir>${project.build.directory}/reports/benchmark/</benchmarkReportDir>
+                    </systemPropertyVariables>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>2.2</version>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <createDependencyReducedPom>false</createDependencyReducedPom>
+                            <transformers>
+                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    <mainClass>org.openjdk.jmh.Main</mainClass>
+                                </transformer>
+                            </transformers>
+                            <filters>
+                                <filter>
+                                    <artifact>*:*</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/*.SF</exclude>
+                                        <exclude>META-INF/*.DSA</exclude>
+                                        <exclude>META-INF/*.RSA</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
new file mode 100644
index 0000000..2f8bb66
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
@@ -0,0 +1,117 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.benchmark.util;
+
+import org.junit.Test;
+import org.openjdk.jmh.annotations.Fork;
+import org.openjdk.jmh.annotations.Measurement;
+import org.openjdk.jmh.annotations.Warmup;
+import org.openjdk.jmh.results.format.ResultFormatType;
+import org.openjdk.jmh.runner.Runner;
+import org.openjdk.jmh.runner.options.ChainedOptionsBuilder;
+import org.openjdk.jmh.runner.options.OptionsBuilder;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * Base class for all TinkerPop OpenJDK JMH benchmarks.  Based upon Netty's approach to running JMH benchmarks
+ * from JUnit.
+ *
+ * @see <a href="http://netty.io/wiki/microbenchmarks.html"</a>
+ *
+ * @author Ted Wilmes (http://twilmes.org)
+ */
+@Warmup(iterations = AbstractBenchmarkBase.DEFAULT_WARMUP_ITERATIONS)
+@Measurement(iterations = AbstractBenchmarkBase.DEFAULT_MEASURE_ITERATIONS)
+@Fork(AbstractBenchmarkBase.DEFAULT_FORKS)
+public abstract class AbstractBenchmarkBase {
+
+    protected static final int DEFAULT_WARMUP_ITERATIONS = 10;
+    protected static final int DEFAULT_MEASURE_ITERATIONS = 10;
+    protected static final int DEFAULT_FORKS = 2;
+    protected static final String DEFAULT_BENCHMARK_DIRECTORY = "./benchmarks/";
+
+    protected static final String[] JVM_ARGS = {
+            "-server", "-Xms2g", "-Xmx2g"
+    };
+
+    @Test
+    public void run() throws Exception {
+        final String className = getClass().getSimpleName();
+
+        final ChainedOptionsBuilder runnerOptions = new OptionsBuilder()
+                .include(".*" + className + ".*")
+                .jvmArgs(JVM_ARGS);
+
+        if (getWarmupIterations() > 0) {
+            runnerOptions.warmupIterations(getWarmupIterations());
+        }
+
+        if (getMeasureIterations() > 0) {
+            runnerOptions.measurementIterations(getMeasureIterations());
+        }
+
+        if (getForks() > 0) {
+            runnerOptions.forks(getForks());
+        }
+
+        if (getReportDir() != null) {
+            final String dtmStr = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+            final String filePath = getReportDir() + className + "-" + dtmStr + ".json";
+            final File file = new File(filePath);
+            if (file.exists()) {
+                file.delete();
+            } else {
+                file.getParentFile().mkdirs();
+                file.createNewFile();
+            }
+
+            runnerOptions.resultFormat(ResultFormatType.JSON);
+            runnerOptions.result(filePath);
+        }
+
+        new Runner(runnerOptions.build()).run();
+    }
+
+    protected int getWarmupIterations() {
+        return getIntProperty("warmupIterations", DEFAULT_WARMUP_ITERATIONS);
+    }
+
+    protected int getMeasureIterations() {
+        return getIntProperty("measureIterations", DEFAULT_MEASURE_ITERATIONS);
+    }
+
+    protected int getForks() {
+        return getIntProperty("forks", DEFAULT_FORKS);
+    }
+
+    protected String getReportDir() {
+        return System.getProperty("benchmark.dir", DEFAULT_BENCHMARK_DIRECTORY);
+    }
+
+    private int getIntProperty(final String propertyName, final int defaultValue) {
+        final String propertyValue = System.getProperty(propertyName);
+        if(propertyValue == null) {
+            return defaultValue;
+        }
+        return Integer.valueOf(propertyValue);
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
new file mode 100644
index 0000000..ba0105c
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphBenchmark.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.benchmark.util;
+
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
+import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoReader;
+import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
+
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Read-only graph benchmarks extend {@code AbstractGraphBenchmark}.  Annotating your benchmark class with {@link LoadGraphWith}
+ * will load the {@link TinkerGraph} instance with the desired data set.
+ *
+ * @author Ted Wilmes (http://twilmes.org)
+ */
+@State(Scope.Thread)
+public class AbstractGraphBenchmark extends AbstractBenchmarkBase {
+
+    private final String PATH = "/org/apache/tinkerpop/gremlin/structure/io/gryo/";
+
+    protected Graph graph;
+    protected GraphTraversalSource g;
+
+    /**
+     * Opens a new {@link TinkerGraph} instance and optionally preloads it with one of the test data sets enumerated
+     * in {@link LoadGraphWith}.
+     *
+     * @throws IOException on failure to load graph
+     */
+    @Setup
+    public void prepare() throws IOException {
+        graph = TinkerGraph.open();
+        g = graph.traversal();
+
+        final LoadGraphWith[] loadGraphWiths = this.getClass().getAnnotationsByType(LoadGraphWith.class);
+        final LoadGraphWith loadGraphWith = loadGraphWiths.length == 0 ? null : loadGraphWiths[0];
+        final LoadGraphWith.GraphData loadGraphWithData = null == loadGraphWith ? null : loadGraphWith.value();
+
+        String graphFile;
+        if(loadGraphWithData != null) {
+            if (loadGraphWithData.equals(LoadGraphWith.GraphData.GRATEFUL)) {
+                graphFile = "grateful-dead.kryo";
+            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.MODERN)) {
+                graphFile = "tinkerpop-modern.kryo";
+            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.CLASSIC)) {
+                graphFile = "tinkerpop-classic.kryo";
+            } else if (loadGraphWithData.equals(LoadGraphWith.GraphData.CREW)) {
+                graphFile = "tinkerpop-crew.kryo";
+            } else {
+                throw new RuntimeException("Could not load graph with " + loadGraphWithData);
+            }
+
+            final GraphReader reader = GryoReader.build().create();
+            try (final InputStream stream = AbstractGraphBenchmark.class.
+                    getResourceAsStream(PATH + graphFile)) {
+                reader.readGraph(stream, graph);
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
new file mode 100644
index 0000000..79d9916
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractGraphMutateBenchmark.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.benchmark.util;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
+
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+
+/**
+ * Graph write and update benchmarks extend {@code AbstractGraphMutateBenchmark}.  {@code AbstractGraphMutateBenchmark}
+ * runs setup once per invocation so that benchmark measurements are made on an empty {@link TinkerGraph}.  This approach
+ * was taken to isolate the tested method from the performance side effects of unbounded graph growth.
+ *
+ * @author Ted Wilmes (http://twilmes.org)
+ */
+@State(Scope.Thread)
+public abstract class AbstractGraphMutateBenchmark extends AbstractBenchmarkBase {
+
+    protected Graph graph;
+    protected GraphTraversalSource g;
+
+    @Setup(Level.Invocation)
+    public void prepare() {
+        graph = TinkerGraph.open();
+        g = graph.traversal();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
new file mode 100644
index 0000000..04d7138
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphMutateBenchmark.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.gremlin.process;
+
+import org.apache.tinkerpop.benchmark.util.AbstractGraphMutateBenchmark;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.Setup;
+
+/**
+ * {@code GraphMutateBenchmark} benchmarks {@link org.apache.tinkerpop.gremlin.process.traversal.Traversal} and
+ * {@link org.apache.tinkerpop.gremlin.structure.Graph} mutation methods.
+ *
+ * @author Ted Wilmes (http://twilmes.org)
+ */
+public class GraphMutateBenchmark extends AbstractGraphMutateBenchmark {
+
+    private Vertex a;
+    private Vertex b;
+    private Vertex c;
+    private Edge e;
+
+    @Setup
+    @Override
+    public void prepare() {
+        super.prepare();
+        a = g.addV().next();
+        b = g.addV().next();
+        c = g.addV().next();
+        e = b.addEdge("knows", c);
+    }
+
+    @Benchmark
+    public Vertex testAddVertex() {
+        return graph.addVertex("test");
+    }
+
+    @Benchmark
+    public VertexProperty testVertexProperty() {
+        return a.property("name", "Susan");
+    }
+
+    @Benchmark
+    public Edge testAddEdge() {
+        return a.addEdge("knows", b);
+    }
+
+    @Benchmark
+    public Property testEdgeProperty() {
+        return e.property("met", 1967);
+    }
+
+    @Benchmark
+    public Vertex testAddV() {
+        return g.addV("test").next();
+    }
+
+    @Benchmark
+    public Vertex testVertexPropertyStep() {
+        return g.V(a).property("name", "Susan").next();
+    }
+
+    @Benchmark
+    public Edge testAddE() {
+        return g.V(a).as("a").V(b).as("b").addE("knows").from("a").to("b").next();
+    }
+
+    @Benchmark
+    public Edge testEdgePropertyStep() {
+        return g.E(e).property("met", 1967).next();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
new file mode 100644
index 0000000..191f5e7
--- /dev/null
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/gremlin/process/GraphTraversalBenchmark.java
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+package org.apache.tinkerpop.gremlin.process;
+
+import org.apache.tinkerpop.benchmark.util.AbstractGraphBenchmark;
+import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Path;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+
+import org.openjdk.jmh.annotations.Benchmark;
+
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
+
+/**
+ * Runs a traversal benchmarks against a {@link org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph} loaded
+ * with the Grateful Dead data set.
+ *
+ * @author Ted Wilmes (http://twilmes.org)
+ */
+@LoadGraphWith(LoadGraphWith.GraphData.GRATEFUL)
+public class GraphTraversalBenchmark extends AbstractGraphBenchmark {
+
+    @Benchmark
+    public List<Vertex> g_V_outE_inV_outE_inV_outE_inV() throws Exception {
+        return g.V().outE().inV().outE().inV().outE().inV().toList();
+    }
+
+    @Benchmark
+    public List<Vertex> g_V_out_out_out() throws Exception {
+        return g.V().out().out().out().toList();
+    }
+
+    @Benchmark
+    public List<Path> g_V_out_out_out_path() throws Exception {
+        return g.V().out().out().out().path().toList();
+    }
+
+    @Benchmark
+    public List<Vertex> g_V_repeatXoutX_timesX2X() throws Exception {
+        return g.V().repeat(out()).times(2).toList();
+    }
+
+    @Benchmark
+    public List<Vertex> g_V_repeatXoutX_timesX3X() throws Exception {
+        return g.V().repeat(out()).times(3).toList();
+    }
+
+    @Benchmark
+    public List<List<Object>> g_V_localXout_out_valuesXnameX_foldX() throws Exception {
+        return g.V().local(out().out().values("name").fold()).toList();
+    }
+
+    @Benchmark
+    public List<List<Object>> g_V_out_localXout_out_valuesXnameX_foldX() throws Exception {
+        return g.V().out().local(out().out().values("name").fold()).toList();
+    }
+
+    @Benchmark
+    public List<List<Object>> g_V_out_mapXout_out_valuesXnameX_toListX() throws Exception {
+        return g.V().out().map(v -> g.V(v.get()).out().out().values("name").toList()).toList();
+    }
+
+    @Benchmark
+    public List<Map<Object, Long>> g_V_label_groupCount() throws Exception {
+        return g.V().label().groupCount().toList();
+    }
+
+    @Benchmark
+    public List<Object> g_V_match_selectXbX_valuesXnameX() throws Exception {
+        return g.V().match(
+                __.as("a").has("name", "Garcia"),
+                __.as("a").in("writtenBy").as("b"),
+                __.as("a").in("sungBy").as("b")).select("b").values("name").toList();
+    }
+
+    @Benchmark
+    public List<Edge> g_E_hasLabelXwrittenByX_whereXinV_inEXsungByX_count_isX0XX_subgraphXsgX() throws Exception {
+        return g.E().hasLabel("writtenBy").where(__.inV().inE("sungBy").count().is(0)).subgraph("sg").toList();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/gremlin-coverage/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-coverage/pom.xml b/gremlin-tools/gremlin-coverage/pom.xml
new file mode 100644
index 0000000..b0172d8
--- /dev/null
+++ b/gremlin-tools/gremlin-coverage/pom.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>gremlin-tools</artifactId>
+        <groupId>org.apache.tinkerpop</groupId>
+        <version>3.3.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>gremlin-coverage</artifactId>
+    <name>Apache TinkerPop :: Gremlin Coverage</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-console</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-driver</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-groovy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-python</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-server</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>neo4j-gremlin</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>tinkergraph-gremlin</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <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>jacoco-report-aggregate</id>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>report-aggregate</goal>
+                                </goals>
+                                <configuration>
+                                    <title>Apache TinkerPop</title>
+                                    <footer>Code Coverage Report for Apache TinkerPop ${project.version}</footer>
+                                    <includes>
+                                        <include>**/*.class</include>
+                                    </includes>
+                                    <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>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/gremlin-tools/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-tools/pom.xml b/gremlin-tools/pom.xml
new file mode 100644
index 0000000..98857bb
--- /dev/null
+++ b/gremlin-tools/pom.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>tinkerpop</artifactId>
+        <groupId>org.apache.tinkerpop</groupId>
+        <version>3.3.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>gremlin-tools</artifactId>
+    <name>Apache TinkerPop :: Gremlin Tools</name>
+    <packaging>pom</packaging>
+    <modules>
+        <module>gremlin-benchmark</module>
+        <module>gremlin-coverage</module>
+    </modules>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/288351cc/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f660e51..c2cc89d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,7 +113,6 @@ limitations under the License.
         <module>gremlin-shaded</module>
         <module>gremlin-core</module>
         <module>gremlin-test</module>
-        <module>gremlin-benchmark</module>
         <module>gremlin-groovy</module>
         <module>gremlin-groovy-test</module>
         <module>tinkergraph-gremlin</module>
@@ -126,6 +125,7 @@ limitations under the License.
         <module>gremlin-console</module>
         <module>gremlin-server</module>
         <module>gremlin-archetype</module>
+        <module>gremlin-tools</module>
     </modules>
     <scm>
         <connection>scm:git:git@git-wip-us.apache.org:repos/asf/tinkerpop.git</connection>
@@ -1237,7 +1237,7 @@ limitations under the License.
                                     <goal>prepare-agent</goal>
                                 </goals>
                                 <configuration>
-                                    <destFile>${session.executionRootDirectory}/target/jacoco-it.exec</destFile>
+                                    <destFile>target/jacoco-it.exec</destFile>
                                     <append>true</append>
                                     <propertyName>failsafeArgLine</propertyName>
                                 </configuration>


[6/8] tinkerpop git commit: Added new 3.3.x upgrade doc file.

Posted by sp...@apache.org.
Added new 3.3.x upgrade doc file.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd9c07fd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd9c07fd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd9c07fd

Branch: refs/heads/master
Commit: bd9c07fd7a299c3351af2cef76277752ae8b3228
Parents: 906fc9c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 08:55:26 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 docs/src/upgrade/release-3.3.x.asciidoc | 29 ++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd9c07fd/docs/src/upgrade/release-3.3.x.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.3.x.asciidoc b/docs/src/upgrade/release-3.3.x.asciidoc
new file mode 100644
index 0000000..12a6845
--- /dev/null
+++ b/docs/src/upgrade/release-3.3.x.asciidoc
@@ -0,0 +1,29 @@
+////
+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.
+////
+
+TinkerPop 3.3.0
+===============
+
+*NEED A NAME*
+
+TinkerPop 3.3.0
+---------------
+
+*Release Date: NOT OFFICIALLY RELEASED YET*
+
+Please see the link:https://github.com/apache/tinkerpop/blob/3.3.3/CHANGELOG.asciidoc#release-3-3-0[changelog] for a complete list of all the modifications that are part of this release.
+


[4/8] tinkerpop git commit: Bump to 3.3.0-SNAPSHOT

Posted by sp...@apache.org.
Bump to 3.3.0-SNAPSHOT


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/906fc9c6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/906fc9c6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/906fc9c6

Branch: refs/heads/master
Commit: 906fc9c68b163b3804c44fa789fce3c4689e2c0b
Parents: 21208ac
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 08:51:44 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                      | 6 ++++++
 docs/src/upgrade/index.asciidoc                         | 2 ++
 giraph-gremlin/pom.xml                                  | 2 +-
 gremlin-archetype/gremlin-archetype-server/pom.xml      | 2 +-
 gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml | 2 +-
 gremlin-archetype/pom.xml                               | 2 +-
 gremlin-benchmark/pom.xml                               | 2 +-
 gremlin-console/bin/gremlin.sh                          | 2 +-
 gremlin-console/pom.xml                                 | 2 +-
 gremlin-core/pom.xml                                    | 2 +-
 gremlin-driver/pom.xml                                  | 2 +-
 gremlin-groovy-test/pom.xml                             | 2 +-
 gremlin-groovy/pom.xml                                  | 2 +-
 gremlin-python/pom.xml                                  | 2 +-
 gremlin-server/pom.xml                                  | 2 +-
 gremlin-shaded/pom.xml                                  | 2 +-
 gremlin-test/pom.xml                                    | 2 +-
 hadoop-gremlin/pom.xml                                  | 2 +-
 neo4j-gremlin/pom.xml                                   | 2 +-
 pom.xml                                                 | 2 +-
 spark-gremlin/pom.xml                                   | 2 +-
 tinkergraph-gremlin/pom.xml                             | 2 +-
 22 files changed, 28 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 2cc2cd3..fa70059 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -22,6 +22,12 @@ TinkerPop 3.2.0 (Nine Inch Gremlins)
 
 image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/nine-inch-gremlins.png[width=185]
 
+[[release-3-3-0]]
+TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+
 [[release-3-2-3]]
 TinkerPop 3.2.3 (Release Date: October 17, 2016)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/docs/src/upgrade/index.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/index.asciidoc b/docs/src/upgrade/index.asciidoc
index a12442b..5ce4099 100644
--- a/docs/src/upgrade/index.asciidoc
+++ b/docs/src/upgrade/index.asciidoc
@@ -35,6 +35,8 @@ These providers include:
 *\u2002Graph Language Provider
 * Graph Plugin Provider
 
+include::release-3.3.x.asciidoc[]
+
 include::release-3.2.x-incubating.asciidoc[]
 
 include::release-3.1.x-incubating.asciidoc[]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/giraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/giraph-gremlin/pom.xml b/giraph-gremlin/pom.xml
index b29743e..102f3a9 100644
--- a/giraph-gremlin/pom.xml
+++ b/giraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>giraph-gremlin</artifactId>
     <name>Apache TinkerPop :: Giraph Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-archetype/gremlin-archetype-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-server/pom.xml b/gremlin-archetype/gremlin-archetype-server/pom.xml
index 5cf6089..e29759a 100644
--- a/gremlin-archetype/gremlin-archetype-server/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype-server</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
index bf7da71..69f3ee2 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype-tinkergraph</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/pom.xml b/gremlin-archetype/pom.xml
index 34fef08..b33d0c5 100644
--- a/gremlin-archetype/pom.xml
+++ b/gremlin-archetype/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/pom.xml b/gremlin-benchmark/pom.xml
index 033ba30..54272d5 100644
--- a/gremlin-benchmark/pom.xml
+++ b/gremlin-benchmark/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-benchmark</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-console/bin/gremlin.sh
----------------------------------------------------------------------
diff --git a/gremlin-console/bin/gremlin.sh b/gremlin-console/bin/gremlin.sh
index 3baee71..0e85786 120000
--- a/gremlin-console/bin/gremlin.sh
+++ b/gremlin-console/bin/gremlin.sh
@@ -1 +1 @@
-../target/apache-tinkerpop-gremlin-console-3.2.3-standalone/bin/gremlin.sh
\ No newline at end of file
+../target/apache-tinkerpop-gremlin-console-3.3.0-SNAPSHOT-standalone/bin/gremlin.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index ef91d45..1300de1 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-console</artifactId>
     <name>Apache TinkerPop :: Gremlin Console</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-core/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 2918184..74f6a59 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-core</artifactId>
     <name>Apache TinkerPop :: Gremlin Core</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-driver/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-driver/pom.xml b/gremlin-driver/pom.xml
index 9c9d6a0..80c2c59 100644
--- a/gremlin-driver/pom.xml
+++ b/gremlin-driver/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-driver</artifactId>
     <name>Apache TinkerPop :: Gremlin Driver</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-groovy-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/pom.xml b/gremlin-groovy-test/pom.xml
index 67b9e6f..853b59f 100644
--- a/gremlin-groovy-test/pom.xml
+++ b/gremlin-groovy-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-groovy-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-groovy/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index e0ea5b5..51a2b63 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-groovy</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 03cba6f..c44f197 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-python</artifactId>
     <name>Apache TinkerPop :: Gremlin Python</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 84349cd..dc40bab 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-server</artifactId>
     <name>Apache TinkerPop :: Gremlin Server</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-shaded/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-shaded/pom.xml b/gremlin-shaded/pom.xml
index c1dced6..2b5a0f4 100644
--- a/gremlin-shaded/pom.xml
+++ b/gremlin-shaded/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-shaded</artifactId>
     <name>Apache TinkerPop :: Gremlin Shaded</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 7d10377..705cfaa 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/hadoop-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index c3db97e..5416f18 100644
--- a/hadoop-gremlin/pom.xml
+++ b/hadoop-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>hadoop-gremlin</artifactId>
     <name>Apache TinkerPop :: Hadoop Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/neo4j-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/pom.xml b/neo4j-gremlin/pom.xml
index 31cf91c..30c681d 100644
--- a/neo4j-gremlin/pom.xml
+++ b/neo4j-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>neo4j-gremlin</artifactId>
     <name>Apache TinkerPop :: Neo4j Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 272a1b2..f660e51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@ limitations under the License.
     </parent>
     <groupId>org.apache.tinkerpop</groupId>
     <artifactId>tinkerpop</artifactId>
-    <version>3.2.3</version>
+    <version>3.3.0-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Apache TinkerPop</name>
     <description>A Graph Computing Framework</description>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/spark-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index d332e3c..f68d76b 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>spark-gremlin</artifactId>
     <name>Apache TinkerPop :: Spark Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/906fc9c6/tinkergraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/pom.xml b/tinkergraph-gremlin/pom.xml
index 69faf58..02e32d7 100644
--- a/tinkergraph-gremlin/pom.xml
+++ b/tinkergraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.3</version>
+        <version>3.3.0-SNAPSHOT</version>
     </parent>
     <artifactId>tinkergraph-gremlin</artifactId>
     <name>Apache TinkerPop :: TinkerGraph Gremlin</name>


[7/8] tinkerpop git commit: Made gremlin-benchmark write to /target

Posted by sp...@apache.org.
Made gremlin-benchmark write to /target

Seemed like this was setup to work at one point but the variable name in the pom and benchmark code were different. CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/85367231
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/85367231
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/85367231

Branch: refs/heads/master
Commit: 85367231bb7ed9dbd2a6cb58d6d0e810755af93a
Parents: 288351c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 16:05:55 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 .gitignore                                                        | 1 -
 CHANGELOG.asciidoc                                                | 1 +
 docs/src/dev/developer/development-environment.asciidoc           | 3 ++-
 .../apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java    | 2 +-
 4 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/85367231/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 33fb239..4e8269e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,7 +14,6 @@ _bsp/
 doc/out
 docs/*.asciidoc
 ext/
-benchmarks/
 *$py.class
 __pycache__/
 *.py[cdo]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/85367231/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 43a50c7..ed73100 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -29,6 +29,7 @@ TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 * Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API.
 * Moved `gremlin-benchmark` under `gremlin-tools` module.
 * Added `gremlin-tools` and its submodule `gremlin-coverage`.
+* Changed `gremlin-benchmark` system property for the report location to `benchmarkReportDir` for consistency.
 
 [[release-3-2-3]]
 TinkerPop 3.2.3 (Release Date: October 17, 2016)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/85367231/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index 0b99647..6707bbc 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -146,8 +146,9 @@ mvn -Dmaven.javadoc.skip=true --projects tinkergraph-gremlin test
 ** Execute with the `-DuseEpoll` option to try to use Netty native transport (works on Linux, but will fallback to Java NIO on other OS).
 * Performance Tests: `mvn verify -DskipPerformanceTests=false`
 * Benchmarks: `mvn verify -DskipBenchmarks=false`
+** Reports are generated to the console and to `gremlin-tools/gremlin-benchmark/target/reports/benchmark`.
 * Test coverage report: `mvn clean install -Dcoverage` - note that the `install` is necessary because report aggregation is bound to that part of the lifecycle.
-** Reports are generated to `gremlin-tools/gremlin-coverage/target/site`
+** Reports are generated to `gremlin-tools/gremlin-coverage/target/site`.
 
 [[docker-integration]]
 Docker Integration

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/85367231/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
----------------------------------------------------------------------
diff --git a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
index 2f8bb66..e7ac8a4 100644
--- a/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
+++ b/gremlin-tools/gremlin-benchmark/src/main/java/org/apache/tinkerpop/benchmark/util/AbstractBenchmarkBase.java
@@ -104,7 +104,7 @@ public abstract class AbstractBenchmarkBase {
     }
 
     protected String getReportDir() {
-        return System.getProperty("benchmark.dir", DEFAULT_BENCHMARK_DIRECTORY);
+        return System.getProperty("benchmarkReportDir", DEFAULT_BENCHMARK_DIRECTORY);
     }
 
     private int getIntProperty(final String propertyName, final int defaultValue) {


[5/8] tinkerpop git commit: Moved CHANGELOG entry to 3.3.0

Posted by sp...@apache.org.
Moved CHANGELOG entry to 3.3.0

This change was not done on 3.2.x - CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4e3e87cf
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4e3e87cf
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4e3e87cf

Branch: refs/heads/master
Commit: 4e3e87cfbb20dcef526c6b06625c2259ee9db43d
Parents: bd9c07f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Oct 18 08:55:55 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4e3e87cf/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index fa70059..8282333 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API
 
 
 [[release-3-2-3]]
@@ -190,7 +191,6 @@ This release also includes changes from <<release-3-1-4, 3.1.4>>.
 * Added color preferences
 * Added input, result prompt preferences
 * Added multi-line indicator in Gremlin Console
-* Replaced term `REST` with `HTTP` to remove any confusion as to the design of the API
 
 Bugs
 ^^^^


[3/8] tinkerpop git commit: Jacoco and surefire reporting working

Posted by sp...@apache.org.
Jacoco and surefire reporting working


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/21208acd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/21208acd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/21208acd

Branch: refs/heads/master
Commit: 21208acdb46a09584951663485416311cb9224bf
Parents: 43f10d5
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Oct 7 18:22:33 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Oct 19 14:02:40 2016 -0400

----------------------------------------------------------------------
 gremlin-benchmark/pom.xml |  77 +++++++++++++++++++++
 gremlin-test/pom.xml      |  27 ++++++++
 pom.xml                   | 154 ++++++++++++++++++++++++++++-------------
 3 files changed, 211 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21208acd/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/pom.xml b/gremlin-benchmark/pom.xml
index c0bb57b..033ba30 100644
--- a/gremlin-benchmark/pom.xml
+++ b/gremlin-benchmark/pom.xml
@@ -41,16 +41,46 @@ limitations under the License.
         </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-console</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
             <artifactId>gremlin-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-driver</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-groovy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-python</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>gremlin-server</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
             <artifactId>gremlin-test</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.tinkerpop</groupId>
+            <artifactId>neo4j-gremlin</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tinkerpop</groupId>
             <artifactId>tinkergraph-gremlin</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -131,4 +161,51 @@ limitations under the License.
             </plugin>
         </plugins>
     </build>
+
+    <profiles>
+        <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>jacoco-report-aggregate</id>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>report-aggregate</goal>
+                                </goals>
+                                <configuration>
+                                    <title>Apache TinkerPop</title>
+                                    <footer>Code Coverage Report for Apache TinkerPop ${project.version}</footer>
+                                    <includes>
+                                        <include>**/*.class</include>
+                                    </includes>
+                                    <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>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21208acd/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index ee257d6..7d10377 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -90,4 +90,31 @@ limitations under the License.
             </plugin>
         </plugins>
     </build>
+
+    <profiles>
+        <profile>
+            <id>coverage</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+                <property>
+                    <name>coverage</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <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
+                            </argLine>
+                            <excludes>
+                                <exclude>TraversalInterruptionTest.java</exclude>
+                            </excludes>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21208acd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c027127..272a1b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -314,6 +314,14 @@ limitations under the License.
                     </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>
@@ -339,8 +347,7 @@ limitations under the License.
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>2.17</version>
                     <configuration>
-                        <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory}
-                            -Dis.testing=true
+                        <argLine>-Dlog4j.configuration=${log4j-test.properties} -Dbuild.dir=${project.build.directory} -Dis.testing=true
                         </argLine>
                         <excludes>
                             <exclude>**/*IntegrateTest.java</exclude>
@@ -461,51 +468,6 @@ limitations under the License.
         </pluginManagement>
     </build>
 
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>${javadoc-plugin.version}</version>
-                <configuration>
-                    <additionalparam>-Xdoclint:none</additionalparam>
-                </configuration>
-                <reportSets>
-                    <reportSet>
-                        <id>non-aggregate</id>
-                        <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>
-                        <reports>
-                            <report>javadoc</report>
-                        </reports>
-                    </reportSet>
-                    <reportSet>
-                        <id>aggregate</id>
-                        <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>
-                        <reports>
-                            <report>aggregate</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
-            </plugin>
-        </plugins>
-    </reporting>
-
     <dependencyManagement>
         <dependencies>
             <dependency>
@@ -665,6 +627,11 @@ limitations under the License.
                 <artifactId>jcl-over-slf4j</artifactId>
                 <version>${slf4j.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>0.7.4.201502262128</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
@@ -1227,5 +1194,98 @@ limitations under the License.
             </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>${session.executionRootDirectory}/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}
+                            </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
+                                -Djub.consumers=CONSOLE,H2 -Djub.db.file=target/performance/h2/benchmarks
+                                -Djub.charts.dir=target/performance/charts -Djub.customkey=${project.parent.version}
+                                -Dbuild.dir=${project.build.directory} -Dis.testing=true ${failsafeArgLine}
+                            </argLine>
+                        </configuration>
+                    </plugin>
+
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-report-plugin</artifactId>
+                        <version>2.19.1</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>
+
     </profiles>
 </project>