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.
Implement requires_extension to replace more generic satisfies/requires for the common case of an amp tag requiring an amp extension script tag.
Prior to this, extension and tag specs would have pairs of satisfies/requires fields referring to each other. Now, we replace this with a requires_extension: field on the non-extension tagspec. The validator becomes aware of how these requirements work, and enforces both the need to include an extension script and the need to not have unused extensions. This also reduces more of the boilerplate in the protoascii, including having all of the spec urls automatically computed.
The error messages improve as well. The error strings are more specific (they talk about extensions). The errors are not all at the end of the file (since once we've hit the body, we know that no more extensions will be found). We remove document URLs for unused extension warnings, since the reference material isn't related to this error.