Following up on my questions above, as i progress ...
# general
a
Following up on my questions above, as i progress in the exploration - 1. Our project runs on both linux and macos. The requirements lock is a bit different on those systems (we use platform=='Darwin' inside requirements.txt for some packages). What is the right way to treat different lock files with pants? 2. I saw that currently there is no option tto invoke cross platform remote execution. E.g. can't call linux rbe from macos. Does anyone know when such support is expected? 3. Is there support for building for Windows as the target system?
c
1. If you need to use multiple lockfiles, you want to look into the “resolves” configuration in Pants. More info: https://www.pantsbuild.org/docs/python-third-party-dependencies#multiple-lockfiles 2. Someone with experience of this will have to correct me, but I believe remote execution works regardless of platforms involved. The common issue regarding cross platform is cross compilation. i.e. if you’re running on platform A but want the binary to work on platform B. To do that, you need the new “environments” feature coming in 2.16 released in 2.15. 3. Pants does not support Windows native. You can use Pants on Windows as long as you keep your feet and toes within the WSL2 boundary, and do not touch
/mnt/
iiuc.
h
Re 3 I think @alert-psychiatrist-14102 is asking about building on linux/macos a binary that will run on Windows?
That would require either running Pants on Windows as Andreas suggests (which is not supported yet and will take a while, although there is ongoing work to get the underlying Pex tool working on Windows), or a remote Windows execution platform
Which is 2, which is coming in 2.16 I believe
Re 1, I think you can still have a single lockfile with environment markers. Pants will subset them correctly
For background - Pants treats a lockfile as a "universe" from which to draw the actual requirements subset that is needed in any situation.
w
c
Ops. Thanks Stu. 🙂