Skip to content

Migrate build to mill - #1414

Draft
ivantopo wants to merge 7 commits into
kamon-io:masterfrom
ivantopo:migrate-build-to-mill
Draft

ivantopo wants to merge 7 commits into
kamon-io:masterfrom
ivantopo:migrate-build-to-mill

Conversation

@ivantopo

@ivantopo ivantopo commented Jan 26, 2026 •

Copy link
Copy Markdown
Contributor

This is very WIP. Don't bother too much looking at this.

I have been using Mill for other projects in the last year and IMHO the developer experience is considerably better once you get used to how the tasks are organized. More importantly, every time I needed to do something special with other Mill builds it was simpler to reason about the dependencies, how things are done in Mill, and how to make the adjustments I needed. I have 13+ years of using SBT and <1 year with Mill made me want to change and not look back. SBT served us well, but I don't want to use it anymore.

I don't have the energy and patience to make this a gradual migration with parallel SBT/Mill builds and we are going full big bang on this change.

Interesting changes and findings (will continue to update as I finish the process):

  • The Akka module is considerably simpler because we dropped support for Scala 2.11/2.12 on Kamon 2.8. To simplify the build process we are now compiling with Akka 2.7.1 and Akka HTTP 10.5.3, which come with the BSL license. These are provided dependencies so we will not be bumping the versions our users have in their classpaths.
  • Turns out that our Tapir tests were not actually testing anything because of how the tests were written and the instrumentation is not actually working. Needs fixing.
  • There was a lot of LLM help in here and I've been going little by little, trying to test every module manually and before moving on to the next. Will do a bigger cleanup once finish migrating all the modules
  • I tried importing the build with IntelliJ and Metals and even though the imports succeed, the projects are not really usable. Need to dig deeper into this.

@ivantopo
ivantopo force-pushed the migrate-build-to-mill branch from 62adfde to 77cdd71 Compare September 4, 2026 13:50
@ivantopo
ivantopo force-pushed the migrate-build-to-mill branch from e6cf08b to 63ddbb6 Compare October 14, 2026 13:26
Keep annotation's shaded libraries as provided dependencies and declare them explicitly for tests. Share publishing metadata across Scala modules, the annotation API, and the BOM. Enforce Scala formatting in CI.
@ivantopo
ivantopo force-pushed the migrate-build-to-mill branch 3 times, most recently from aadef9a to e0420cd Compare October 15, 2026 11:55
@ivantopo
ivantopo force-pushed the migrate-build-to-mill branch from e0420cd to e550fc8 Compare October 19, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant