package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

dune-project
 Dependency

Authors

Maintainers

Sources

b0-0.0.6.tbz
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0

doc/b0.memo/B0_build_trace/Compilation_database/index.html

Module B0_build_trace.Compilation_databaseSource

JSON compilation database.

Output build operation spawns in JSON compilation database format (see also here).

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:

  1. The file field. b0's operations do not identify a "main source" processed by a step. For now we use the first element of B0_zero.Op.reads TODO maybe we should spell out this convention in B0_memo.
  2. The output field. b0's operations support multiple writes. If multiple files are written we repeat the command for each write. We add an numbered id field to indicate that this is the same command.
  3. No specification of the environment, we add it under an env key as an array of strings.
  4. We never generate command, we only use arguments.

JSON compilation database

Sourceval of_ops : B0_zero.Op.t list -> B0_json.Jsong.t