build.schedulers.suspending

The simplest scheduler. It tries to build it’s target, suspending it’s execution when a new dependency is discovered. Once that dependency is done, execution of the original task resumes.

As a way to prevent infinite loops, this scheduler also keeps a dirty bit for the duration of a single call to it’s build function. This means that even if the rebuilder marks an already built key as outdated, this scheduler will not rebuild it.

Usage

local Suspending = require "build.schedulers.suspending" (Store)

See Also