I recently upgraded a Scala library from Mill 0.12.10 -> 1.1.2, and it took a bit longer than I was expecting to nail the syntax. Here’s a reference commit that shows how to migrate a project.

First, upgrade the mill file:

# get the current version from https://mill-build.org/mill/cli/installation-ide.html
curl -L https://repo1.maven.org/maven2/com/lihaoyi/mill-dist/1.1.2/mill-dist-1.1.2-mill.sh -o mill

The naming convention has changed for the build file as well: build.sc -> build.mill. There’s also a yaml syntax now for the build file, but I wrangle enough yaml in my day job so I decided to stick with the build script.

Then there are few syntax changes as well in the build file. Those can be seen here for reference.

Here’s the current file for reference: https://github.com/lombardo-chcg/websocket-scala/blob/main/build.mill