Skip to content

Commit 373ab48

Browse files
refactoring: added errors
1 parent 3bb9493 commit 373ab48

File tree

16 files changed

+83
-21
lines changed

16 files changed

+83
-21
lines changed

cmd/generate.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ var generateCmd = &cobra.Command{
1818
1919
Change the file as per your needs and then run the compage generate command to generate the code.`,
2020
Run: func(cmd *cobra.Command, args []string) {
21-
GenerateCode()
21+
err := GenerateCode()
22+
cobra.CheckErr(err)
2223
},
2324
}
2425

@@ -46,7 +47,7 @@ func init() {
4647
// generateCmd.Flags().BoolP("toggle", "t", false, "Help message for toggle")
4748
}
4849

49-
func GenerateCode() {
50+
func GenerateCode() error {
5051
// Read the file from the current directory and convert it to project
5152
project, err := models.ReadConfigYAMLFile("config.yaml")
5253
cobra.CheckErr(err)
@@ -55,22 +56,22 @@ func GenerateCode() {
5556
coreProject, err := cmd.GetProject(project)
5657
if err != nil {
5758
log.Errorf("error while converting request to project [" + err.Error() + "]")
58-
return
59+
return err
5960
}
6061

6162
// pull all required templates
6263
// pull the common templates
6364
err = CloneOrPullRepository("common")
6465
if err != nil {
6566
log.Errorf("error while pulling the common templates [" + err.Error() + "]")
66-
return
67+
return err
6768
}
6869
for _, node := range coreProject.CompageJSON.Nodes {
6970
// make sure that the latest template is pulled
7071
err = CloneOrPullRepository(node.Language)
7172
if err != nil {
7273
log.Errorf("error while pulling the template [" + err.Error() + "]")
73-
return
74+
return err
7475
}
7576
log.Debugf("template pulled successfully for language %s", node.Language)
7677
}
@@ -79,7 +80,8 @@ func GenerateCode() {
7980
err0 := handlers.Handle(coreProject)
8081
if err0 != nil {
8182
log.Errorf("error while generating the project [" + err0.Error() + "]")
82-
return
83+
return err
8384
}
8485
log.Infof("project generated successfully at %s", utils.GetProjectDirectoryName(project.Name))
86+
return nil
8587
}

cmd/init.go

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,36 +25,45 @@ var initCmd = &cobra.Command{
2525
2626
You can change the file as per your needs and then run the compage generate command to generate the code.`,
2727
Run: func(cmd *cobra.Command, args []string) {
28-
createOrUpdateDefaultConfigFile()
28+
err := createOrUpdateDefaultConfigFile()
29+
cobra.CheckErr(err)
2930
},
3031
}
3132

