mill icon indicating copy to clipboard operation
mill copied to clipboard

Better support task/command `def` overloading

Open lefou opened this issue 6 months ago • 1 comments

Technically, we already support it, since all Mill module are Scala traits/objects. But to evolve an API in a binary compatible way, we sometimes need to add an overload. This results in two task having the same name, an anbiguity we can't deterministically resolve when that task is selected from the CLI. We could add some @hidden or @priority annotation resulting in these tasks being ignored or de-prioritized when the resolver tries to handle a CLI request.

lefou avatar Jun 10 '25 09:06 lefou

I think we should include this into 1.0.0, since evolving commands was a major reason for the need to break binary compatibility in the past.

lefou avatar Jun 10 '25 09:06 lefou