build(deps): bump org.jline:jansi-core from 3.30.6 to 4.0.0#677
build(deps): bump org.jline:jansi-core from 3.30.6 to 4.0.0#677dependabot[bot] wants to merge 1 commit intodevelopfrom
Conversation
Bumps [org.jline:jansi-core](https://github.com/jline/jline3) from 3.30.6 to 4.0.0. - [Release notes](https://github.com/jline/jline3/releases) - [Commits](jline/jline3@jline-3.30.6...4.0.0) --- updated-dependencies: - dependency-name: org.jline:jansi-core dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Adds a minimal internal ANSI escape-code builder (dev.metaschema.cli.processor.ansi.Ansi)
that covers the subset of jline:jansi functionality used by the CLI — fluent text/color
appending, bold/boldOff, reset, fgRed/fgBrightRed/fgBrightYellow/fgBrightBlue/fgBrightCyan,
fgBright(Color), and a global setEnabled toggle.
The existing Ansi import is renamed to the new package across the three call sites:
- cli-processor/CLIProcessor (version banner formatting and --no-color toggle)
- cli-processor/CallingContext (sub-command list rendering; jline's render("@|bold ...|@ ...")
is replaced with explicit fluent bold()/boldOff() calls)
- metaschema-cli/LoggingValidationHandler (severity-colored log preambles and findings)
The jline:jansi-core dependency is removed from the parent POM's dependencyManagement,
cli-processor/pom.xml, and cli-processor/module-info.java. The new ansi package is
exported from cli-processor for metaschema-cli to consume.
Motivation: jline 4.0.0 (dependabot PR metaschema-framework#677) is a breaking upgrade requiring Maven 4,
complete JPMS migration, and JNA removal. The CLI's use of jansi is limited and
well-isolated, so replacing it with ~230 lines of maintained code is lower-risk and
eliminates the dependency entirely. Test coverage: 22 unit tests in AnsiTest covering
color codes, bold, reset, chaining, format(), and the setEnabled(false) suppression path.
* chore: replace jline:jansi-core with internal Ansi builder
Adds a minimal internal ANSI escape-code builder (dev.metaschema.cli.processor.ansi.Ansi)
that covers the subset of jline:jansi functionality used by the CLI — fluent text/color
appending, bold/boldOff, reset, fgRed/fgBrightRed/fgBrightYellow/fgBrightBlue/fgBrightCyan,
fgBright(Color), and a global setEnabled toggle.
The existing Ansi import is renamed to the new package across the three call sites:
- cli-processor/CLIProcessor (version banner formatting and --no-color toggle)
- cli-processor/CallingContext (sub-command list rendering; jline's render("@|bold ...|@ ...")
is replaced with explicit fluent bold()/boldOff() calls)
- metaschema-cli/LoggingValidationHandler (severity-colored log preambles and findings)
The jline:jansi-core dependency is removed from the parent POM's dependencyManagement,
cli-processor/pom.xml, and cli-processor/module-info.java. The new ansi package is
exported from cli-processor for metaschema-cli to consume.
Motivation: jline 4.0.0 (dependabot PR #677) is a breaking upgrade requiring Maven 4,
complete JPMS migration, and JNA removal. The CLI's use of jansi is limited and
well-isolated, so replacing it with ~230 lines of maintained code is lower-risk and
eliminates the dependency entirely. Test coverage: 22 unit tests in AnsiTest covering
color codes, bold, reset, chaining, format(), and the setEnabled(false) suppression path.
* chore: use AtomicBoolean for Ansi.enabled flag
PMD's AvoidUsingVolatile rule flags the volatile boolean; AtomicBoolean
is idiomatic for thread-safe flag flipping and passes the same tests.
|
Superseded by #682, which replaces jline:jansi-core with an internal ANSI builder. jline 4.0.0 would require a coordinated migration (Maven 4 requirement, complete JPMS rewrite, JNA provider removed). Removing the dependency entirely is a lower-risk outcome for the CLI's limited use of ANSI formatting. |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Bumps org.jline:jansi-core from 3.30.6 to 4.0.0.
Release notes
Sourced from org.jline:jansi-core's releases.
... (truncated)
Commits
18611fefix: Add MVX_USE_SYSTEM_JAVA and GPG import to release workflowd4e7cd3Merge pull request #1678 from jline/fix/key-binding-docs-166860aaafdfix: Use KeyMap.key() for capability-based key bindings in example (fixes #1668)71f0f98Merge pull request #1665 from jline/feat/modernize-graal-module610af9cfix: Enable native access for JNI provider in GraalVM native image7219e4dMerge pull request #1669 from jline/fix/msys2-backspace-14458cac7e8Merge pull request #1670 from jline/fix/windows-unicode-encoding-1366e06da6crefactor: Replace reflection-based codepage detection with TerminalProvider m...3ad1234fix: Address code review feedback for Windows codepage auto-detection1a85d58fix: Restore Windows console codepage auto-detection (fixes #1366)You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)