A conference talk by Haoyi Li (creator of Mill) covering the pain points of Java build tooling at both small and large scale, and how Mill addresses them. At small scale, Maven requires multiple installation steps, cryptic commands, and XML escaping just to run a simple script. At large scale, Maven is up to 15x slower than necessary because it doesn't use the JVM compiler as a long-lived daemon, and customizing builds is error-prone. Mill improves on this by: bundling a self-downloading bootstrap script that pins Java and Mill versions for reproducibility; running the Java compiler as a warm JVM daemon for dramatically faster builds (Netty's 500k-line codebase compiles in ~8s vs Maven's ~50s); providing built-in Chrome tracing profiles for build performance visibility; and expressing build configuration as plain JVM classes/methods/overrides, enabling full IDE navigation, autocomplete, and type checking that Maven and Gradle's global-mutable-variable models cannot support.

48m watch time
1 Comment

Sort: