Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-3019

Refactor package to allow clients to use Java Modules

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • structure
    • None

    Description

      When trying to use both `gremlin-core` and `gremlin-language` in a java modules build it fails with,

      module org.sqlg reads package org.apache.tinkerpop.gremlin.language.grammar from both gremlin.language and gremlin.core
      

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

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

      Both gremlin-core and gremlin-language have the package

      org.apache.tinkerpop.gremlin.language.grammar
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            pietermartin pieter martin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: