Skip to content

Commit e905cb4

Browse files
committed
Use an "enum" for the output format types
1 parent 2470125 commit e905cb4

File tree

6 files changed

+48
-9
lines changed

6 files changed

+48
-9
lines changed

check/check.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/arduino/arduino-check/configuration/checkmode"
1212
"github.com/arduino/arduino-check/project"
1313
"github.com/arduino/arduino-check/result"
14+
"github.com/arduino/arduino-check/result/outputformat"
1415
"github.com/arduino/arduino-cli/cli/errorcodes"
1516
"github.com/arduino/arduino-cli/cli/feedback"
1617
"github.com/sirupsen/logrus"
@@ -35,20 +36,20 @@ func RunChecks(project project.Type) {
3536
}
3637

3738
// Output will be printed after all checks are finished when configured for "json" output format
38-
if configuration.OutputFormat() == "text" {
39+
if configuration.OutputFormat() == outputformat.Text {
3940
fmt.Printf("Running check %s: ", checkConfiguration.ID)
4041
}
4142
checkResult, checkOutput := checkConfiguration.CheckFunction()
4243
reportText := result.Results.Record(project, checkConfiguration, checkResult, checkOutput)
43-
if configuration.OutputFormat() == "text" {
44+
if configuration.OutputFormat() == outputformat.Text {
4445
fmt.Print(reportText)
4546
}
4647
}
4748

4849
// Checks are finished for this project, so summarize its check results in the report.
4950
result.Results.AddProjectSummary(project)
5051

51-
if configuration.OutputFormat() == "text" {
52+
if configuration.OutputFormat() == outputformat.Text {
5253
// Print the project check results summary.
5354
fmt.Print(result.Results.ProjectSummaryText(project))
5455
}

configuration/configuration.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package configuration
44
import (
55
"github.com/arduino/arduino-check/configuration/checkmode"
66
"github.com/arduino/arduino-check/project/projecttype"
7+
"github.com/arduino/arduino-check/result/outputformat"
78
"github.com/arduino/arduino-cli/cli/feedback"
89
"github.com/arduino/go-paths-helper"
910
"github.com/sirupsen/logrus"
@@ -26,8 +27,8 @@ func Initialize() {
2627
// customCheckModes[checkmode.Official] = false
2728
// superprojectType = projecttype.All
2829

29-
outputFormat = "text"
30-
//outputFormat = "json"
30+
//outputFormat = outputformat.Text
31+
//outputFormat = outputformat.JSON
3132
//reportFilePath = paths.New("report.json")
3233

3334
feedback.SetFormat(feedback.JSON)
@@ -61,10 +62,10 @@ func Recursive() bool {
6162
return recursive
6263
}
6364

64-
var outputFormat string
65+
var outputFormat outputformat.Type
6566

6667
// OutputFormat returns the tool output format configuration value.
67-
func OutputFormat() string {
68+
func OutputFormat() outputformat.Type {
6869
return outputFormat
6970
}
7071

configuration/defaults.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ package configuration
55
import (
66
"github.com/arduino/arduino-check/configuration/checkmode"
77
"github.com/arduino/arduino-check/project/projecttype"
8+
"github.com/arduino/arduino-check/result/outputformat"
89
)
910

1011
func setDefaults() {
1112
superprojectTypeFilter = projecttype.All
1213
recursive = true
13-
outputFormat = "text"
14+
outputFormat = outputformat.Text
1415
// TODO: targetPath defaults to current path
1516
}
1617

main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/arduino/arduino-check/configuration"
99
"github.com/arduino/arduino-check/project"
1010
"github.com/arduino/arduino-check/result"
11+
"github.com/arduino/arduino-check/result/outputformat"
1112
"github.com/arduino/arduino-cli/cli/errorcodes"
1213
"github.com/arduino/arduino-cli/cli/feedback"
1314
)
@@ -30,7 +31,7 @@ func main() {
3031
// All projects have been checked, so summarize their check results in the report.
3132
result.Results.AddSummary()
3233

33-
if configuration.OutputFormat() == "text" {
34+
if configuration.OutputFormat() == outputformat.Text {
3435
if len(projects) > 1 {
3536
// There are multiple projects, print the summary of check results for all projects.
3637
fmt.Print(result.Results.SummaryText())

result/outputformat/outputformat.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Package projecttype defines the output formats
2+
package outputformat
3+
4+
// Type is the type for output formats
5+
//go:generate stringer -type=Type -linecomment
6+
type Type int
7+
8+
const (
9+
Text Type = iota // text
10+
JSON // JSON
11+
)

result/outputformat/type_string.go

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)