mill
mill copied to clipboard
Better support task/command `def` overloading
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.
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.