The format is a bit underpowered (see also the discusion in the merlin issue tracker here) and doesn't exactly match B0's build model here are a few notes on the treatment:
filefield. B0's operations do not identify a "main source" processed by a step. For now we use the first element of
Op.readsTODO maybe we should spell out this convention in
outputfield. B0's operations support multiple writes. If multiple files are written we repeat the command for each write. We add an numbered
idfield to indicate that this is the same command.
envkey as an array of strings.
command, we only use
val of_ops :
B00.Op.t list -> B0_web.Jsong.t