def exec.make
ezx@1.11.0.0 · src/tool/run.bend:201
import ezx@1.11.0.0/src/tool/run.bend as Run
import Base
import ezx@1.11.0.0/src/lock/run.bend as Run
import ezx@1.11.0.0/src/share/say.bend as Say
import ezx@1.11.0.0/src/share/spin.bend as Spin
import ezx@1.11.0.0/src/tool/plan.bend as TP
201
202
203def exec.make(making: TP.Make) -> IO(Unit):
204 match making:
205 case TP.Skip{}:
206 IO.pure(Unit, Unit{})
207 case TP.Reuse{name}:
208 IO.print_err(Say.reused(name))
209 case TP.Make{+top, +lib, fetch, file, out, at, key, +name}:
210 do IO<Unit>:
211 exec.lib(fetch, top, lib)
212 +s : Say.Spin <- Spin.hold(Say.building(name))
213 compile(lib, file, out)
214 Spin.done(s)
215 Run.write(at, key)