66 devfileData "github.com/devfile/library/pkg/devfile/parser/data"
77 v2 "github.com/devfile/library/pkg/devfile/parser/data/v2"
88 "github.com/devfile/library/pkg/devfile/parser/data/v2/common"
9- "strings "
9+ "github.com/hashicorp/go-multierror "
1010)
1111
1212// ValidateDevfileData validates whether sections of devfile are compatible
@@ -29,48 +29,39 @@ func ValidateDevfileData(data devfileData.DevfileData) error {
2929 return err
3030 }
3131
32- var errstrings [] string
32+ var returnedErr error
3333 switch d := data .(type ) {
3434 case * v2.DevfileV2 :
3535 // validate components
3636 err = v2Validation .ValidateComponents (components )
3737 if err != nil {
38- errstrings = append ( errstrings , err . Error () )
38+ returnedErr = multierror . Append ( returnedErr , err )
3939 }
4040
4141 // validate commands
4242 err = v2Validation .ValidateCommands (commands , components )
4343 if err != nil {
44- errstrings = append ( errstrings , err . Error () )
44+ returnedErr = multierror . Append ( returnedErr , err )
4545 }
4646
4747 err = v2Validation .ValidateEvents (data .GetEvents (), commands )
4848 if err != nil {
49- errstrings = append ( errstrings , err . Error () )
49+ returnedErr = multierror . Append ( returnedErr , err )
5050 }
5151
5252 err = v2Validation .ValidateProjects (projects )
5353 if err != nil {
54- errstrings = append ( errstrings , err . Error () )
54+ returnedErr = multierror . Append ( returnedErr , err )
5555 }
5656
5757 err = v2Validation .ValidateStarterProjects (starterProjects )
5858 if err != nil {
59- errstrings = append ( errstrings , err . Error () )
59+ returnedErr = multierror . Append ( returnedErr , err )
6060 }
6161
62- if len (errstrings ) > 0 {
63- return fmt .Errorf (strings .Join (errstrings , "\n " ))
64- } else {
65- return nil
66- }
62+ return returnedErr
63+
6764 default :
6865 return fmt .Errorf ("unknown devfile type %T" , d )
6966 }
70-
71- if len (errstrings ) > 0 {
72- return fmt .Errorf (strings .Join (errstrings , "\n " ))
73- }
74-
75- return nil
7667}
0 commit comments