[
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)