haskell / haskell/cabal

A mechanical way to report build progress

Open
#6,886 1 comment 4 reactions 0 assignees View on GitHub
type: enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.