sbt.internal.client

Members list

Concise view

Type members

Classlikes

object BspClient

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
class NetworkClient(arguments: Arguments, console: ConsoleInterface, inputStream: InputStream, errorStream: PrintStream, printStream: PrintStream, useJNI: Boolean) extends AutoCloseable

A NetworkClient connects to a running sbt instance or starts a new instance if there isn't already one running. Once connected, it can send commands for sbt to run, it can send completions to sbt and print the completions to stdout so that a shell can consume the completions or it can enter an interactive sbt shell session in which it relays io bytes between sbt and the terminal.

A NetworkClient connects to a running sbt instance or starts a new instance if there isn't already one running. Once connected, it can send commands for sbt to run, it can send completions to sbt and print the completions to stdout so that a shell can consume the completions or it can enter an interactive sbt shell session in which it relays io bytes between sbt and the terminal.

Attributes

arguments

the arguments for the forked sbt server if the client needs to start it. It also contains the sbt command arguments to send to the server if any are present.

console

a logging instance. This can use a ConsoleAppender or just simply print to a PrintStream.

errorStream

the sink for messages that we always want to be printed. It is usually System.err but could be overridden in tests or set to a null OutputStream if the NetworkClient needs to be silent.

inputStream

the InputStream from which the client reads bytes. It is not hardcoded to System.in so that a NetworkClient can be remotely controlled by a java process, which is useful in testing.

printStream

the sink for standard out messages. It is typically System.out but in the case of completions, the bytes written to System.out are usually treated as completion results so we need to reroute standard out messages to System.err. It's also useful to override this in testing.

useJNI

toggles whether or not to use the jni based implementations in org.scalasbt.ipcsocket. These are only available on 64 bit linux, mac and windows. Any other platform will need to fall back on jna.

Companion:
object
Graph
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
Self type

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class ServerConnection(connection: Socket)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any