You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow Mill CLI to select the meta-build frame it operates on (#2719)
Add a new CLI option `--meta-level` accepting an `Int`. Default is `0`
and means the root project, `1` is the parent meta-build, if defined, or
the built-in bootstrap module, and so on.
**Example: Find version updates in the meta build**
Here is some example output (applied to the mill repo):
```
$ mill --meta-level 1 mill.scalalib.Dependency/showUpdates
[1657/1657] dev.run
Found 3 dependency update for
net.sourceforge.htmlcleaner:htmlcleaner : 2.25 -> 2.26 -> 2.27 -> 2.28 -> 2.29
com.lihaoyi:mill-contrib-buildinfo_2.13 : 0.11.2-6-261437 -> 0.11.2
com.github.lolgab:mill-mima_mill0.11_2.13 : 0.0.23 -> 0.0.24
```
**Meta information about the build**
I also added a new external module `mill.runner.MillBuild` to get some
meta-information about the project, for now, the meta-module count or
frame count.
Here on a project with one meta-build:
```
$ mill show mill.runner.MillBuild/levelCount
3
```
Pull request: #2719
* `--meta-level 1` selects the first meta-build. Without any customization, this is the only built-in meta-build.
37
+
* `mill.scalalib.scalafmt.ScalafmtModule/reformatAll` is a generic task to format scala source files with Scalafmt. It requires the targets that refer to the source files as argument
38
+
* `sources` this selects the `sources` targets of the meta-build, which at least contains the `build.sc`.
39
+
40
+
=== Example: Find plugin updates
41
+
42
+
Mill plugins are defined as `ivyDeps` in the meta-build.
43
+
Hence, you can easily search for updates with the external `mill.scalalib.Dependency` module.
0 commit comments