Skip to content

v0.4 (build 2, g4239919)

Choose a tag to compare

@github-actions github-actions released this 31 May 12:31
  • Added a Command builder for arbitrary, per-invocation shell build steps
    (env.Command(inputs, output, command="...")), e.g. generating disk images or installing a bootloader.
  • Added a cross-platform Copy builder.
  • Added Depends as an alias for Phony, for pinning build ordering.
  • Batch mapping: a builder's output= argument now accepts a callable, mapping a single-input
    builder over a list of inputs and deriving each output (generalises the %.o: %.c pattern).
  • Options are now stored as variables in the generated build.ninja, and only builders actually
    used by the graph emit a rule.
  • Deterministic build.ninja output: stable rule names and sorted source_glob.
  • Shared/diamond dependencies are now emitted once (previously produced duplicate build statements).
  • Friendlier error messages (unknown builder, missing option, missing output).
  • Full type hints across the codebase, checked with mypy and ruff.
  • Added an automated test suite and CI.
  • Fixed for_subdir(deep_clone=True) which previously shared the parent's options.