From 26ed54f4bbad3d9879f87344cc8e1a41f13de79c Mon Sep 17 00:00:00 2001 From: Oleksandr Porunov Date: Fri, 13 Oct 2023 17:15:19 +0100 Subject: [PATCH] Add possibility to build JanusGraph Scylla Release Related to #3580 Signed-off-by: Oleksandr Porunov --- docs/storage-backend/scylladb.md | 16 +++++++++++++-- janusgraph-dist/pom.xml | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/docs/storage-backend/scylladb.md b/docs/storage-backend/scylladb.md index 3d0f171a57..bb1db93dd3 100644 --- a/docs/storage-backend/scylladb.md +++ b/docs/storage-backend/scylladb.md @@ -79,8 +79,20 @@ compile "org.janusgraph:janusgraph-scylla:1.0.0" The manual process described below is temporary and should be replaced by automated process after the issue [janusgraph/janusgraph#3580](https://github.com/JanusGraph/janusgraph/issues/3580) is resolved. -In case `scylla` storage option is needed to be used in JanusGraph distribution then it's necessary to replace the next libraries -in `lib` directory (all libraries can be downloaded via Maven Central Repository). +In case `scylla` storage option is needed to be used in JanusGraph distribution then it's necessary to replace the next +DataStax provided CQL driver with Scylla provided CQL driver. +The default JanusGraph distribution builds contain only DataStax drivers, but not Scylla drivers because they are conflicting. +However, it's possible to build the same distribution build but with Scylla drivers enabled instead. +To do this, you can use the following command inside the JanusGraph repository: +```groovy tab='Bash' +mvn clean install -Pjanusgraph-release -Puse-scylla -DskipTests=true --batch-mode --also-make -Dgpg.skip=true +``` + +This command will generate distribution builds (both normal and full distribution build) in the +following directory: `janusgraph-dist/target/`. + +Otherwise, if you can't build distribution on your own, you can use the JanusGraph provided distribution and replace +the following libraries in `lib` directory (all libraries can be downloaded via Maven Central Repository). - `org.janusgraph:janusgraph-cql` with `org.janusgraph:janusgraph-scylla` - `org.janusgraph:cassandra-hadoop-util` with `org.janusgraph:scylla-hadoop-util` - `com.datastax.oss:java-driver-core` with `com.scylladb:java-driver-core` diff --git a/janusgraph-dist/pom.xml b/janusgraph-dist/pom.xml index 8b2058b270..156218ca59 100644 --- a/janusgraph-dist/pom.xml +++ b/janusgraph-dist/pom.xml @@ -38,6 +38,9 @@ ${it.skip} ${project.parent.basedir}/docs + + janusgraph-cql + cassandra-hadoop-util @@ -45,7 +48,32 @@ ${project.groupId} janusgraph-all ${project.version} + + + janusgraph-cql + ${project.groupId} + + + cassandra-hadoop-util + ${project.groupId} + + + + + + + ${project.groupId} + ${cql-module} + ${project.version} + + + + + ${project.groupId} + ${cql-hadoop-module} + ${project.version} + net.java.dev.jna jna @@ -326,6 +354,13 @@ -java-11 + + use-scylla + + janusgraph-scylla + scylla-hadoop-util + + janusgraph-release