[ 
https://issues.apache.org/jira/browse/TINKERPOP-3183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18138369#comment-18138369
 ] 

ASF GitHub Bot commented on TINKERPOP-3183:
-------------------------------------------

Iryna-Kahamlyk opened a new pull request, #3773:
URL: https://github.com/apache/tinkerpop/pull/3773

   JIRA: https://issues.apache.org/jira/browse/TINKERPOP-3183
   
   Upgrades Groovy from 4.0.32 to 6.0.0. The Gremlin Console now runs on the 
Groovy 6 shell (groovysh 6, built on
   JLine 4) through its embedding API, replacing groovysh 4 and the 
unmaintained JLine 2.
   
   **gremlin-groovy**
   * Kept `def` variables visible across scripts in interpreter mode with 
Groovy 6's AST changes.
   * Fixed `g.inject(null)` choosing Groovy 5's new `inject()` helpers, and a 
recursion in the sugar plugin's property lookup.
   * Kept the last of two imports with the same simple name, which Groovy 5+ 
otherwise rejects (keeps a plugin able to override `__`).
   * Allowed `ArrayGroovyMethods` in the sandbox allowlists, where Groovy 5 
moved the array extension methods.
   
   **gremlin-console**
   * Ported the Gremlin commands (`:plugin`, `:set`, `:install`, `:uninstall`, 
`:cls`) to JLine commands. They keep their
     names, messages and Tab completion; `:help /plugin` or `:plugin --help` 
shows their help.
   * Restored line continuation after a trailing `.` or operator (e.g. 
`g.V().`), which groovysh 5/6 no longer support.
   * Kept `:` commands, `-i`/`-e` scripts with Gremlin commands, piped input, 
preferences, plugins, colors and result iteration.
   * `ctrl+c` now stops printing results and running statements and leaves the 
console usable.
   
   **Behavior changes** (documented in the upgrade notes)
   * An assignment line displays `==>null` instead of the value, and an 
assigned traversal is not iterated.
   * Commands, empty lines, comments, imports and method/class definitions 
display `==>null`.
   * The symbol shortcuts (`:?`, `:+`, `:-`, `:=`) and several groovysh 4 
commands (`:show`, `:purge`, `:record`, ...) are
     gone; replacements are listed in the upgrade notes.
   * `fail()` shows only `FailException: <message>` unless the traversal is 
iterated on the line, e.g. with `toList()`.
   * `:load` reports `Loaded: <file>`, `:save` needs a file name, and history 
from earlier versions is not read.
   
   **Testing**
   * Unit tests (gremlin-groovy)
   * Unit tests (gremlin-console)
   * Python console tests




> Upgrade to Groovy 6
> -------------------
>
>                 Key: TINKERPOP-3183
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3183
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: groovy
>    Affects Versions: 3.7.4
>            Reporter: Stephen Mallette
>            Priority: Major
>
> -Groovy 5 recently released. While Groovy will be removed from Gremlin Server 
> in 4.x it will still exist for Gremlin Console (and perhaps other use cases). 
> Note that for Gremlin Console, there were supposedly significant changes to 
> {{groovysh}} for Groovy 5 because of the upgrade to JLine. It likely will 
> impact Gremlin Console and make the upgrade more complicated.-
> Groovy 6 has now released, which has walked back some of the changes which 
> had complicated the gremlin-console groovy 5 migration. We should aim to jump 
> straight to groovy 6.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to