final case class Build extends CacheHashCode with Product with Serializable
- Alphabetic
- By Inheritance
- Build
- Serializable
- Serializable
- Product
- Equals
- CacheHashCode
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
checkForChange(newSettings: Option[WorkspaceSettings], logger: Logger): Task[ReloadAction]
Detect changes in the build definition since the last time it was loaded and tell the compiler which action should be applied to update the build.
Detect changes in the build definition since the last time it was loaded and tell the compiler which action should be applied to update the build.
The logic to incrementally update the build is complex due to the need of transforming projects in-memory after they have been loaded. These transformations depend on values of the workspace settings and
checkForChange
defines many of the semantics of these settings and what should be the implicitations that a change has in the whole build.- newSettings
The new settings that should be applied to detect changes. These settings are passed by certain clients such as Metals to apply in-memory transformations on projects. They can differ from the settings written to disk.
- logger
A logger that receives errors, if any.
- returns
The status of the directory from which the build was loaded.
-
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] )
-
def
findUpdateSettingsAction(currentSettings: Option[WorkspaceSettings], newSettings: Option[WorkspaceSettings]): UpdateSettingsAction
Produces the action to update the build based on changes in the settings.
Produces the action to update the build based on changes in the settings.
The order in which settings are compared matters because if current and new settings exist and don't have any conflict regarding the semantics of the build process, the new settings are returned so that they are mapped with the projects that have changed and have been reloaded.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDagFor(project: Project): Dag[Project]
- def getProjectFor(name: String): Option[Project]
- def hasMissingDependencies(project: Project): Option[List[String]]
-
lazy val
hashCode: Int
- Definition Classes
- CacheHashCode → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val loadedProjects: List[LoadedProject]
-
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()
- val origin: AbsolutePath
- def pickSettingsForReload(currentSettings: Option[WorkspaceSettings], newSettings: Option[WorkspaceSettings], logger: Logger): Option[WorkspaceSettings]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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( ... )