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
Convert ./mill init to generate .mill.yaml format, add !append support (#6441)
* We generate `.mill.yaml` files when importing Java projects using
`./mill init`.
* We still generate Scala code in `mill-build/src/`, which lets us avoid
duplication in the `.mill.yaml` files since the yaml files can `extend`
the shared `trait` containing the common config
* Scala project import makes use of cross values which are currently not
supported in `.mill.yaml` so we leave those as generating `.mill` files
for now.
* You can now tag top-level YAML values with `!append`, which
concatenates the Seq the overridden value rather than completely
replacing it. This is necessary for `.mill.yaml` Java project import to
work, as we make use of `super ++` in some places. This is implemented
via `parseYaml0` converting the `!append` tags into a synthetic
`{"$millAppend": ...}` wrapper, which is then deserialized into an
`Appendable[T]` that lets us decide later on whether to append something
or not
The `!append` stuff is mentioned in some updated doc examples which
demonstrate and exercise it
0 commit comments