A live-coding introduction to Mill: finally a build tool we can all understand!
summary
Claims Mill is a Scala-first build tool with build definitions written as plain Scala that create queryable task graphs; the demo uses the cowsay4s repo and actually builds, cross-compiles and runs. It shows mill tasks are Scala values, targets cached by default and writing a custom code‑generation task that writes into a task‑owned directory. It exports build state as outputs queryable as JSON for IDE import, supports cross-build for Scala versions and JVM/JS, and demonstrates publishing to a Maven repo.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:38What is Mill
- 1:27Why Mill
- 4:53Define a build
- 8:19Multi module build
- 11:08CowsA
- 12:48Build Odyssey
- 13:58Launch Odyssey
- 14:28Empty Bill
- 14:51Scala Module
- 17:08Dependencies
- 17:36Code execution
- 18:56Inspection
- 21:03Test
- 22:03Arguments
- 23:38What changed
- 25:27Using wildcards
- 29:23Crosscompiling
- 34:15Defining different modules
- 40:33Cogeneration
related talks
32mBetter Scala builds with the Mill build tool
58mNext generation Scala builds with CBT
34mComplex Problems, Simple (build)tool
29mExploring Scala Tooling ecosystem
47mManaging micro libraries with Scala CLI
42mHow We Built Tools That Scale to Millions of Lines of Code
41mCBT A New, Intuitive Build Tool for Scala
41mUnleashing the Full Potential of Metals
