-
-
Notifications
You must be signed in to change notification settings - Fork 422
Mill 2.0 API changes
Loose and completely non-committal list of changes for Mill 2.x, that can’t be applied before 2.x, because they would break either current behavior or binary compatibility.
-
Don’t generate
staticforwarders for methods inobjects. Instead, use the@staticannotation to explicitly mark methods meant to bestatic.-
scalac option:
-Xno-forwarders -
https://github.com/com-lihaoyi/mill/pull/5521#issuecomment-3296306218
-
-
Remove deprecated API
-
Use sites of
@deprecatedannotation -
Use sites of
@unrollannotation -
Search for "deprecated", "bin-compat", "shim", "TODO", "FIXME"
-
-
Explicit code locations:
-
❏
VisualizeModule.classpath -
❏
CoursierModule.repositoryTask0 -
❏
JavaModule.coursierDependencyandJavaModule.coursierDependency0 -
❏
JavaModule.coursierProject0
-
-
Remove binary-compatibility shims and compatibility workarounds (often their names end with
0)
-
Use a path-aware type for configuration data: https://github.com/com-lihaoyi/mill/pull/6129
-
In
Moduletraits, generatesuper-stubs for all inherited tasks, so overriding tasks at a later point is not a binary breaking change due to the missingsuper-stub.-
Discussion: Improve binary-compatible Task overriding
-