~/talk

Lessons from a Large JVM Monorepo

Talkat BazelCon 2024 · 2024-10-14..10-15· [java, frontend-architecture]
links:none on file
slides:none on file

Airbnb runs a 30M+ LOC JVM monorepo with Java, Kotlin and Scala, thousands of contributors and ~8,000 third‑party versions; solutions include packaging JDKs as universal binaries to share caches across mac/linux and x86/arm, forcing remote persistent workers on RBE because builds are 2x slower without them, generating build files and an IntelliJ incremental path that yields up to 30x faster inner‑loop work, and direct‑to‑bytecode generation that cuts a critical path by ~40%.

AI-written summary · about

  1. 0:00JVM monorepo at Airbnb
  2. 1:25Scale and complexity
  3. 3:10Cross-platform JVM builds
  4. 7:05Unexpected C++ in JVM builds
  5. 8:30Remote workers for JVM in Bazel
  6. 12:26JVM determinism checks
  7. 14:33Minimizing Bazel usage
  8. 17:05Build files at package level
  9. 18:06Multiple Java versions
  10. 20:14Custom Scala rules
  11. 21:38Kotlin schemas to bytecode
  12. 22:22Version resolution in Bazel
  13. 22:46Optimizing JVM tests
  14. 25:15Bazel flags and optimizations
  15. 27:02Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.