Build Runner #
This module defines the top-level functions used to execute a Lake build, monitor its progress, and await the result.
Create a fresh build context from a workspace and a build configuration.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lake.monitorJobs
(initJobs : Array OpaqueJob)
(jobs : IO.Ref (Array OpaqueJob))
(out : IO.FS.Stream)
(failLv outLv : LogLevel)
(minAction : JobAction)
(showOptional useAnsi showProgress showTime : Bool)
(resetCtrl : String := "")
(initFailures : Array String := #[])
(updateFrequency : Nat := 100)
:
The job monitor function. An auxiliary definition for runFetchM.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exit code to return if --no-build is set and a build is required.
Equations
Instances For
def
Lake.Workspace.runFetchM
{α : Type}
(ws : Workspace)
(build : FetchM α)
(cfg : BuildConfig := { })
:
IO α
Run a build function in the Workspace's context using the provided configuration.
Reports incremental build progress and build logs. In quiet mode, only reports
failing build jobs (e.g., when using -q or non-verbose --no-build).
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
def
Lake.Workspace.runBuild
{α : Type}
(ws : Workspace)
(build : FetchM (Job α))
(cfg : BuildConfig := { })
:
IO α
Run a build function in the Workspace's context and await the result.
Equations
Instances For
@[inline]
Produce a build job in the Lake monad's workspace and await the result.
Equations
- Lake.runBuild build cfg = do let __do_lift ← Lake.getWorkspace liftM (__do_lift.runBuild build cfg)