Documentation

Lake.Build.Run

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
    Instances For

      Unicode icons that make up the spinner in animation order.

      Equations
        Instances For

          Context of the Lake build monitor.

          Instances For

            State of the Lake build monitor.

            Instances For
              @[reducible, inline]
              abbrev Lake.MonitorM (α : Type) :

              Monad of the Lake build monitor.

              Equations
                Instances For
                  @[inline]
                  def Lake.MonitorM.run {α : Type} (ctx : MonitorContext) (s : MonitorState) (self : MonitorM α) :
                  Equations
                    Instances For

                      The ANSI escape sequence for clearing the current line and resetting the cursor back to the start.

                      Equations
                        Instances For
                          @[inline]

                          Like IO.FS.Stream.flush, but ignores errors.

                          Equations
                            Instances For
                              @[inline]

                              Like IO.FS.Stream.putStr, but panics on errors.

                              Equations
                                Instances For
                                  @[inline]
                                  Equations
                                    Instances For
                                      @[inline]
                                      Equations
                                        Instances For
                                          def Lake.Monitor.renderProgress (running unfinished : Array OpaqueJob) (h : 0 < unfinished.size) :
                                          Equations
                                            Instances For
                                              Equations
                                                Instances For
                                                  Equations
                                                    Instances For
                                                      Equations
                                                        Instances For
                                                          Equations
                                                            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 : Bool) (resetCtrl : String := "") (initFailures : Array String := #[]) (updateFrequency : Nat := 100) :

                                                              The job monitor function. An auxiliary definition for runFetchM.

                                                              Equations
                                                                Instances For

                                                                  Save input mappings to the local Lake artifact cache (if enabled).

                                                                  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
                                                                        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]
                                                                              def Lake.runBuild {α : Type} (build : FetchM (Job α)) (cfg : BuildConfig := { }) :

                                                                              Produce a build job in the Lake monad's workspace and await the result.

                                                                              Equations
                                                                                Instances For