hundreds-father-40401/14/2021, 6:22 PM
to live on a
. That became illegal to do once we added "file targets", it would break most the time. Which led to
, which led to this insight that there's a distinction between "metadata describing first party code" vs. "metadata describing something you want to build"
FYI the major remaining churn we anticipate is wanting to solve the problem of it being hard to add explicit metadata to a granular part of your first party code, without needing lots of granular targets. A common pattern (now) is to have one
target describing >20 files thanks to
rglobs. When you add an explicit dep like a database that Pants can't infer, then now all 20 files get that even if only 1 file actually needs it.
111 mitigates this problem, but is extra boilerplate
We're envisioning a way where you can somehow merge metadata, like say "these 200 files use these interpreter constraints; these 5 files have a database dep". Without needing to have distinct targets for everything.
The trick is how do we do that in a way that isn't majorly disruptive... It's another big paradigm change we couldn't envision before dep inference because we were blinded by the way every monorepo Build Tool™️ has done things since the start.