siso: populate outputs and output_dirs in StepMetric at step completion

Output directories added by Starlark handlers were missing from
siso_metrics.json because StepMetric.Outputs was only populated
during step init from static StepDef outputs before handlers ran.

This change defers output resolution to StepMetric.done, capturing
both file outputs (step.cmd.Outputs) and directory outputs
(step.cmd.OutputDirs with trailing '/') populated during step
and handler execution.

TAG=agy
CONV=f21d239a-05f1-4489-be78-67a9a1894823

Change-Id: I7f916b4bd9dfbefd5441c4e534f8089ace4c2c18
Reviewed-on: https://chromium-review.googlesource.com/c/build/+/8203964
Commit-Queue: Junji Watanabe <jwata@google.com>
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
5 files changed
tree: 97a8e558e9700a8ca175ec68b662b5dc25a7135a
  1. bench/
  2. gong/
  3. hashigo/
  4. infra/
  5. kajiya/
  6. kzipinfo/
  7. remote-apis/
  8. runmc/
  9. siso/
  10. .gitignore
  11. .golangci.yml
  12. .style.yapf
  13. BUILD_OWNERS
  14. BUILD_TEAM_OWNERS
  15. CONTRIBUTING.md
  16. LICENSE
  17. OWNERS
  18. PRESUBMIT.py
  19. README.md
  20. WATCHLISTS
README.md

build.git repository

This repository contains tools developed and owned by the Chrome Build Team.

Quick start

The steps for getting the code are:

  1. Install depot_tools
  2. Run git clone https://chromium.googlesource.com/build

We use the standard Go module workflow to work on our projects.

Links