Home / Companies / Aspect Build / Blog / Post Details
Content Deep Dive

Multiple external dependency closures in Bazel

Blog post from Aspect Build

Post Details
Company
Date Published
Author
Alex Eagle
Word Count
1,745
Language
English
Hacker News Points
-
Summary

Organizations transitioning to a monorepo often face the challenge of managing dependencies across applications, leading to decisions between a single version policy, multiple versions, or a middle-ground approach. The use of Bazel and its handling of dependencies across different programming languages—such as Python, JavaScript, and Go—plays a critical role in these decisions. Single version policies, like those used by Google, centralize dependency management but require robust automated testing and shared responsibility for updates. Conversely, many-versions policies allow each application to manage its own dependencies but risk version conflicts and complicate management. A couple versions policy serves as a compromise, maintaining some level of governance while allowing for disjoint dependency graphs. The text also highlights the challenges and potential solutions in aligning dependencies and handling external hosted runtimes, which may impose additional constraints on dependency management strategies.