ARBOR 002 - Four Strategies for Wrapping External Dependencies in Bazel, From Best to Worst
June 20, 2026
The ARBOR series (short for “Approaches to Refactoring Big Old Repositories”) covers the techniques I’ve found and implemented when working on large project repositories, typically during a migration into Bazel. I do not claim these techniques are Bazel-idiomatic, but rather “as idiomatic as possible while working with the unique constraints of individual legacy projects”. If your project has a similar set of constraints, maybe they’ll be useful!
In this article, I’ll walk you through four different strategies for integrating external dependencies into a Bazel build, ranked from most maintainable to least. If you’ve been doing Bazel for a while, the fourth may surprise you make you pull your hair out in frustration.