Enable buildozer commands containing newlines in command files. #1296
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.
buildozer can accept an argument for the set command with appropriately escaped newlines to force multiline values that would otherwise be written out as a single line. When buildozer reads commands from a commands file, it reads a single line and attempts to apply it as a command, so newlines can't be used to force a multiline value.
To enable forcing multiline values when using a commands file, this updates buildozer to continue reading lines when a line ends with an escaped newline to match the behavior on the command line. This additionally adds a test case for using whitespace on the command-line so that there is consistent coverage for the two modes.