Documentation

Lake.Build.Basic

Exit code to return if --no-build is set and a build is required.

Equations
Instances For

    Configuration options for a Lake build.

    • oldMode : Bool

      Use modification times for trace checking.

    • trustHash : Bool

      Whether to trust .hash files.

    • noBuild : Bool

      Early exit if a target has to be rebuilt.

    • verbosity : Lake.Verbosity

      Verbosity level (-q, -v, or neither).

    • failLv : Lake.LogLevel

      Fail the top-level build if entries of at least this level have been logged.

      Unlike some build systems, this does NOT convert such log entries to errors, and it does not abort jobs when warnings are logged (i.e., dependent jobs will still continue unimpeded).

    • The minimum log level for an log entry to be reported.

    • The stream to which Lake reports build progress. By default, Lake uses stderr.

    • ansiMode : Lake.AnsiMode

      Whether to use ANSI escape codes in build output.

    Instances For

      Whether the build should show progress information.

      Verbosity.quiet hides progress and, for a noBuild, Verbosity.verbose shows progress.

      Equations
      Instances For
        inductive Lake.JobAction :

        Information on what this job did.

        • unknown : Lake.JobAction

          No information about this job's action is available.

        • replay : Lake.JobAction

          Tried to replay a cached build action (set by buildFileUnlessUpToDate)

        • fetch : Lake.JobAction

          Tried to fetch a build from a store (can be set by buildUnlessUpToDate?)

        • build : Lake.JobAction

          Tried to perform a build action (set by buildUnlessUpToDate?)

        Instances For
          Equations
          Equations
          Instances For
            structure Lake.JobState :

            Mutable state of a Lake job.

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

              The result of a Lake job.

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

                The Task of a Lake job.

                Equations
                Instances For
                  structure Lake.Job (α : Type u) :

                  A Lake job.

                  • task : Lake.JobTask α

                    The Lean Task object for the job.

                  • caption : String

                    A caption for the job in Lake's build monitor. Will be formatted like ✔ [3/5] Ran <caption>.

                  • optional : Bool

                    Whether this job failing should cause the build to fail.

                  Instances For
                    instance Lake.instInhabitedJob {a✝ : Type u_1} :
                    Equations
                    @[reducible, inline]

                    A Lake job with an opaque value in Type.

                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev Lake.BuildT (m : TypeType u_1) (α : Type) :
                      Type u_1

                      A transformer to equip a monad with a BuildContext.

                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev Lake.MonadBuild (m : TypeType u) :

                        A monad equipped with a Lake build context.

                        Equations
                        Instances For
                          @[inline]
                          Equations
                          Instances For
                            @[inline]
                            Equations
                            Instances For
                              @[inline]
                              def Lake.getIsOldMode {m : TypeType u_1} [Functor m] [Lake.MonadBuild m] :
                              Equations
                              Instances For
                                @[inline]
                                def Lake.getTrustHash {m : TypeType u_1} [Functor m] [Lake.MonadBuild m] :
                                Equations
                                Instances For
                                  @[inline]
                                  def Lake.getNoBuild {m : TypeType u_1} [Functor m] [Lake.MonadBuild m] :
                                  Equations
                                  Instances For
                                    @[inline]
                                    Equations
                                    Instances For
                                      @[inline]
                                      def Lake.getIsVerbose {m : TypeType u_1} [Functor m] [Lake.MonadBuild m] :
                                      Equations
                                      Instances For
                                        @[inline]
                                        def Lake.getIsQuiet {m : TypeType u_1} [Functor m] [Lake.MonadBuild m] :
                                        Equations
                                        Instances For
                                          @[reducible, inline]
                                          abbrev Lake.CoreBuildM (α : Type) :

                                          The internal core monad of Lake builds. Not intended for user use.

                                          Equations
                                          Instances For
                                            @[inline, deprecated "See doc-string for deprecation information." (since := "2024-05-25")]
                                            def Lake.logStep {m : TypeType u_1} [Monad m] [Lake.MonadLog m] (message : String) :

                                            Logs a build step with message.

                                            Deprecated: Build steps are now managed by a top-level build monitor. As a result, this no longer functions the way it used to. It now just logs the message via logVerbose.

                                            Equations
                                            Instances For