weberc2 / builder

Prototype build tool
0 stars 0 forks source link

Distinguish between build and runtime dependencies #31

Open weberc2 opened 4 years ago

weberc2 commented 4 years ago

Build time dependencies (like pex in the case of Python) shouldn't get bundled into the final PEX file. This is sort of the inverse of #22.

weberc2 commented 4 years ago

This isn't really a problem because dependencies is implicitly defined by the py_source_binary to refer to runtime dependencies. builder itself doesn't understand dependencies, it just sees targets in the tree of inputs and requires that those are available at build time. This isn't ideal because you don't necessarily want all runtime dependencies available at build time (except for certain bundle build types like py_source_binary and virtualenv i.e. #22), but it at least solves the problem of not including the pex wheel in the final PEX file artifact by allowing us to put the pex target anywhere else in the input tree.