Mention JSON format in dart2js args error message #3414
Merged
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.
For
--define
arguments build_runner will attempt a JSON parse, andtreat anything with a format error as a
String
.Parsing as JSON allows for structured content, similar to what can be
added in
build.yaml
. Silently falling back to the input as a stringavoids requiring extra quotes for the majority of simple options.
When the JSON decode fails unexpectedly, the error message can be
confusing and does not point to the problem. It's not easy to
distinguish between a
build.yaml
with a String value (that never wouldbe parsed as JSON) or command line argument, so we cannot tell for sure
if JSON formatting is the problem. The best we can do is point out that
it may have failed to parse.
Remove the name of the argument from the message, it is already present
in the
ArgumentError.toString()
.