Contrib Plugins
The plugins in this section are hosted in the Mill git tree and developed / maintained by the community.
For details about including plugins in your build.mill read Using Mill Plugins.
|
When using one of these contribution modules, it is important that the versions you load match your mill version.
To facilitate this, Mill will automatically replace the For instance:
|
Importing Contrib Modules
//| mvnDeps: ["com.lihaoyi::mill-contrib-buildinfo:$MILL_VERSION"]
package build
import mill.*, scalalib.*
import mill.contrib.buildinfo.BuildInfo
object foo extends ScalaModule, BuildInfo {
def scalaVersion = "2.13.16"
def buildInfoPackageName = "foo"
def buildInfoMembers = Seq(
BuildInfo.Value("scalaVersion", scalaVersion())
)
}
This example illustrates usage of Mill contrib plugins. These are Mill
plugins contributed by Mill user that are maintained within the Mill
repo, published under mill-contrib-*.
> ./mill foo.run
...
foo.BuildInfo.scalaVersion: 2.13.16
Contrib modules halfway between builtin Mill modules and Third-party Plugins:
-
Like builtin modules, contrib modules are tested and released as part of Mill’s own CI process, ensuring there is always a version of the plugin compatible with any Mill version
-
Like third-party plugins, contrib modules are submitted by third-parties, and do now maintain the same binary compatibility guarantees of Mill’s builtin comdules