Passed
Pull Request — master (#73)
by Stefano
02:19
created

main.createCommand   B

Complexity

Conditions 5

Size

Total Lines 28
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 19
nop 1
dl 0
loc 28
rs 8.9833
c 0
b 0
f 0
1
package main
2
3
import (
4
	"github.com/pkg/errors"
5
	"github.com/sirupsen/logrus"
6
	"github.com/spf13/cobra"
7
	"github.com/stefanoj3/dirstalk/pkg/cmd"
8
)
9
10
func main() {
11
	logger := logrus.New()
12
	logger.Formatter = &logrus.TextFormatter{DisableTimestamp: true}
13
14
	dirStalkCmd, err := createCommand(logger)
15
	if err != nil {
16
		logger.WithField("err", err).Fatal("Failed to initialize application")
17
	}
18
19
	if err := dirStalkCmd.Execute(); err != nil {
20
		logger.WithField("err", err).Fatal("Execution error")
21
	}
22
}
23
24
func createCommand(logger *logrus.Logger) (*cobra.Command, error) {
25
	dirStalkCmd, err := cmd.NewRootCommand(logger)
26
	if err != nil {
27
		return nil, err
28
	}
29
30
	scanCmd, err := cmd.NewScanCommand(logger)
31
	if err != nil {
32
		return nil, errors.Wrap(err, "failed to create scan command")
33
	}
34
35
	resultViewCmd, err := cmd.NewResultViewCommand(logger.Out)
36
	if err != nil {
37
		return nil, errors.Wrap(err, "failed to create result-view command")
38
	}
39
40
	resultDiffCmd, err := cmd.NewResultDiffCommand(logger.Out)
41
	if err != nil {
42
		return nil, errors.Wrap(err, "failed to create result-diff command")
43
	}
44
45
	dirStalkCmd.AddCommand(scanCmd)
46
	dirStalkCmd.AddCommand(resultViewCmd)
47
	dirStalkCmd.AddCommand(resultDiffCmd)
48
	dirStalkCmd.AddCommand(cmd.NewGenerateDictionaryCommand(logger.Out))
49
	dirStalkCmd.AddCommand(cmd.NewVersionCommand(logger.Out))
50
51
	return dirStalkCmd, nil
52
}
53