#17389 Target visibility scopes
New discussion created by
kaos
Copied from the
design doc:
Background
Monorepos can by definition house very large code bases. In order to maintain good architectural hygiene it is important to adhere to intermodule interfaces and protocols to avoid chaos and escalating maintenance.
Use Case
By implementing clear boundaries for modules to interact only via public interfaces, the inner workings of the modules can be kept private, avoiding intricate and complicated dependency patterns.
The visibility field offers the ability in a declarative way to specify which modules may depend on a certain target.
Motivation
We want to support large projects promoting good systems design. The visibility feature will be a tool that helps with that.
Feature request:
#13393
pantsbuild/pants