Make mill show
skip -j
prefixes to ensure machine readability
#2884
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.
This requires us add another method
Logger#rawOutputStream
, which the various implementations forward without decorating with prefixes or other things.We cannot just use
SystemStreams.original
because when running Mill in client/server mode we still need to use theOutputStream
that gets forwarded from server to client, as theSystemStreams.original.out
just ends up forwarded toout/mill-worker-hash-1/stdout
files that aren't surfaced to usersTested manually with
./mill -i dev.run tmp -i -j 2 show foo
on an example build in thetmp/
folder. Previously it would show the output ofshow
with a prefix e.g.[#0] "bar"
, after this PR it shows the output without any prefixes"bar"
Logger#rawOutputStream
has to be a non-abstract method for binary compatibility. This makes it a bit error prone since you can easily forget to override it where necessary. So I first made it abstract, made sure everyone overrides it, and then added the default case.Pull request: #2884