KNOX-3278: Update JLine to 3.30.6 (#1181) - #1362
Merged
Merged
Conversation
* 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)
Test Results40 tests 40 ✅ 5s ⏱️ Results for commit c9a4be0. |
hanicz
approved these changes
Aug 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(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