final case class BspClientInfo(name: String, version: String, bspVersion: String, ownsBuildFiles: Boolean, bspClientClassesRootDir: Option[AbsolutePath], refreshProjectsCommand: Option[List[String]], isConnected: () => Boolean) extends ClientInfo with Product with Serializable
- Alphabetic
- By Inheritance
- BspClientInfo
- Serializable
- Product
- Equals
- ClientInfo
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BspClientInfo(name: String, version: String, bspVersion: String, ownsBuildFiles: Boolean, bspClientClassesRootDir: Option[AbsolutePath], refreshProjectsCommand: Option[List[String]], isConnected: () => Boolean)
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
- val bspClientClassesRootDir: Option[AbsolutePath]
- val bspVersion: String
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getConnectionTimestamp: Long
Returns the connection timestamp that was registered the first time the client established a connection with the build server.
Returns the connection timestamp that was registered the first time the client established a connection with the build server.
- Definition Classes
- BspClientInfo → ClientInfo
- def getUniqueClassesDirFor(project: Project, forceGeneration: Boolean): AbsolutePath
Gets a unique classes directory to store classes and any kind of compilation products.
Gets a unique classes directory to store classes and any kind of compilation products. This classes directory can be freely accessed and managed by the client without any further intervention except its deletion when the client exits.
- Definition Classes
- BspClientInfo → ClientInfo
- def hasAnActiveConnection: Boolean
Returns true if the client is currently connected to the server, otherwise false.
Returns true if the client is currently connected to the server, otherwise false. This entrypoint is important for debugging purposes and managing some state related to BSP clients.
- Definition Classes
- BspClientInfo → ClientInfo
- def hasManagedClassesDirectories: Boolean
Tells the caller whether this client manages its own client classes directories or whether bloop should take care of any created resources.
Tells the caller whether this client manages its own client classes directories or whether bloop should take care of any created resources.
- Definition Classes
- BspClientInfo → ClientInfo
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val name: String
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val ownsBuildFiles: Boolean
- def parentForClientClassesDirectories(project: Project): Option[Either[AbsolutePath, AbsolutePath]]
Selects the parent root directory where all client classes directories will be created.
Selects the parent root directory where all client classes directories will be created. The root classes directory can be derived from either the project or a classes directory specified by the bsp client in its initialization handshake. The semantics for the management of these directories change depending on how the root dir for client classes directories is derived.
If bloop uses the parent of the generic classes directory as the root of all client classes directories, then it also manages its contents and can remove these classes directories as it sees fits (typically after the client shuts down the connection). A managed directory is always created inside a project-specific directory so internal directories can use a format directory that already assumes the project id.
Else, if the client passes its own root classes directory, then Bloop only creates new directories but it doesn't remove them at all and instead leaves the management of the contents of these directories to the client. Bloop will still write compilation products in the client directories when a client compile happens, but it's the responsibility of the client to remove them from disk. An unmanaged directory is global and it must contain classes directories for every project/build target in such a way that there's no clash among them.
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val refreshProjectsCommand: Option[List[String]]
- Definition Classes
- BspClientInfo → ClientInfo
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- BspClientInfo → AnyRef → Any
- val uniqueId: String
- val version: String
- 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
- Deprecated