|
|
|
|
|
by Hackbraten
2348 days ago
|
|
Checking in third-party dependencies is not always abuse. It can be a useful habit for certain kinds of reproducible builds.
The Buck documentation even endorses keeping your dependencies in your monorepo along with your own sources. |
|
We host a private mirror for third party dependencies, so that “pip install”/“go get” fail on our CI system if the dependency isn’t hosted by us. This gives us reproducible builds, while allowing us to hold 3rd party libraries to a higher standard of entry than source code. For certain libraries we pin version numbers in our build system, but in general it allows us to update dependencies transparently. It also keeps our source repo size small, for developers, and allows for conflicting versions (example Kafka X.Y and X.Z) without cluttering the repo with duplicates.
It’s definitely a smaller gotcha than the others I listed, maybe to the point where it’s not a gotcha, but I stand by it :)