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
- Alphabetic
- By Inheritance
- BloopServers
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BloopServers(client: MetalsBuildClient, languageClient: MetalsLanguageClient, tables: Tables, config: MetalsServerConfig, workDoneProgress: WorkDoneProgress)(implicit ec: ExecutionContextExecutorService)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- 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.successfulif the purpose is achieved orFuture.failureif a problem occurred such as lacking enough permissions to open or write to files
- 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.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newServer(projectRoot: io.AbsolutePath, bspTraceRoot: io.AbsolutePath, userConfiguration: UserConfiguration, bspStatusOpt: Option[ConnectionBspStatus]): Future[BuildServerConnection]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def shutdownServer(): Boolean
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)