The kind of problems being addressed in alire-project/alire-index#1082 made me think about this.
It would be nice to have a way of seeing all configuration and environment variables and what/where are being being set. Similar to how with alr printenv
you can see all paths, but tailored to the parameters that affect the build. More rationale:
We don't normally want libraries to set their own variables (unless it is absolutely univocal due to environment), so there may be unset gpr variables that require setting, or whose defaults may be not always prefereable. Currently, you cannot get this information for all releases in the solution in a simple way, as it is scattered through manifests.
Something like alr build --scenario
that gave this kind of output:
gnoga=2.1.2
simple_components=4.68.0
target_os (gpr var) := Linux (set by mycrate, gnoga)
mycrate=0.1.0-dev
flavor (config var) in (Wayland, X11) (unset)
It should show what is unset with its possible values, what is set in the environment, and what is set by a crate or more
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too