Elegant Scala builds and bootstrapping Dotty with CBT
summary
CBT is a small Scala-first build tool (core ~3,600 LOC, ~25 plugins) that runs sub-100ms by keeping a background process with classloader caching and per-task caches, uses a tiny C launcher, and ships a ~150-line Maven-style resolver while planning Coursier support. Builds are plain Scala classes and zero-argument defs that compose and override to express DAGs; command-line dynamic overrides and git-repo sources let you patch or pull code. CBT successfully bootstraps Dotty by compiling with ScalaC then recompiling with the freshly built Dotty compiler. fast daemon startup composable Scala classes
AI-written summary · about
chapters (11)
- 0:00Start
- 0:39a general purpose build tool optimized for Scala
- 1:21a way to compose applications
- 12:17small, simple code base
- 13:44Let's zoom out for a second
- 17:08defining and invoking tasks compile, test, run, package,...
- 20:00build configurations are graphs directed acyclic graphs, DAGS
- 20:38irregular graphs are hard
- 33:41Use composition where we can.
- 34:53Extra: Some fun features
- 35:24dynamic overrides configure things from bash
related talks
41mCBT A New, Intuitive Build Tool for Scala
58mNext generation Scala builds with CBT
47mInteractive development with Dotty
34mComplex Problems, Simple (build)tool
40mIntegrating IDEs with Dotty the experimental Scala compiler
29mDotty support in IntelliJ IDEA
40mThe Journey of a Dotty Diagnostic
44mDotty Support in IntelliJ IDEA
