3 ms·
This is the default way of doing things in the monorepo(s) at Google. It feels like torture until you see the benefits, and the opposite ... the tangled mess o
by cmrdporcupine 1y ago
This is the default way of doing things in the monorepo(s) at Google.
It feels like torture until you see the benefits, and the opposite ... the tangled mess of multiple versions and giant transitive dependency chains... agony.
I would prefer to work in shops that manage their dependencies this way. It's hard to find.
- I_AM_A_SMURF 1y agoI've never seen a place that does it quite like Google. Is there one? It only works if you have one product or are a giant company as it's really expensive to do. Being able to change a dependency very deep and recompile the entire thing is just magic though. I don't know if I can ever go back from that.
- ArthurStacks 1y ago[flagged]
- cmrdporcupine 1y agoIt absolutely is so, or was for the 10 years I was there. I worked on Google3 (in Ads, on Google WiFi, on Fiber, and other stuff), in Chromium/Chromecast, Fiber, and on Stadia, and every single one of those repos -- all different repositories -- used vendored deps.
- bonzini 1y agoIt's the same that we're doing for external crates in QEMU's experiments with Rust. Each new dependency is added to the build by hand.