Reusing an existing solution is often more efficient than reinventing the wheel. Consequently, most software projects have third-party dependencies. Developers want to reuse existing solutions, so that they can focus their time and energy on the problem at hand. But, if importing a dependency turns into a project in itself, much of the benefits are lost. Therefore we need an easy, reliable, and automated system to manage third-party dependencies. Bazel’s new dependency manager, bzlmod, aims to be that system. But, in an extensible, polyglot build system, such as Bazel, much of the responsibility to fulfill that promise falls onto the shoulders of Bazel extension authors. In this talk I will share our experience and lessons learned from developing module extensions for rules_haskell, rules_nixpkgs, and rules_sh, and derive recommendations on how to design a module extension that provides easy and reliable dependency management and avoids the mistakes of the WORKSPACE era.
Speaker: Andreas Herrmann
Watch all BazelCon 2023 sessions here → https://goo.gle/BazelCon2023
Subscribe to Google Open Source → https://goo.gle/GOpenSource
#BazelCon2023