Skip to content

KNOX-3278: Update JLine to 3.30.6 (#1181) - #1362

Merged
bonampak merged 1 commit into
apache:v3.0.0from
bonampak:KNOX-3278_v3_0_0
Aug 28, 2026
Merged

KNOX-3278: Update JLine to 3.30.6 (#1181)#1362
bonampak merged 1 commit into
apache:v3.0.0from
bonampak:KNOX-3278_v3_0_0

Conversation

@bonampak

Copy link
Copy Markdown
Contributor

(cherry picked from commit 114af08)

KNOX-3278 - Update JLine to 3.30.6

What changes were proposed in this pull request?

Update groovy to 5.0.4, jline to 3.30.6, jna to 5.18.1, aspectj to 1.9.25.1 and rest-assured to 6.0.0.
Rewrote gateway-shell using JLine 3 and Groovy 5.

How was this patch tested?

Ran example tests and all repl commands (ExampleWebHdfsLs.groovy and ExampleManagerResourceDeployment.groovy both in REPL with :load and as knoxshell.sh arguments.

Integration Tests

There is another ticket for adding integration tests:
KNOX-3280 Add integration tests for KnoxShell and KnoxCLI

UI changes

None

* KNOX-3278: Update jline.version to 3.25.1.

* KNOX-3278: Update groovy to 5.0.4 and jline to 3.30.6, plus jna to 5.18.1.

* KNOX-3278: refactor commands and REPL shell.

* KNOX-3278: fix checkstyle errors and logging configuration in maven-shade-plugin and knoxshell-log4j. Update aspectj for JDK 17.

* KNOX-3278: Fix forbiddenapis check: use Locale.ROOT in printf.

* KNOX-3278: Fix KnoxShellTableCallHistoryTest shouldRollbackToValidPreviousStep

* KNOX-3278: Removing comments and unused methods

* KNOX-3278: Fix missing newlines at end of file.

* KNOX-3278: Restoring SelectCommand to use Swing JTextArea for multiline edits.

* KNOX-3278: Removing KnoxLoginDialog (JLine3 supports password input).

* KNOX-3278: Correcting undeclared jline module dependencies.

* KNOX-3278: Correcting pmd findings.

* KNOX-3278: Update rest-assured to 6.0.0 (needed for Groovy 5)

* KNOX-3278: command completion pt1

* KNOX-3278: command completion pt2

* KNOX-3278: correct checkstyle errors

* KNOX-3278: correct undeclared jline module dependencies.

* KNOX-3278: cleanup DataSourceCommand completer.

* KNOX-3278: add :x and :q as exit commands.

* KNOX-3278: add '?' as help command alias.

* KNOX-3278: import, load and show commands added.

* KNOX-3278: purge command added.

* KNOX-3278: Correcting load command and alias.

* KNOX-3278: Adding completer for ShowCommand.

* KNOX-3278: Correct checkstyle error on shortcut handling

* KNOX-3278: Renaming SimpleCommandRegistry to KnoxShellCommandRegistry and cleaning up command handling. Overriding name() so that tab completion after semicolon does not show the name of the command registry.

* KNOX-3278: No need to exclude Log4j2Plugins.dat from the shaded knoxhsell jar.

* KNOX-3278: correcting knoxshell.sh to use -jar instead of main class (to use Launcher taken from knoxshell.jar manifest main class)

* KNOX-3278: excluding Log4j2Plugins.dat from the shaded knoxhsell jar and making knoxshell-log4j2.xml consistent with other log4j2 configurations.

* KNOX-3278: get rid of useless warning javax.* types are not being woven

* KNOX-3278: fix log4j2 WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.

* KNOX-3278: Fix purge command, simplify import and show commands.

* KNOX-3278: Fix ImportCommand and add support for static imports.

* KNOX-3278: Catch Throwable similarly to legacy GroovySh.

* KNOX-3278: Make LoadCommand handle multi-file loading as in legacy GroovySh 4.

* KNOX-3278: wrap GroovyEngine completer into SafeCompleter to handle unexpected exceptions.

* KNOX-3278: correct knoxshell.sh to use launcher and correctly load classes from the lib directory.

* KNOX-3278: fix no endline at end of file.

* KNOX-3278: refactor Shell.java pt1

* KNOX-3278: refactor Shell.java pt2

* KNOX-3238: review findings: keep Launcher because of logging and remove duplicate classpath argument.

* KNOX-3278: review findings: Restore KnoxLoginDialog for credential collection logic.

* KNOX-3278: review findings: Revert LoginCommand to use KnoxLoginDialog.

Reverts LoginCommand.execute() to use KnoxLoginDialog for credential collection
instead of JLine3 terminal prompts, restoring the Swing GUI popup dialog behavior.

This maintains consistency with the `:login` command behavior from before KNOX-3278 refactoring, as documented in the original pre-refactor version.

* KNOX-3278: review findings: Replace inline FQN with import

* KNOX-3278: review findings: revert trailing newlines in files that would otherwise not be changed.

* KNOX-3278: review findings: remove override for KnoxShellCommandRegistry.name()

* KNOX-3278: correcting load command to parse filenames with spaces as well

* KNOX-3278: correcting Groovy 5 extension module registration.

* KNOX-3278: Ctrl+C continues back to the prompt; Ctrl+D exits the shell.

* KNOX-3278: review findings: revert trailing newlines in files that would otherwise not be changed.

* KNOX-3278: review findings: fix purge command javadoc and help.

(cherry picked from commit 114af08)
@bonampak
bonampak requested a review from hanicz August 28, 2026 12:42
@github-actions

Copy link
Copy Markdown

Test Results

40 tests   40 ✅  5s ⏱️
 3 suites   0 💤
 3 files     0 ❌

Results for commit c9a4be0.

@bonampak
bonampak merged commit 7cb3a90 into apache:v3.0.0 Aug 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants