A mechanical way to report build progress
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Whilst testing out [show-build-info](https://github.com/haskell/cabal/pull/6241) in the real world, it was changed so that it builds any dependencies that the targets might need. However this means it can take a while, and tools might want to relay the fact that cabal is busy building dependencies and setting up the environment.
I think it would be nice to have some sort of way to mechanically report what targets are currently built, and how many are left in a build plan.
I think this will have to be done within `cabal-install` somewhere in `ProjectBuilding.hs. Currently `show-build-info` has to set the verbosity to silent since Setup.hs outputs a lot of stuff to stdout.
And since stdout is already used to output the final resulting JSON from `show-build-info`, it would make sense to output the progress to stderr. Something along the lines of
```
{ "module": "Distribution.Simple.Setup", "component": "Cabal-3.2.0.0", "number": 12, "outOf": 120 }
{ "module": "Distribution.Simple.Blah", "component": "Cabal-3.2.0.0", "number": 13, "outOf": 120 }
```
Or equivalent, with each progress report being put per line.
Contributor guide
Assessment
This issue has not been assessed yet.