https://pantsbuild.org/ logo
#development
Title
# development
h

hundreds-father-404

07/09/2021, 8:52 PM
the “larger resolve” for a particular resolve name AND platform would not include things not relevant to that platform.
I don't follow that. Let's say I have in my whole repo: -
future
(only sdist) -
ansicolors
(bdist) neither are using sys extras, like to say in req string "only on linux". they're normal reqs, and we don't know ahead of time if it has a bdist vs sdist my
pex_binary
only uses
ansicolors
, but my lockfile has both deps Pants will try to be clever and first resolve both
ansiclors
and
future
, and it will fail w/
future
when it's a foreign platform. It doesn't make a difference if you have
lockfile_macos.txt
vs
lockfile_linux.txt
- both would have
future
still in it, so it will fail. Afaict, the only solutions are a) use a constraints file and not
[python-setup].resolve_all_constraints
, or b) use multiple lockfiles such that you have
whole_universe.lockfile.txt
and
specific_pex_binary.lockfile.txt
. Does that make sense?