Skip to content

Commit 3066a89

Browse files
authored
Merge pull request #61 from yangcao77/validation-2
add starterproject validation back
2 parents 951fc2a + 1ce14ae commit 3066a89

File tree

4 files changed

+44
-33
lines changed

4 files changed

+44
-33
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/devfile/library
33
go 1.13
44

55
require (
6-
github.com/devfile/api/v2 v2.0.0-20210202172954-6424f4139ac7
6+
github.com/devfile/api/v2 v2.0.0-20210211160219-33a78aec06af
77
github.com/fatih/color v1.7.0
88
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
99
github.com/gobwas/glob v0.2.3

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do
4444
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4545
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
4646
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
47-
github.com/devfile/api/v2 v2.0.0-20210202172954-6424f4139ac7 h1:bQGUVLEGQtVkvS94K4gQbu57Rk/npcZQmgORmCWYNy8=
48-
github.com/devfile/api/v2 v2.0.0-20210202172954-6424f4139ac7/go.mod h1:Cot4snybn3qhIh48oIFi9McocnIx7zY5fFbjfrIpPvg=
47+
github.com/devfile/api/v2 v2.0.0-20210211160219-33a78aec06af h1:egbFAAS/CWJMAqa4zIm8Cik3+iCqTAfLPfCj6PLEG5Y=
48+
github.com/devfile/api/v2 v2.0.0-20210211160219-33a78aec06af/go.mod h1:Cot4snybn3qhIh48oIFi9McocnIx7zY5fFbjfrIpPvg=
4949
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
5050
github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
5151
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=

pkg/devfile/parser/data/v2/common/options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ type DevfileOptions struct {
1414

1515
// FilterDevfileObject filters devfile attributes with the given options
1616
func FilterDevfileObject(attributes apiAttributes.Attributes, options DevfileOptions) (bool, error) {
17-
var err error
1817
filterIn := true
1918
for key, value := range options.Filter {
19+
var err error
2020
currentFilterIn := false
2121
attrValue := attributes.Get(key, &err)
2222
var keyNotFoundErr = &apiAttributes.KeyNotFoundError{Key: key}

pkg/devfile/validate/validate.go

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ package validate
22

33
import (
44
"fmt"
5-
"github.com/devfile/api/v2/pkg/validation"
5+
v2Validation "github.com/devfile/api/v2/pkg/validation"
66
devfileData "github.com/devfile/library/pkg/devfile/parser/data"
7+
v2 "github.com/devfile/library/pkg/devfile/parser/data/v2"
78
"github.com/devfile/library/pkg/devfile/parser/data/v2/common"
89
"strings"
910
)
@@ -23,43 +24,53 @@ func ValidateDevfileData(data devfileData.DevfileData) error {
2324
if err != nil {
2425
return err
2526
}
26-
//starterProjects, err := data.GetStarterProjects(common.DevfileOptions{})
27-
//if err != nil {
28-
// return err
29-
//}
30-
31-
var errstrings []string
32-
// validate components
33-
err = validation.ValidateComponents(components)
27+
starterProjects, err := data.GetStarterProjects(common.DevfileOptions{})
3428
if err != nil {
35-
errstrings = append(errstrings, err.Error())
29+
return err
3630
}
3731

38-
// validate commands
39-
err = validation.ValidateCommands(commands, components)
40-
if err != nil {
41-
errstrings = append(errstrings, err.Error())
42-
}
32+
var errstrings []string
33+
switch d := data.(type) {
34+
case *v2.DevfileV2:
35+
// validate components
36+
err = v2Validation.ValidateComponents(components)
37+
if err != nil {
38+
errstrings = append(errstrings, err.Error())
39+
}
4340

44-
err = validation.ValidateEvents(data.GetEvents(), commands)
45-
if err != nil {
46-
errstrings = append(errstrings, err.Error())
47-
}
41+
// validate commands
42+
err = v2Validation.ValidateCommands(commands, components)
43+
if err != nil {
44+
errstrings = append(errstrings, err.Error())
45+
}
4846

49-
err = validation.ValidateProjects(projects)
50-
if err != nil {
51-
errstrings = append(errstrings, err.Error())
52-
}
47+
err = v2Validation.ValidateEvents(data.GetEvents(), commands)
48+
if err != nil {
49+
errstrings = append(errstrings, err.Error())
50+
}
5351

54-
//err = validation.ValidateStarterProjects(starterProjects)
55-
//if err != nil {
56-
// errstrings = append(errstrings, err.Error())
57-
//}
52+
err = v2Validation.ValidateProjects(projects)
53+
if err != nil {
54+
errstrings = append(errstrings, err.Error())
55+
}
56+
57+
err = v2Validation.ValidateStarterProjects(starterProjects)
58+
if err != nil {
59+
errstrings = append(errstrings, err.Error())
60+
}
61+
62+
if len(errstrings) > 0 {
63+
return fmt.Errorf(strings.Join(errstrings, "\n"))
64+
} else {
65+
return nil
66+
}
67+
default:
68+
return fmt.Errorf("unknown devfile type %T", d)
69+
}
5870

5971
if len(errstrings) > 0 {
6072
return fmt.Errorf(strings.Join(errstrings, "\n"))
61-
} else {
62-
return nil
6373
}
6474

75+
return nil
6576
}

0 commit comments

Comments
 (0)