A compromise between the speed of make and the ease of use of a build script
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
moonbuild/moonbuild/core/singleprocessexecutor.moon

16 lines
350 B

class Executor
@getmaxparallel: => 1
new: (@dag, @nparallel) =>
execute: (opts) =>
block = @dag\buildablenodes!
while #block != 0
for node in *block
node\build opts
node\updatecache!
node.built = true
block = @dag\buildablenodes!
for name, node in pairs @dag.nodes
error "Node #{name} wasn't built" unless node.built