6
6
devfileData "github.com/devfile/library/pkg/devfile/parser/data"
7
7
v2 "github.com/devfile/library/pkg/devfile/parser/data/v2"
8
8
"github.com/devfile/library/pkg/devfile/parser/data/v2/common"
9
- "strings "
9
+ "github.com/hashicorp/go-multierror "
10
10
)
11
11
12
12
// ValidateDevfileData validates whether sections of devfile are compatible
@@ -29,48 +29,39 @@ func ValidateDevfileData(data devfileData.DevfileData) error {
29
29
return err
30
30
}
31
31
32
- var errstrings [] string
32
+ var returnedErr error
33
33
switch d := data .(type ) {
34
34
case * v2.DevfileV2 :
35
35
// validate components
36
36
err = v2Validation .ValidateComponents (components )
37
37
if err != nil {
38
- errstrings = append ( errstrings , err . Error () )
38
+ returnedErr = multierror . Append ( returnedErr , err )
39
39
}
40
40
41
41
// validate commands
42
42
err = v2Validation .ValidateCommands (commands , components )
43
43
if err != nil {
44
- errstrings = append ( errstrings , err . Error () )
44
+ returnedErr = multierror . Append ( returnedErr , err )
45
45
}
46
46
47
47
err = v2Validation .ValidateEvents (data .GetEvents (), commands )
48
48
if err != nil {
49
- errstrings = append ( errstrings , err . Error () )
49
+ returnedErr = multierror . Append ( returnedErr , err )
50
50
}
51
51
52
52
err = v2Validation .ValidateProjects (projects )
53
53
if err != nil {
54
- errstrings = append ( errstrings , err . Error () )
54
+ returnedErr = multierror . Append ( returnedErr , err )
55
55
}
56
56
57
57
err = v2Validation .ValidateStarterProjects (starterProjects )
58
58
if err != nil {
59
- errstrings = append ( errstrings , err . Error () )
59
+ returnedErr = multierror . Append ( returnedErr , err )
60
60
}
61
61
62
- if len (errstrings ) > 0 {
63
- return fmt .Errorf (strings .Join (errstrings , "\n " ))
64
- } else {
65
- return nil
66
- }
62
+ return returnedErr
63
+
67
64
default :
68
65
return fmt .Errorf ("unknown devfile type %T" , d )
69
66
}
70
-
71
- if len (errstrings ) > 0 {
72
- return fmt .Errorf (strings .Join (errstrings , "\n " ))
73
- }
74
-
75
- return nil
76
67
}
0 commit comments