aspect-build / aspect-build/rules_py
[Idea]: Relative paths not runfiles
- Dominant language
- Starlark
- Stars
- 145
- Forks
- 97
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 71
Description
An earlier version of `py_venv` relied on using relative paths from the venv to the interpreter's actual root.
We moved away from this because, after the user symlinks a `.venv` dir out of `bazel-bin` or a `.runfiles` tree, the relative path is wrong. However within the `.runfiles` and action time trees, those relative paths are correct.
Now that we have machinery which is extremely careful about dereferencing "just enough" symlinks to get into either 1) a runfile tree or 2) an execroot, it would be more reliable and generally correct to revisit using relative paths from the partially dereferenced interpreter to user's specified interpreter binary.
This lets us ditch the `.runfiles` library code, and support the actions directory layout in a principled way as opposed to what we're doing at present which has proven operationally difficult.
Maybe blocks #703 based on some test failures.
Has consequences for the `uv build` machinery.
Contributor guide
Assessment
This issue has not been assessed yet.