Skip to content

Commit 066f1f3

Browse files
committed
updated cli
1 parent 17fceaf commit 066f1f3

3 files changed

Lines changed: 50 additions & 13 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.DS_Store
2-
.idea/
2+
.idea/
3+
severell-cli

cmd/create.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import (
99
"github.com/spf13/cobra"
1010
"io"
1111
"io/ioutil"
12+
"log"
1213
"net/http"
1314
"os"
15+
"os/exec"
1416
"path/filepath"
1517
"strings"
1618
"text/template"
@@ -32,6 +34,8 @@ type flag struct {
3234
type foo struct {
3335
AppName string
3436
Package string
37+
BasePackage string
38+
GroupId string
3539
Commands []command
3640
}
3741

@@ -68,16 +72,32 @@ var createCmd = &cobra.Command{
6872

6973

7074
data := foo {
71-
Package: basePackage,
75+
Package: basePackage + "." + appName,
7276
}
7377

7478
file, _ := json.MarshalIndent(data, "", " ")
7579

76-
_ = ioutil.WriteFile("severell.json", file, 0644)
80+
_ = ioutil.WriteFile(args[0] + "/severell.json", file, 0644)
81+
82+
compile(args[0])
83+
loadCommands(&args[0], &data.Package)
7784

7885
},
7986
}
8087

88+
func compile(dir string) {
89+
cmdCon := exec.Command("mvn","-q", "clean", "compile")
90+
cmdCon.Dir = dir
91+
92+
cmdCon.Stdout = os.Stdout
93+
cmdCon.Stderr = os.Stderr
94+
95+
err := cmdCon.Run()
96+
if err != nil {
97+
log.Fatalf("cmd.Run() failed with %s\n", err)
98+
}
99+
}
100+
81101
func createDir(dir string, basePackage string) {
82102
if dir != "." {
83103
if _, err := os.Stat(dir); os.IsNotExist(err) {
@@ -125,6 +145,10 @@ func unzip(src string, dest string, basePackage string, name string) ([]string,
125145

126146
// Store filename/path for returning and using later on
127147

148+
groupId := basePackage
149+
packageName := strings.ReplaceAll(basePackage, ".", "/") + "/" + name
150+
packageNameWithDots := basePackage + "." + name
151+
128152
fpath := filepath.Join(dest, strings.TrimPrefix(f.Name, "severell-framework-master/"))
129153
fmt.Println(fpath)
130154
// Check for ZipSlip. More Info: http://bit.ly/2MsjAWE
@@ -137,7 +161,7 @@ func unzip(src string, dest string, basePackage string, name string) ([]string,
137161
}
138162

139163
if strings.HasPrefix(fpath, replaceDest + "src/main/java") || strings.HasPrefix(fpath, replaceDest + "src/test/java") {
140-
fpath = strings.Replace(fpath, replaceDest + "src/main/java", replaceDest + "src/main/java/" + strings.ReplaceAll(basePackage, ".", "/"), 1)
164+
fpath = strings.Replace(fpath, replaceDest + "src/main/java", replaceDest + "src/main/java/" + packageName , 1)
141165
}
142166

143167
filenames = append(filenames, fpath)
@@ -171,7 +195,7 @@ func unzip(src string, dest string, basePackage string, name string) ([]string,
171195
if err != nil {
172196
fmt.Println(err)
173197
}
174-
err = tmpl.Execute(outFile, &foo{Package: strings.ReplaceAll(basePackage, string('\n'), ""), AppName: name})
198+
err = tmpl.Execute(outFile, &foo{GroupId: groupId, BasePackage: packageNameWithDots, Package: strings.ReplaceAll(packageNameWithDots, string('\n'), ""), AppName: name})
175199
if err != nil {
176200
fmt.Println(err)
177201
}

cmd/loadcommands.go

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,26 @@ var load = &cobra.Command{
1717
Long: `Load Commands From Project`,
1818
Run: func(cmd *cobra.Command, args []string) {
1919

20-
cmdCon := exec.Command("mvn","-q", "compile", "exec:java", `-Dexec.mainClass=` + config.Package + `.commands.Commander`, `-Dexec.args=load`)
20+
loadCommands(nil, nil)
21+
},
22+
}
2123

22-
cmdCon.Stdout = os.Stdout
23-
cmdCon.Stderr = os.Stderr
24+
func loadCommands(dir *string, packageName *string) {
25+
if packageName == nil {
26+
packageName = &config.Package
27+
}
2428

25-
err := cmdCon.Run()
26-
if err != nil {
27-
log.Fatalf("cmd.Run() failed with %s\n", err)
28-
}
29-
},
29+
cmdCon := exec.Command("mvn","-q", "compile", "exec:java", `-Dexec.mainClass=` + *packageName + `.commands.Commander`, `-Dexec.args=load`)
30+
31+
if dir != nil {
32+
cmdCon.Dir = *dir
33+
}
34+
35+
cmdCon.Stdout = os.Stdout
36+
cmdCon.Stderr = os.Stderr
37+
38+
err := cmdCon.Run()
39+
if err != nil {
40+
log.Fatalf("cmd.Run() failed with %s\n", err)
41+
}
3042
}

0 commit comments

Comments
 (0)