Update JLine to 4.x (#1511)

- Remove dependency org.fusesource.jansi:jansi
- In 4.x, org.fusesource.jansi:jansi was replaced with org.jline:jansi.
Instead of adding this new dependency, this commit replaces Pkl’s single
Jansi usage with custom code that preserves existing behavior. Fixing
existing ANSI quirks is left for a future PR.
- Replace jline-terminal-ansi with jline-terminal-jni
  - In 4.x, only -jni and -ffm are available (-ffm requires Java 22+)
- Configure native-image build for jline-terminal-jni

As updating JLine is delicate, I manually tested `pkl repl` and `jpkl
repl` on Windows 11 (using Windows Terminal) and on Ubuntu, and found no
issues. However, I do not have access to a macOS machine.
This commit is contained in:
odenix
2026-04-08 16:25:39 -07:00
committed by GitHub
parent fdeb568343
commit 2cfd0a0d28
6 changed files with 28 additions and 28 deletions
+4 -5
View File
@@ -27,7 +27,6 @@ io.leangen.geantyref:geantyref:1.3.16=runtimeClasspath,testRuntimeClasspath
net.java.dev.jna:jna:5.14.0=runtimeClasspath,testRuntimeClasspath
org.commonmark:commonmark-ext-gfm-tables:0.28.0=runtimeClasspath,testRuntimeClasspath
org.commonmark:commonmark:0.28.0=runtimeClasspath,testRuntimeClasspath
org.fusesource.jansi:jansi:2.4.3=runtimeClasspath,testRuntimeClasspath
org.graalvm.polyglot:polyglot:25.0.1=runtimeClasspath,testRuntimeClasspath
org.graalvm.sdk:collections:25.0.1=runtimeClasspath,testRuntimeClasspath
org.graalvm.sdk:graal-sdk:25.0.1=runtimeClasspath,testRuntimeClasspath
@@ -54,10 +53,10 @@ org.jetbrains:annotations:13.0=compileClasspath,testCompileClasspath
org.jetbrains:annotations:23.0.0=runtimeClasspath,testRuntimeClasspath
org.jetbrains:markdown-jvm:0.7.3=runtimeClasspath,testRuntimeClasspath
org.jetbrains:markdown:0.7.3=runtimeClasspath,testRuntimeClasspath
org.jline:jline-native:3.23.0=runtimeClasspath,testRuntimeClasspath
org.jline:jline-reader:3.23.0=runtimeClasspath,testRuntimeClasspath
org.jline:jline-terminal-jansi:3.23.0=runtimeClasspath,testRuntimeClasspath
org.jline:jline-terminal:3.23.0=runtimeClasspath,testRuntimeClasspath
org.jline:jline-native:4.0.11=runtimeClasspath,testRuntimeClasspath
org.jline:jline-reader:4.0.11=runtimeClasspath,testRuntimeClasspath
org.jline:jline-terminal-jni:4.0.11=runtimeClasspath,testRuntimeClasspath
org.jline:jline-terminal:4.0.11=runtimeClasspath,testRuntimeClasspath
org.msgpack:msgpack-core:0.9.11=runtimeClasspath,testRuntimeClasspath
org.organicdesign:Paguro:3.10.3=runtimeClasspath,testRuntimeClasspath
org.snakeyaml:snakeyaml-engine:2.10=runtimeClasspath,testRuntimeClasspath