Use updated output with smithy build and diff #1712
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.
Smithy diff and build now uses the pretty validation output and color theming options.
Because Styles were copied and repated multiple times, I introduced a ColorTheme class to store reusable styles. This isn't a swappable color scheme system, but could be evolved into one in the future if needed.
For Smithy Diff:
The old and new models are both validated, but only build-failing errors are shown. When the original model fails, a label is added before ERROR/DANGER to show it's on the OLD model. When the new model fails, it shows a NEW label.
When running the diff with two valid models, events have a label of DIFF. The events shown here use the --severity option and default to WARNING when not set.
For Smithy Build:
Each projection output is contained in a titled section using a colored title to match whether the projection passed or failed. Any events encountered during the projection are emitted using the updated styling and have a prefix label using the projection name.
Smithy build success output:
Smithy build, invalid source models (same as validation output):
Smithy build, invalid projection:
Smithy diff, old model issue:
Smithy diff, new model issue:
Smithy diff issue:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.