Mapping out Build Systems in terms of Rebuilder + Scheduler Strategies

Rebuild strategyTopological schedulerRestarting schedulerSuspending scheduler
dirty bitmakeexcel
verifying tracesninja, dockershake
constructive tracescloudbuildbazelcloud shake
deep constructive tracesbucknix

Some build systems don’t map cleanly to rebuild+scheduler. For example, even though docker is a verifying trace + topological scheduler, it only allows for a linear chain of dependnecies and so doesn’t really “have” a scheduler.

Other build systems that don’t fit the mold are Weird Build Systems