Packages

final class BloopServers extends AnyRef

Establishes a connection with a bloop server using Bloop Launcher.

Connects to a running bloop server instance if it is installed on the user machine and starts a new one if it isn't. Alternatively user can use the coursier command to launch it:

coursier launch ch.epfl.scala:bloopgun-core_2.12:{bloop-version} -- about

Eventually, this class may be superseded by "BSP connection protocol": https://build-server-protocol.github.io/docs/server-discovery.html

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

Instance Constructors

  1. new BloopServers(client: MetalsBuildClient, languageClient: MetalsLanguageClient, tables: Tables, config: MetalsServerConfig, workDoneProgress: WorkDoneProgress)(implicit ec: ExecutionContextExecutorService)

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. def ensureDesiredJvmSettings(requestedBloopJvmProperties: List[String], reconnect: () => Future[BuildChange]): Future[Unit]

    First we check if the user requested to update the Bloop JVM properties through the extension.

    First we check if the user requested to update the Bloop JVM properties through the extension.

    Through consultation with the user through appropriate dialogues we decide if we should

    • overwrite the contents of the Bloop Global Json file with the requested JVM properties and Metal's JavaHome variables; and then restart the Bloop server
    • or alternatively, leave things untouched
    requestedBloopJvmProperties

    Bloop JVM Properties requested through the Metals Extension settings

    reconnect

    function to connect back to the build server.

    returns

    Future.successful if the purpose is achieved or Future.failure if a problem occurred such as lacking enough permissions to open or write to files

  7. def ensureDesiredVersion(expectedVersion: String, runningVersion: String, userDefinedNew: Boolean, userDefinedOld: Boolean, reconnect: () => Future[BuildChange]): Future[Unit]

    Ensure Bloop is running the intended version that the user has passed in via UserConfiguration.

    Ensure Bloop is running the intended version that the user has passed in via UserConfiguration. If not, shut Bloop down and reconnect to it.

    expectedVersion

    desired version that the user has passed in. This could either be a newly passed in version from the user or the default Bloop version.

    runningVersion

    the current running version of Bloop.

    userDefinedNew

    whether or not the user has defined a new version.

    userDefinedOld

    whether or not the user has the version running defined or if they are just running the default.

    reconnect

    function to connect back to the build server.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def newServer(projectRoot: io.AbsolutePath, bspTraceRoot: io.AbsolutePath, userConfiguration: UserConfiguration, bspStatusOpt: Option[ConnectionBspStatus]): Future[BuildServerConnection]
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  17. def shutdownServer(): Boolean
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped