[2.x] fix: Fixes console / javaOptions (#9322)

**Problem**
console / javaOptions is ignored.

**Solution**
1. This enables forked console even for sbt --server mode.
2. This includes console / javaOptions to the forkOptions.
This commit is contained in:
eugene yokota 2026-06-10 12:23:43 -04:00 committed by GitHub
parent ad6c7a35a8
commit bb981d7e02
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -1121,6 +1121,8 @@ object Defaults extends BuildCommon with DefExtra {
Compiler.toConsoleScalacOptions(scalacOptions.value)
},
console / forkOptions := Def.uncached(Compiler.consoleForkOptions.value),
// fork when sbt is launched with --server
console / fork := true,
collectAnalyses := Definition.collectAnalysesTask.map(_ => ()).value,
consoleQuick := consoleQuickTask.value,
consoleQuick / scalacOptions := Def.uncached {

View File

@ -616,12 +616,13 @@ object Compiler:
}
def consoleForkOptions: Def.Initialize[Task[ForkOptions]] = Def.task {
val jo = (Keys.console / Keys.javaOptions).value.toVector
// Build environment variables for proper terminal handling
val termEnv = sys.env.get("TERM").getOrElse("xterm-256color")
ForkOptions()
.withConnectInput(true)
.withRunJVMOptions(
Vector(
jo ++ Vector(
s"-Dorg.jline.terminal.type=$termEnv",
"-Djline.terminal=auto",
)