final case class BspClientInfo(name: String, version: String, bspVersion: String, bspClientClassesRootDir: Option[AbsolutePath], isConnected: () ⇒ Boolean) extends ClientInfo with Product with Serializable
- Alphabetic
- By Inheritance
- BspClientInfo
- Serializable
- Serializable
- Product
- Equals
- ClientInfo
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
parentForClientClassesDirectories(project: Project): 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.
-
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(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )