do not allow individual commands to close the top-level OutputStream (System.out) #2999
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.
Impact
Description
This change prevents individual commands from closing the output stream they are provided, which is actually
System.out
. It is bad practice for code to closeSystem.out
particularly because other command steps will still expect it to be open.Things to be aware of
Things to worry about
In very unusual circumstances, we might get more output than we did initially, because commands called after the RegisterChangelogCommandStep previously had a closed output stream. This isn't really a worry, and more of a positive thing.
Additional Context