32-
func createOrUpdateDefaultConfigFile() {
33+
func createOrUpdateDefaultConfigFile() error {
3334
// create default config file
3435
configFilePath := "config.yaml"
3536
_, err := os.Stat(configFilePath)
3637
if err == nil {
3738
log.Warnf("config file already exists at %s", configFilePath)
3839
if !overwriteConfigFile {
3940
log.Infof("skipping config file creation")
40-
return
41+
return err
4142
}
4243
log.Infof("overwriting the config file")
4344
err = os.Remove(configFilePath)
4445
if err != nil {
45-
log.Warnf("error while removing the config file %s", err)
46+
log.Errorf("error while removing the config file %s", err)
4647
cobra.CheckErr(err)
4748
}
4849
}
4950

5051
_, err = os.Create(configFilePath)
51-
cobra.CheckErr(err)
52+
if err != nil {
53+
log.Errorf("error while creating the config file %s", err)
54+
return err
55+
}
5256
contentData, err := Content.ReadFile("config.yaml.tmpl")
53-
cobra.CheckErr(err)
57+
if err != nil {
58+
log.Errorf("error while reading the config file %s", err)
59+
return err
60+
}
5461
// copy the default config file and use go template to replace the values
5562
err = os.WriteFile(configFilePath, contentData, 0644)
56-
cobra.CheckErr(err)
57-
63+
if err != nil {
64+
log.Errorf("error while creating the config file %s", err)
65+
return err
66+
}
5867
var filePaths []*string
5968
filePaths = append(filePaths, &configFilePath)
6069
data := make(map[string]interface{})
@@ -78,8 +87,12 @@ func createOrUpdateDefaultConfigFile() {
7887
data["IsRestServer"] = true
7988
}
8089
err = executor.Execute(filePaths, data)
81-
cobra.CheckErr(err)
90+
if err != nil {
91+
log.Errorf("error while creating the config file %s", err)
92+
return err
93+
}
8294
log.Infof("config file created at %s", configFilePath)
95+
return nil
8396
}
8497

8598
func init() {

cmd/models/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package models
22

33
import (
4+
log "github.com/sirupsen/logrus"
45
"gopkg.in/yaml.v3"
56
"os"
67
)
@@ -31,12 +32,14 @@ type Project struct {
3132
func ReadConfigYAMLFile(configFile string) (*Project, error) {
3233
data, err := os.ReadFile(configFile)
3334
if err != nil {
35+
log.Errorf("error reading config file: %v", err)
3436
return nil, err
3537
}
3638

3739
var project Project
3840
// Unmarshal YAML data into the provided struct
3941
if err := yaml.Unmarshal(data, &project); err != nil {
42+
log.Errorf("error unmarshalling YAML data: %v", err)
4043
return nil, err
4144
}
4245

cmd/root.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ var rootCmd = &cobra.Command{
3030
func Execute() {
3131
err := rootCmd.Execute()
3232
if err != nil {
33+
log.Errorf("error executing root command: %v", err)
3334
os.Exit(1)
3435
}
3536
}

cmd/start.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ This command will start thr gRPC server and allow the gRPC clients to get connec
6868

6969
// check if the git submodules have been pulled (mainly need to check this on developer's machine)
7070
if checkIfGitSubmodulesExist() {
71-
startGrpcServer()
71+
err = startGrpcServer()
72+
cobra.CheckErr(err)
7273
} else {
7374
log.Error("starting gRPC server failed as git submodules don't exist")
7475
}
@@ -125,11 +126,11 @@ func checkIfGitSubmodulesExist() bool {
125126
return true
126127
}
127128

128-
func startGrpcServer() {
129+
func startGrpcServer() error {
129130
listener, err := net.Listen("tcp", "0.0.0.0:50051")
130131
if err != nil {
131132
log.Errorf("failed to listen: %v", err)
132-
return
133+
return err
133134
}
134135
log.Println("started gRPC server on '0.0.0.0:50051'")
135136
grpcServer := grpc.NewServer(grpc.StatsHandler(otelgrpc.NewServerHandler()))
@@ -152,4 +153,5 @@ func startGrpcServer() {
152153
<-done
153154
grpcServer.GracefulStop()
154155
log.Printf("Server stopped")
156+
return nil
155157
}

internal/converter/cmd/converter.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmd
22

33
import (
4+
log "github.com/sirupsen/logrus"
45
"time"
56

67
"github.com/intelops/compage/cmd/models"
@@ -12,6 +13,7 @@ import (
1213
func GetProject(input *models.Project) (*core.Project, error) {
1314
compageJSON, err := converter.GetCompageJSONForCMD(input.CompageJSON)
1415
if err != nil {
16+
log.Errorf("error getting compageJSON: %v", err)
1517
return nil, err
1618
}
1719

internal/converter/converter.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/intelops/compage/internal/core"
77
"github.com/intelops/compage/internal/languages"
88
"github.com/intelops/compage/internal/languages/templates"
9+
log "github.com/sirupsen/logrus"
910
"golang.org/x/exp/maps"
1011
)
1112

@@ -14,6 +15,7 @@ func GetNodes(nodes interface{}) interface{} {
1415
if nodes != nil {
1516
nodesBytes, err := json.Marshal(maps.Values(nodes.(map[string]interface{})))
1617
if err != nil {
18+
log.Errorf("error marshalling nodes: %v", err)
1719
return err
1820
}
1921
return string(nodesBytes)
@@ -26,6 +28,7 @@ func GetEdges(edges interface{}) interface{} {
2628
if edges != nil {
2729
edgesBytes, err := json.Marshal(maps.Values(edges.(map[string]interface{})))
2830
if err != nil {
31+
log.Errorf("error marshalling edges: %v", err)
2932
return err
3033
}
3134
return string(edgesBytes)
@@ -50,20 +53,24 @@ func ConvertMap(x map[string]interface{}) map[string]interface{} {
5053
func GetCompageJSONForGRPC(jsonString string) (*core.CompageJSON, error) {
5154
x := map[string]interface{}{}
5255
if err := json.Unmarshal([]byte(jsonString), &x); err != nil {
56+
log.Errorf("error unmarshalling compageJSON: %v", err)
5357
return nil, err
5458
}
5559
convertedX := ConvertMap(x)
5660
convertedXBytes, err1 := json.Marshal(convertedX)
5761
if err1 != nil {
62+
log.Errorf("error marshalling compageJSON: %v", err1)
5863
return nil, err1
5964
}
6065
compageJSON := &core.CompageJSON{}
6166
if err2 := json.Unmarshal(convertedXBytes, compageJSON); err2 != nil {
67+
log.Errorf("error unmarshalling compageJSON: %v", err2)
6268
return nil, err2
6369
}
6470

6571
// Validate compageJSON
6672
if err3 := validate(compageJSON); err3 != nil {
73+
log.Errorf("error validating compageJSON: %v", err3)
6774
return nil, err3
6875
}
6976

@@ -74,15 +81,18 @@ func GetCompageJSONForGRPC(jsonString string) (*core.CompageJSON, error) {
7481
func GetCompageJSONForCMD(jsonMap map[string]interface{}) (*core.CompageJSON, error) {
7582
convertedXBytes, err1 := json.Marshal(jsonMap)
7683
if err1 != nil {
84+
log.Errorf("error marshalling compageJSON: %v", err1)
7785
return nil, err1
7886
}
7987
compageJSON := &core.CompageJSON{}
8088
if err2 := json.Unmarshal(convertedXBytes, compageJSON); err2 != nil {
89+
log.Errorf("error unmarshalling compageJSON: %v", err2)
8190
return nil, err2
8291
}
8392

8493
// Validate compageJSON
8594
if err3 := validate(compageJSON); err3 != nil {
95+
log.Errorf("error validating compageJSON: %v", err3)
8696
return nil, err3
8797
}
8898

@@ -118,6 +128,7 @@ func validate(compageJSON *core.CompageJSON) error {
118128
func GetMetadata(metadataInput string) map[string]interface{} {
119129
metadata := map[string]interface{}{}
120130
if err0 := json.Unmarshal([]byte(metadataInput), &metadata); err0 != nil {
131+
log.Errorf("error unmarshalling metadata: %v", err0)
121132
return nil
122133
}
123134
return metadata

internal/converter/grpc/converter.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ import (
44
project "github.com/intelops/compage/gen/api/v1"
55
"github.com/intelops/compage/internal/converter"
66
"github.com/intelops/compage/internal/core"
7+
log "github.com/sirupsen/logrus"
78
"time"
89
)
910

1011
// GetProject converts *project.GenerateCodeRequest to *core.Project
1112
func GetProject(input *project.GenerateCodeRequest) (*core.Project, error) {
1213
compageJSON, err := converter.GetCompageJSONForGRPC(input.ProjectJSON)
1314
if err != nil {
15+
log.Errorf("error getting compageJSON: %v", err)
1416
return nil, err
1517
}
1618

internal/handlers/projects.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func Handle(coreProject *core.Project) error {
4747
if err != nil {
4848
return errors.New("deep source copier is nil")
4949
}
50-
if err := deepSourceCopier.CreateDeepSourceFiles(); err != nil {
50+
if err = deepSourceCopier.CreateDeepSourceFiles(); err != nil {
5151
log.Errorf("error while creating deepsource files [" + err.Error() + "]")
5252
return err
5353
}
@@ -57,7 +57,7 @@ func Handle(coreProject *core.Project) error {
5757
if err != nil {
5858
return errors.New("readme copier is nil")
5959
}
60-
if err := readMeCopier.CreateReadMeFile(); err != nil {
60+
if err = readMeCopier.CreateReadMeFile(); err != nil {
6161
log.Errorf("error while creating README.md file [" + err.Error() + "]")
6262
return err
6363
}

internal/integrations/deepsource/copier.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ func NewCopier(project *core.Project) (*Copier, error) {
4444
func (c Copier) CreateDeepSourceFiles() error {
4545
destDirectory := c.ProjectDirectoryName
4646
if err := utils.CreateDirectories(destDirectory); err != nil {
47+
log.Errorf("error while creating directories [" + err.Error() + "]")
4748
return err
4849
}
4950

@@ -52,6 +53,7 @@ func (c Copier) CreateDeepSourceFiles() error {
5253
targetDeepSourceTomlFileName := c.ProjectDirectoryName + "/" + TomlFile
5354
_, err := utils.CopyFile(targetDeepSourceTomlFileName, c.TemplatesRootPath+"/"+TomlFile)
5455
if err != nil {
56+
log.Errorf("error while copying file [" + err.Error() + "]")
5557
return err
5658
}
5759
filePaths = append(filePaths, &targetDeepSourceTomlFileName)

0 commit comments

Comments
 (0)