Fix init
command and support running Mill without existing build.sc
#2662
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I first added an integration test for the init command to reproduce the issues and make sure the feature now works.
Instead of failing in case there is no
build.sc
, we now check the targets against a whitelist of tasks (init
andversion
) and continue with an empty setup.We also accept a missing
build.sc
in case additional imports are given, which could mean, the imports contain Mill plugins which itself provide commands that could work without abuild.sc
.Only when we discover an error afterwards, we add a message about the missing
build.sc
to the underlying error message. That means, we don't see the spurious "no build.sc" message when everything works as expected.