Skip to content

Commit

Permalink
command: Don't show more than two of the same warning
Browse files Browse the repository at this point in the history
Some of our warnings are produced in response to particular configuration
constructs which might appear many times across a Terraform configuration.
To avoid the warning output dwarfing all of the other output, we'll use
ConsolidateWarnings to limit each distinct warning summary to appear at
most twice, and annotate the final one in the sequence with an additional
paragraph noting that some number of them have been hidden.

This is intended as a compromise to ensure that these warnings are still
seen and noted but to help ensure that we won't produce so many of them
as to distract from other output that appears alongside them.

This applies only to warnings relating to specific configuration ranges;
errors will continue to be shown individually, and sourceless warnings
(which are rare in Terraform today) will likewise remain ungrouped because
they are less likely to be repeating the same statement about different
instances of the same problem throughout the configuration.
  • Loading branch information
apparentlymart committed Nov 19, 2019
1 parent 79b62ae commit 7081c26
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions command/meta.go
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,9 @@ func (m *Meta) showDiagnostics(vals ...interface{}) {
diags = diags.Append(vals...)
diags.Sort()

// Since warning messages are generally competing
diags = diags.ConsolidateWarnings()

for _, diag := range diags {
// TODO: Actually measure the terminal width and pass it here.
// For now, we don't have easy access to the writer that
Expand Down

0 comments on commit 7081c26

Please sign in to comment.