You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "pieter martin (Jira)" <ji...@apache.org> on 2023/12/03 07:17:00 UTC

[jira] [Created] (TINKERPOP-3019) Refactor package to allow clients to use Java Modules

pieter martin created TINKERPOP-3019:
----------------------------------------

             Summary: Refactor package to allow clients to use Java Modules
                 Key: TINKERPOP-3019
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3019
             Project: TinkerPop
          Issue Type: Improvement
          Components: structure
            Reporter: pieter martin


When trying to use both `gremlin-core` and `gremlin-language` in a java modules build it fails with,
{noformat}
module org.sqlg reads package org.apache.tinkerpop.gremlin.language.grammar from both gremlin.language and gremlin.core
{noformat}

When building using java modules the following code is needed in module-info.java

{code:java}
module org.sqlg {
    requires gremlin.core;
    requires gremlin.language;
    requires gremlin.shaded;
}
{code}

Both gremlin-core and gremlin-language have the package 
{code:java}
org.apache.tinkerpop.gremlin.language.grammar
{code}

This is called a split package and it not allowed by the java module system.

Seeing as Gremlin.g4 generates into org.apache.tinkerpop.gremlin.language.grammar I suggest renaming org.apache.tinkerpop.gremlin.language.grammar to something else in gremlin-core.

On my local machine I renamed gremlin-core/org.apache.tinkerpop.gremlin.language.grammar to org.apache.tinkerpop.gremlin.language.grammar2 which resolved the issue.
 







--
This message was sent by Atlassian Jira
(v8.20.10#820010)