-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump JLine 3.19.0 -> 3.24.1 & sbt 1.9.7 -> 1.9.9 #19744
Conversation
Indeed, this PR breaks the
But the problem goes away if I update Moving Dotty to 1.10.0-M1 seems a bit risky, as it's just a milestone. Maybe we should wait for 1.10.0-RC1 or 1.10.0 final? In the meantime, I can submit a PR bumping sbt's 1.10.x branch from 3.24.1 to 3.25.1, in the hopes of getting in alignment. (I also plan to upgrade to 3.25.1 in Scala 2.13.14.) |
also fixes #19704 |
Breaking news! Eugene has now released sbt 1.9.9 which also upgrades to 3.24.1. So if you add a commit that changes 1.9.7 to 1.9.9 to everywhere, that should fix the (At least unless the CI failure is real? It isn't obvious to me whether it is.) |
Oh great. I'll bump sbt to 1.9.9 too |
Similar test (as described in the above comments) performed in repl with sbt 1.9.9 and scala-cli. It is working fine. |
@@ -76,7 +76,7 @@ class CoursierScalaTests: | |||
|
|||
def emptyArgsEqualsRepl() = | |||
val output = CoursierScalaTests.csScalaCmd() | |||
assertTrue(output.mkString("\n").contains("Unable to create a system terminal")) // Scala attempted to create REPL so we can assume it is working |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stack trace with JLine 3.19.0:
Exception in thread "main" java.lang.IllegalStateException: Unable to create a system terminal
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:323)
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:265)
at dotty.tools.repl.JLineTerminal.<init>(JLineTerminal.scala:25)
at dotty.tools.repl.ReplDriver.runUntilQuit(ReplDriver.scala:144)
at dotty.tools.repl.ReplDriver.tryRunning(ReplDriver.scala:135)
at dotty.tools.repl.Main$.main(Main.scala:7)
at dotty.tools.MainGenericRunner$.run$1(MainGenericRunner.scala:193)
at dotty.tools.MainGenericRunner$.process(MainGenericRunner.scala:270)
at dotty.tools.MainGenericRunner$.main(MainGenericRunner.scala:281)
at dotty.tools.MainGenericRunner.main(MainGenericRunner.scala)
@@ -76,7 +76,7 @@ class CoursierScalaTests: | |||
|
|||
def emptyArgsEqualsRepl() = | |||
val output = CoursierScalaTests.csScalaCmd() | |||
assertTrue(output.mkString("\n").contains("Unable to create a system terminal")) // Scala attempted to create REPL so we can assume it is working | |||
assertTrue(output.mkString("\n").contains("Unable to create a terminal")) // Scala attempted to create REPL so we can assume it is working |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stack trace with JLine 3.24.1:
Exception in thread "main" java.lang.IllegalStateException: Unable to create a terminal
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:394)
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:362)
at dotty.tools.repl.JLineTerminal.<init>(JLineTerminal.scala:25)
at dotty.tools.repl.ReplDriver.runUntilQuit(ReplDriver.scala:144)
at dotty.tools.repl.ReplDriver.tryRunning(ReplDriver.scala:135)
at dotty.tools.repl.Main$.main(Main.scala:7)
at dotty.tools.MainGenericRunner$.run$1(MainGenericRunner.scala:193)
at dotty.tools.MainGenericRunner$.process(MainGenericRunner.scala:270)
at dotty.tools.MainGenericRunner$.main(MainGenericRunner.scala:281)
at dotty.tools.MainGenericRunner.main(MainGenericRunner.scala)
Suppressed: java.io.IOException: Unable to find terminal provider ffm
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:665)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:630)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 9 more
Suppressed: java.io.IOException: Unable to find terminal provider jni
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:665)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:632)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 9 more
Suppressed: java.io.IOException: Unable to find terminal provider jansi
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:665)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:634)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 9 more
@hamzaremmal we may want to go straight to 3.25.1, because of scala/bug#12957 — it's harmless, but annoying (and people won't be sure it's harmless unless they google for it) we intend to upgrade to 3.25.1 in Scala 2.13.14 (2.13.13 is on 3.24.1), and presumably sbt will take the upgrade too before too much longer a 3.24 vs 3.25 mismatch between Scala and sbt is probably okay, but we'll need to test it to be sure |
I will bump it to 3.25.1 as soon as #19772 is resolved (to avoid running the CI multiple times) |
Additional information for the release note #19704 (comment) |
Fixes #5755, #19704
Tested locally and the difference in behaviour was observed. I'm not sure how to test it with the CI, if anybody has an idea, please let me know. Also, this issue might be a problem sbt/sbt#7177
Tested as follow:
3.4.1-RC1