@@ -29,6 +29,7 @@ limitations under the License.
2929 <!-- provides a way to convert maven.test.skip value to skipTests for use in skipping python tests -->
3030 <maven .test.skip>false</maven .test.skip>
3131 <skipTests >${maven.test.skip}</skipTests >
32+ <TEST_TRANSACTIONS >false</TEST_TRANSACTIONS >
3233 <gremlin .server.dir>${project.parent.basedir} /gremlin-server</gremlin .server.dir>
3334 </properties >
3435 <build >
@@ -216,6 +217,7 @@ limitations under the License.
216217 <target >
217218 <exec executable =" env/bin/python" dir =" ${project.build.directory}/python3"
218219 failonerror =" true" >
220+ <env key =" TEST_TRANSACTIONS" value =" ${TEST_TRANSACTIONS}" />
219221 <env key =" PYTHONPATH" value =" " />
220222 <env key =" KRB5_CONFIG" value =" ${project.build.directory}/kdc/krb5.conf" />
221223 <env key =" KRB5CCNAME" value =" ${project.build.directory}/kdc/test-tkt.cc" />
@@ -224,19 +226,22 @@ limitations under the License.
224226 <!-- radish seems to like all dependencies in place -->
225227 <exec executable =" env/bin/python" dir =" ${project.build.directory}/python3"
226228 failonerror =" true" >
229+ <env key =" TEST_TRANSACTIONS" value =" ${TEST_TRANSACTIONS}" />
227230 <env key =" PYTHONPATH" value =" " />
228231 <arg line =" setup.py install" />
229232 </exec >
230233 <!-- run for graphson 3.0 -->
231234 <exec executable =" env/bin/radish" dir =" ${project.build.directory}/python3"
232235 failonerror =" true" >
236+ <env key =" TEST_TRANSACTIONS" value =" ${TEST_TRANSACTIONS}" />
233237 <env key =" PYTHONPATH" value =" " />
234238 <env key =" PYTHONIOENCODING" value =" utf-8:surrogateescape" />
235239 <arg line =" -f dots -e -t -b ${project.build.directory}/python3/radish ${project.basedir}/../gremlin-test/features/ --user-data=" serializer=application/vnd.gremlin-v3.0+json" " /> <!-- -no-line-jump -->
236240 </exec >
237241 <!-- run for graphbinary 1.0 -->
238242 <exec executable =" env/bin/radish" dir =" ${project.build.directory}/python3"
239243 failonerror =" true" >
244+ <env key =" TEST_TRANSACTIONS" value =" ${TEST_TRANSACTIONS}" />
240245 <env key =" PYTHONPATH" value =" " />
241246 <env key =" PYTHONIOENCODING" value =" utf-8:surrogateescape" />
242247 <arg line =" -f dots -e -t -b ${project.build.directory}/python3/radish ${project.basedir}/../gremlin-test/features/ --user-data=" serializer=application/vnd.graphbinary-v1.0" " /> <!-- -no-line-jump -->
@@ -260,6 +265,11 @@ limitations under the License.
260265 <artifactId >gremlin-test</artifactId >
261266 <version >${project.version} </version >
262267 </dependency >
268+ <dependency >
269+ <groupId >org.apache.tinkerpop</groupId >
270+ <artifactId >neo4j-gremlin</artifactId >
271+ <version >${project.version} </version >
272+ </dependency >
263273 <dependency >
264274 <groupId >org.codehaus.groovy</groupId >
265275 <artifactId >groovy-all</artifactId >
@@ -354,6 +364,118 @@ limitations under the License.
354364 </plugins >
355365 </build >
356366 </profile >
367+ <!--
368+ This profile will include neo4j for purposes of transactional testing within Gremlin Server.
369+ Tests that require neo4j specifically will be "ignored" if this profile is not turned on.
370+ -->
371+ <profile >
372+ <id >include-neo4j</id >
373+ <activation >
374+ <activeByDefault >false</activeByDefault >
375+ <property >
376+ <name >includeNeo4j</name >
377+ </property >
378+ </activation >
379+ <properties >
380+ <TEST_TRANSACTIONS >true</TEST_TRANSACTIONS >
381+ </properties >
382+ <build >
383+ <plugins >
384+ <plugin >
385+ <groupId >org.codehaus.gmavenplus</groupId >
386+ <artifactId >gmavenplus-plugin</artifactId >
387+ <dependencies >
388+ <dependency >
389+ <groupId >org.neo4j</groupId >
390+ <artifactId >neo4j-tinkerpop-api-impl</artifactId >
391+ <version >0.9-3.4.0</version >
392+ <exclusions >
393+ <exclusion >
394+ <groupId >org.neo4j</groupId >
395+ <artifactId >neo4j-kernel</artifactId >
396+ </exclusion >
397+ <exclusion >
398+ <groupId >org.apache.commons</groupId >
399+ <artifactId >commons-lang3</artifactId >
400+ </exclusion >
401+ <exclusion >
402+ <groupId >org.apache.commons</groupId >
403+ <artifactId >commons-text</artifactId >
404+ </exclusion >
405+ <exclusion >
406+ <groupId >com.github.ben-manes.caffeine</groupId >
407+ <artifactId >caffeine</artifactId >
408+ </exclusion >
409+ <exclusion >
410+ <groupId >org.scala-lang</groupId >
411+ <artifactId >scala-library</artifactId >
412+ </exclusion >
413+ <exclusion >
414+ <groupId >org.scala-lang</groupId >
415+ <artifactId >scala-reflect</artifactId >
416+ </exclusion >
417+ <exclusion >
418+ <groupId >org.slf4j</groupId >
419+ <artifactId >slf4j-api</artifactId >
420+ </exclusion >
421+ <exclusion >
422+ <groupId >org.slf4j</groupId >
423+ <artifactId >slf4j-nop</artifactId >
424+ </exclusion >
425+ <exclusion >
426+ <groupId >org.apache.lucene</groupId >
427+ <artifactId >lucene-core</artifactId >
428+ </exclusion >
429+ <exclusion >
430+ <groupId >io.dropwizard.metrics</groupId >
431+ <artifactId >metrics-core</artifactId >
432+ </exclusion >
433+ <exclusion >
434+ <groupId >io.netty</groupId >
435+ <artifactId >netty-all</artifactId >
436+ </exclusion >
437+ <exclusion >
438+ <groupId >org.ow2.asm</groupId >
439+ <artifactId >asm</artifactId >
440+ </exclusion >
441+ </exclusions >
442+ </dependency >
443+ <dependency >
444+ <groupId >org.scala-lang</groupId >
445+ <artifactId >scala-library</artifactId >
446+ <version >2.11.8</version >
447+ </dependency >
448+ <dependency >
449+ <groupId >org.scala-lang</groupId >
450+ <artifactId >scala-reflect</artifactId >
451+ <version >2.11.8</version >
452+ </dependency >
453+ <dependency >
454+ <groupId >org.apache.lucene</groupId >
455+ <artifactId >lucene-core</artifactId >
456+ <version >5.5.0</version >
457+ </dependency >
458+ <dependency >
459+ <groupId >io.dropwizard.metrics</groupId >
460+ <artifactId >metrics-core</artifactId >
461+ <version >4.0.2</version >
462+ </dependency >
463+ <dependency >
464+ <groupId >org.neo4j</groupId >
465+ <artifactId >neo4j-kernel</artifactId >
466+ <version >3.4.11</version >
467+ <exclusions >
468+ <exclusion >
469+ <groupId >io.netty</groupId >
470+ <artifactId >netty-all</artifactId >
471+ </exclusion >
472+ </exclusions >
473+ </dependency >
474+ </dependencies >
475+ </plugin >
476+ </plugins >
477+ </build >
478+ </profile >
357479 <!--
358480 Provides a way to deploy the gremlinpython GLV to pypi. This cannot be part of the standard maven execution
359481 because pypi does not have a staging environment like sonatype for releases. As soon as the release is
0 commit comments