final case class Build extends CacheHashCode with Product with Serializable
- Alphabetic
- By Inheritance
- Build
- Serializable
- Product
- Equals
- CacheHashCode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 implications 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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val origin: AbsolutePath
- def pickSettingsForReload(currentSettings: Option[WorkspaceSettings], newSettings: Option[WorkspaceSettings]): Option[WorkspaceSettings]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])
- val workspaceSettings: Option[WorkspaceSettings]
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
- Deprecated