mirror of
https://github.com/sbt/sbt.git
synced 2026-09-04 16:54:29 +02:00
c78d6af74825dea2cd57c9d039e10a4e14ca602a
Running reboot in the sbt shell dropped to the OS shell instead of rebooting. The break was in teardown: Server.shutdown opened with log.info, and during a client-initiated reboot the terminal in scope is that client's already-closed virtual terminal, so the log write throws ClosedChannelException through the terminal proxy. That aborted teardown before the portfile was deleted and the server socket closed, and the exception was swallowed by the shutdown hook (whose own error print goes to the same dead terminal). Server.shutdown now completes its state cleanup (portfile, tokenfile, running flag, server socket) before logging, and CommandExchange.shutdown wraps each channel shutdown and the server shutdown individually so one failing step cannot skip the rest. Fixes #9095 Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
sbt
sbt is a build tool for Scala, Java, and more.
For general documentation, see https://www.scala-sbt.org/.
sbt 2.x
This is the 2.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.
- sbt/io hosts
sbt.iomodule. - sbt/zinc hosts Zinc, an incremental compiler for Scala.
- sbt/sbt, this repository hosts modules that implement the build tool.
Other links
- Setup: Describes getting started with the latest binary release.
- FAQ: Explains how to get help and more.
- sbt/sbt-zero-seven: hosts sbt 0.7.7 and earlier versions
Issues and Pull Requests
Please read CONTRIBUTING carefully before opening a GitHub Issue or a pull request.
If you're looking for an idea for a contribution, issues labeled with good first issue or help wanted might be good starting points.
If you would like to ask questions about sbt, there's sbt channel on Scala Discord, but it would be good to gather questions on Stackoverflow.
license
See LICENSE.
Languages
Scala
94.5%
Java
3.1%
Shell
1.1%
Batchfile
0.9%
Roff
0.2%
Other
0.1%