Packages

final class Shell extends AnyRef

Defines shell utilities to run programs via system process.

runWithInterpreter is necessary for testing because it allows us to shell out to an independent shell whose environment variables we can modify (for example, we can modify PATH so that the shell we run executes a mock version of bloop or python that fails).

Note that there is an exception when the interpretation is enabled: java invocations will be executed as they are because in Windows systems there can be execution problems if the command is too long, which can happen with biggish classpaths (see https://github.com/sbt/sbt-native-packager/issues/72).

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Shell
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Shell(runWithInterpreter: Boolean, detectPython: Boolean)

    runWithInterpreter

    Decides whether we add a layer of indirection when running commands. Uses sh -c in unix systems, cmd.exe in Windows systems

Type Members

  1. case class StatusCommand(code: Int, output: String) extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addAdditionalEnvironmentVariables(env: Map[String, String]): Unit
    Attributes
    protected
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def deriveBspInvocation(serverCmd: List[String], useTcp: Boolean, tempDir: Path): (List[String], BspConnection)
  8. def detectBloopInSystemPath(binaryCmd: List[String], out: PrintStream): Option[ServerStatus]
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def isPythonInClasspath: Boolean
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. def runBloopAbout(binaryCmd: List[String], out: PrintStream): Option[ServerStatus]
  20. def runCommand(cmd0: List[String], timeoutInSeconds: Option[Long], msgsBuffer: Option[ListBuffer[String]] = None): StatusCommand
  21. def startThread(name: String, daemon: Boolean)(thunk: ⇒ Unit): Thread
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped