yt-gen-app/lib/exec-commands.go

75 lines
1.5 KiB
Go

package lib
import (
"log"
"os/exec"
"path/filepath"
"strings"
)
func execCommands() {
if AppConfig.OutdirBackend != "" {
cmd := exec.Command("go", "mod", "init", Project.Name)
cmd.Dir = filepath.Join(AppConfig.OutdirBackend)
cmd.Output()
if cmd.Err != nil {
log.Fatal(cmd.Err)
}
if buff, err := content.ReadFile("tmpl/backend/go-list-module.txt"); err != nil {
log.Fatal(err)
} else {
strs := strings.Split(string(buff), "\n")
if Project.DB.SQLite {
strs = append(strs, "gorm.io/driver/sqlite")
}
if len(strs) > 0 {
for _, str := range strs {
cmd := exec.Command("go", "get", str)
cmd.Dir = filepath.Join(AppConfig.OutdirBackend)
cmd.Output()
if cmd.Err != nil {
log.Fatal(cmd.Err)
}
}
}
}
cmd = exec.Command("go", "install", "github.com/swaggo/swag/cmd/swag@latest")
cmd.Dir = filepath.Join(AppConfig.OutdirBackend)
cmd.Output()
if cmd.Err != nil {
log.Fatal(cmd.Err)
}
cmd = exec.Command("swag", "init")
cmd.Dir = filepath.Join(AppConfig.OutdirBackend)
cmd.Output()
if cmd.Err != nil {
log.Fatal(cmd.Err)
}
}
if AppConfig.OutdirFrontend != "" {
if AppConfig.OutdirBackend != "" {
cmd := exec.Command("java",
"-jar",
"swagger-codegen-cli-2.4.32.jar",
"generate", "-i",
"docs/swagger.json",
"-l",
"typescript-angular",
"-o",
"../frontend/src/app/module/api",
"-c",
"options.json")
cmd.Dir = filepath.Join(AppConfig.OutdirFrontend)
cmd.Output()
if cmd.Err != nil {
log.Fatal(cmd.Err)
}
}
}
}