Skip to content

Commit d22ef4f

Browse files
Merge pull request #149 from intelops/gocyclo-fixes
Gocyclo fixes
2 parents 5214953 + 450f7de commit d22ef4f

File tree

9 files changed

+894
-687
lines changed

9 files changed

+894
-687
lines changed

core/go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ google.golang.org/grpc v1.56.0 h1:+y7Bs8rtMd07LeXmL3NxcTLn7mUkbKZqEpPhMNkwJEE=
3434
google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
3535
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
3636
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
37-
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
38-
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
3937
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
4038
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
4139
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

core/internal/handlers/projects.go

Lines changed: 90 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package handlers
33
import (
44
"context"
55
"github.com/intelops/compage/core/internal/core"
6+
corenode "github.com/intelops/compage/core/internal/core/node"
67
"github.com/intelops/compage/core/internal/integrations/deepsource"
78
"github.com/intelops/compage/core/internal/integrations/readme"
89
"github.com/intelops/compage/core/internal/languages"
@@ -28,80 +29,11 @@ func Handle(coreProject *core.Project) error {
2829
// Iterate over all nodes and generate code for all nodes.
2930
compageJSON := coreProject.CompageJSON
3031
for _, compageNode := range compageJSON.Nodes {
31-
log.Debugf("processing node ID : %s ", compageNode.ID)
32-
33-
// convert node to languageNode
34-
languageNode, err := languages.NewLanguageNode(compageJSON, compageNode)
32+
err := processNode(coreProject, compageNode)
3533
if err != nil {
36-
// return errors like certain protocols aren't yet supported
3734
log.Debugf("err : %s", err)
3835
return err
3936
}
40-
41-
// add values(LanguageNode and configs from coreProject) to context.
42-
languageCtx := languages.AddValuesToContext(context.Background(), coreProject, languageNode)
43-
44-
// extract nodeDirectoryName for formatter
45-
values := languageCtx.Value(languages.ContextKeyLanguageContextVars).(languages.Values)
46-
nodeDirectoryName := values.NodeDirectoryName
47-
48-
// create node directory in projectDirectory depicting a subproject
49-
if err0 := utils.CreateDirectories(nodeDirectoryName); err0 != nil {
50-
log.Debugf("err : %s", err0)
51-
return err0
52-
}
53-
54-
// process golang
55-
if languageNode.Language == languages.Go {
56-
// add values(LanguageNode and configs from coreProject) to context.
57-
goCtx := golang.AddValuesToContext(languageCtx)
58-
if err1 := golang.Process(goCtx); err1 != nil {
59-
log.Debugf("err : %s", err1)
60-
return err1
61-
}
62-
} else if languageNode.Language == languages.Python {
63-
// add values(LanguageNode and configs from coreProject) to context.
64-
pythonCtx := python.AddValuesToContext(languageCtx)
65-
if err1 := python.Process(pythonCtx); err1 != nil {
66-
log.Debugf("err : %s", err1)
67-
return err1
68-
}
69-
} else if languageNode.Language == languages.Java {
70-
// add values(LanguageNode and configs from coreProject) to context.
71-
javaCtx := java.AddValuesToContext(languageCtx)
72-
if err1 := java.Process(javaCtx); err1 != nil {
73-
log.Debugf("err : %s", err1)
74-
return err1
75-
}
76-
} else if languageNode.Language == languages.Rust {
77-
// add values(LanguageNode and configs from coreProject) to context.
78-
rustCtx := rust.AddValuesToContext(languageCtx)
79-
if err1 := rust.Process(rustCtx); err1 != nil {
80-
log.Debugf("err : %s", err1)
81-
return err1
82-
}
83-
} else if languageNode.Language == languages.JavaScript {
84-
// add values(LanguageNode and configs from coreProject) to context.
85-
javascriptCtx := javascript.AddValuesToContext(languageCtx)
86-
if err1 := javascript.Process(javascriptCtx); err1 != nil {
87-
log.Debugf("err : %s", err1)
88-
return err1
89-
}
90-
} else if languageNode.Language == languages.TypeScript {
91-
// add values(LanguageNode and configs from coreProject) to context.
92-
typescriptCtx := typescript.AddValuesToContext(languageCtx)
93-
if err1 := typescript.Process(typescriptCtx); err1 != nil {
94-
log.Debugf("err : %s", err1)
95-
return err1
96-
}
97-
} else if languageNode.Language == languages.Ruby {
98-
// add values(LanguageNode and configs from coreProject) to context.
99-
rubyCtx := ruby.AddValuesToContext(languageCtx)
100-
if err1 := ruby.Process(rubyCtx); err1 != nil {
101-
log.Debugf("err : %s", err1)
102-
return err1
103-
}
104-
}
10537
}
10638

10739
// add deepsource at project level
@@ -118,3 +50,91 @@ func Handle(coreProject *core.Project) error {
11850

11951
return nil
12052
}
53+
54+
func processNode(coreProject *core.Project, compageNode *corenode.Node) error {
55+
compageJSON := coreProject.CompageJSON
56+
log.Debugf("processing node ID : %s ", compageNode.ID)
57+
58+
// convert node to languageNode
59+
languageNode, err := languages.NewLanguageNode(compageJSON, compageNode)
60+
if err != nil {
61+
// return errors like certain protocols aren't yet supported
62+
log.Debugf("err : %s", err)
63+
return err
64+
}
65+
66+
// add values(LanguageNode and configs from coreProject) to context.
67+
languageCtx := languages.AddValuesToContext(context.Background(), coreProject, languageNode)
68+
69+
// extract nodeDirectoryName for formatter
70+
values := languageCtx.Value(languages.ContextKeyLanguageContextVars).(languages.Values)
71+
nodeDirectoryName := values.NodeDirectoryName
72+
73+
// create node directory in projectDirectory depicting a subproject
74+
if err0 := utils.CreateDirectories(nodeDirectoryName); err0 != nil {
75+
log.Debugf("err : %s", err0)
76+
return err0
77+
}
78+
79+
err = runLanguageProcess(languageNode, languageCtx)
80+
if err != nil {
81+
log.Debugf("err : %s", err)
82+
return err
83+
}
84+
return nil
85+
}
86+
87+
func runLanguageProcess(languageNode *languages.LanguageNode, languageCtx context.Context) error {
88+
// process golang
89+
if languageNode.Language == languages.Go {
90+
// add values(LanguageNode and configs from coreProject) to context.
91+
goCtx := golang.AddValuesToContext(languageCtx)
92+
if err1 := golang.Process(goCtx); err1 != nil {
93+
log.Debugf("err : %s", err1)
94+
return err1
95+
}
96+
} else if languageNode.Language == languages.Python {
97+
// add values(LanguageNode and configs from coreProject) to context.
98+
pythonCtx := python.AddValuesToContext(languageCtx)
99+
if err1 := python.Process(pythonCtx); err1 != nil {
100+
log.Debugf("err : %s", err1)
101+
return err1
102+
}
103+
} else if languageNode.Language == languages.Java {
104+
// add values(LanguageNode and configs from coreProject) to context.
105+
javaCtx := java.AddValuesToContext(languageCtx)
106+
if err1 := java.Process(javaCtx); err1 != nil {
107+
log.Debugf("err : %s", err1)
108+
return err1
109+
}
110+
} else if languageNode.Language == languages.Rust {
111+
// add values(LanguageNode and configs from coreProject) to context.
112+
rustCtx := rust.AddValuesToContext(languageCtx)
113+
if err1 := rust.Process(rustCtx); err1 != nil {
114+
log.Debugf("err : %s", err1)
115+
return err1
116+
}
117+
} else if languageNode.Language == languages.JavaScript {
118+
// add values(LanguageNode and configs from coreProject) to context.
119+
javascriptCtx := javascript.AddValuesToContext(languageCtx)
120+
if err1 := javascript.Process(javascriptCtx); err1 != nil {
121+
log.Debugf("err : %s", err1)
122+
return err1
123+
}
124+
} else if languageNode.Language == languages.TypeScript {
125+
// add values(LanguageNode and configs from coreProject) to context.
126+
typescriptCtx := typescript.AddValuesToContext(languageCtx)
127+
if err1 := typescript.Process(typescriptCtx); err1 != nil {
128+
log.Debugf("err : %s", err1)
129+
return err1
130+
}
131+
} else if languageNode.Language == languages.Ruby {
132+
// add values(LanguageNode and configs from coreProject) to context.
133+
rubyCtx := ruby.AddValuesToContext(languageCtx)
134+
if err1 := ruby.Process(rubyCtx); err1 != nil {
135+
log.Debugf("err : %s", err1)
136+
return err1
137+
}
138+
}
139+
return nil
140+
}

0 commit comments

Comments
 (0)