Skip to content

Commit a81d50e

Browse files
author
blackmarllbor0
committed
fix lint errors && update readme file
1 parent 2b1375c commit a81d50e

File tree

3 files changed

+56
-30
lines changed

3 files changed

+56
-30
lines changed

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,14 @@ to be called. For example `cps my-app`.
2727

2828
### What does this program?
2929

30-
`cps` creates a root project structure, with ready-made
31-
templates. It also creates a main package with the template
32-
output **Hello!** and a **go.mod** file with the project
33-
name and your locale language version.
30+
1. Basic structure taken from the standards;
31+
2. Layout of the main file;
32+
3. File `go.mod` with project name;
33+
4. Makefile with parameters:
34+
1. build: builds the application;
35+
2. run: start the app in dev mode;
36+
3. test: rub all tests;
37+
4. lint: checks your project for design errors;
3438

3539
### What is expected next?
3640

internal/app/dir/dir.go

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,8 @@ func (d *Dirs) createProjectDir() error {
6060
return nil
6161
}
6262

63-
// TODO calculated cyclomatic complexity for function createProjectDirs is 13,
64-
// max is 10.
6563
func (d *Dirs) createProjectDirs() error {
66-
projectDirs := [4]string{cmdDir, pkgDir, internalDir, cfgDir}
64+
projectDirs := [3]string{cmdDir, internalDir, cfgDir}
6765

6866
for i := 0; i < len(projectDirs); i++ {
6967
currentDir := projectDirs[i]
@@ -80,32 +78,12 @@ func (d *Dirs) createProjectDirs() error {
8078
}
8179

8280
// depending on the current directory being created, create files or subdirectories.
83-
switch currentDir {
84-
case cmdDir:
85-
if err := d.file.GenerateMainFile(dir + "/" + d.projectName + ".go"); err != nil {
86-
return err
87-
}
88-
case internalDir:
89-
if err := d.createInternalSubDir(); err != nil {
90-
return err
91-
}
92-
case cfgDir:
93-
if err := d.file.GenerateCfgFile(dir); err != nil {
94-
return err
95-
}
81+
if err := d.createFilesInSubdirs(currentDir, dir); err != nil {
82+
return err
9683
}
9784
}
9885

99-
currentDir, err := os.Getwd()
100-
if err != nil {
101-
return err
102-
}
103-
104-
if err := d.file.GenerateGoModFile(currentDir+"/"+d.projectName, d.isCurrentDir); err != nil {
105-
return err
106-
}
107-
108-
if err := d.file.GenerateMakefile(d.projectName, d.isCurrentDir); err != nil {
86+
if err := d.file.GenerateFilesInMainDir(d.projectName, d.isCurrentDir); err != nil {
10987
return err
11088
}
11189

@@ -132,3 +110,22 @@ func (d *Dirs) createInternalSubDir() error {
132110

133111
return nil
134112
}
113+
114+
func (d *Dirs) createFilesInSubdirs(currentDir, dir string) error {
115+
switch currentDir {
116+
case cmdDir:
117+
if err := d.file.GenerateMainFile(dir + fmt.Sprintf("/%s", d.projectName) + ".go"); err != nil {
118+
return err
119+
}
120+
case internalDir:
121+
if err := d.createInternalSubDir(); err != nil {
122+
return err
123+
}
124+
case cfgDir:
125+
if err := d.file.GenerateCfgFile(dir); err != nil {
126+
return err
127+
}
128+
}
129+
130+
return nil
131+
}

internal/app/file/file.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ func (fl File) GenerateGoModFile(dir string, isCurrentDir bool) error {
8484
}
8585

8686
func (fl File) GenerateMakefile(projectName string, isCurrentDir bool) error {
87+
if !isCurrentDir {
88+
projectName = path.Base(projectName)
89+
}
90+
8791
content := fmt.Sprintf(
8892
"PROJECT_NAME = %s\n"+
8993
"PROJECT_PATH = cmd/$(PROJECT_NAME).go\n\n"+
@@ -107,3 +111,24 @@ func (fl File) GenerateMakefile(projectName string, isCurrentDir bool) error {
107111

108112
return nil
109113
}
114+
115+
func (fl File) GenerateFilesInMainDir(projectName string, isCurrentDir bool) error {
116+
currentDir, err := os.Getwd()
117+
if err != nil {
118+
return err
119+
}
120+
121+
if !isCurrentDir {
122+
currentDir += fmt.Sprintf("/%s", projectName)
123+
}
124+
125+
if err := fl.GenerateGoModFile(currentDir, isCurrentDir); err != nil {
126+
return err
127+
}
128+
129+
if err := fl.GenerateMakefile(currentDir, isCurrentDir); err != nil {
130+
return err
131+
}
132+
133+
return nil
134+
}

0 commit comments

Comments
 (0)