Skip to content

A mechanical way to report build progress #6886

Open
@lukel97

Description

@lukel97

Whilst testing out show-build-info 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions