feat(nix/buildGo): add the import position to errmsg

When a foreign dep is missing a dependency, it is good to have a
context.

e.g. the `github.com/charmbracelet/bubblegum` package has a lot of
dependencies that are only used in its `examples/` dir; this is not
obvious, unless we also print where the imports come from.

New error message:

```
error: missing foreign dependency 'github.com/containerd/console' in 'github.com/charmbracelet/bubbletea, imported at /nix/store/0cry4sg6bzxqwk5zl2nxhas6k5663svg-source/tea.go:22:2'
```

Change-Id: If34a3c62b9d77d4aea108b5e011e16fbd03e8554
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2852
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
Profpatsch 2021-04-05 11:41:37 +02:00
parent 77c09076ec
commit 2224731e0d
2 changed files with 22 additions and 11 deletions

View file

@ -56,8 +56,8 @@ let
throw "missing local dependency '${lib.concatStringsSep "." d}' in '${path}'"
) self) entry.localDeps;
foreignDeps = map (d: lib.attrByPath [ d ] (
throw "missing foreign dependency '${d}' in '${path}'"
foreignDeps = map (d: lib.attrByPath [ d.path ] (
throw "missing foreign dependency '${d.path}' in '${path}, imported at ${d.position}'"
) depMap) entry.foreignDeps;
args = {