mirror of https://github.com/sbt/sbt.git
In order to support a multi-client sbt server ux, we need to factor `Terminal` out into a class instead of a singleton. Each terminal provides and outputstream and inputstream. In all of the places where we were previously relying on the `Terminal` singleton we need to update the code to use `Terminal.get`, which will redirect io to the terminal whose command is currently running. This commit does not implement the server side ui for network clients. It is just preparatory work for the multi-client ui. The Terminal implementations have thread safe access to the output stream. For this reason, I had to remove the sychronization on the ConsoleOut lockObject. There were code paths that led to deadlock when synchronizing on the lockObject. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||