You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While it might be desirable at first to make one-big scala_library etc, the build is not healthy and hard to maintain and brittle, especially during migration, because transitively many targets would end up depending on the huge list of 3rdparty dependencies.
expectation
We should pass in an allow-list of 1:1:1 rule violators (in this case all the subdirectories above), so at least we are aware when it happens, and we can code review any new introduction of bad targets.
The text was updated successfully, but these errors were encountered:
+1, this would be really helpful and help with build time. It's hard to instruct people to stick to 1:1:1 and also be aware of not having cricular deps between targets (which will then force the build generator to rollup and generate a big ball target). Would be nice to force in the tooling
I think having a whitelist is probably fine.. but its worth considering how much its worth the cognitive overhead on your users when/how you wish to deploy this. Most of the main offenders in that build as of when i last saw it were long time historical things. There isn't a huge amount of new targets added all the time. So feel free to add the flag, but I'd be less sure its ~worth blocking users inline as they work.
adhoc post reports could be done with bazel query or from the build tool to report these types of collapse for post-hoc cleanup.
steps
problem
Currently it's too easy for the generated
BUILD.bazel
to turn into a big ball of:While it might be desirable at first to make one-big
scala_library
etc, the build is not healthy and hard to maintain and brittle, especially during migration, because transitively many targets would end up depending on the huge list of 3rdparty dependencies.expectation
We should pass in an allow-list of 1:1:1 rule violators (in this case all the subdirectories above), so at least we are aware when it happens, and we can code review any new introduction of bad targets.
The text was updated successfully, but these errors were encountered: