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
Unicode icons that make up the spinner in animation order.
Instances For
Context of the Lake build monitor.
- totalJobs : Nat
- out : IO.FS.Stream
- outLv : Lake.LogLevel
- failLv : Lake.LogLevel
- minAction : Lake.JobAction
- showOptional : Bool
- useAnsi : Bool
- showProgress : Bool
- updateFrequency : Nat
How often to poll jobs (in milliseconds).
Instances For
State of the Lake build monitor.
- jobNo : Nat
- resetCtrl : String
- lastUpdate : Nat
- spinnerIdx : Fin Lake.Monitor.spinnerFrames.size
Instances For
Monad of the Lake build monitor.
Instances For
Instances For
The ANSI escape sequence for clearing the current line and resetting the cursor back to the start.
Equations
- Lake.Ansi.resetLine = "\x1b[2K\x0d"
Instances For
Like IO.FS.Stream.putStr
, but panics on errors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lake.Monitor.print s = do let __do_lift ← read liftM (Lake.print! __do_lift.out s)
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The job monitor function. An auxiliary definition for runFetchM
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
Run a build function in the Workspace's context and await the result.
Equations
- ws.runBuild build cfg = do let job ← ws.runFetchM build cfg let __discr ← liftM job.wait? match __discr with | some a => pure a | x => Lake.error "build failed"
Instances For
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)