hertz_scaffold/cmd/create.go
2024-08-09 14:57:41 +08:00

45 lines
894 B
Go

package cmd
import (
"fmt"
"github.com/spf13/cobra"
"log"
"os"
)
var createCmd = &cobra.Command{
Use: "create",
Short: "创建一个新项目",
Long: `通过hertz_demo为模板创建一个新项目`,
Run: func(cmd *cobra.Command, args []string) {
handleCreateCommand(args)
},
}
func handleCreateCommand(args []string) {
if projectExists(project) {
log.Printf("Project %s already exists, use update", project)
os.Exit(1)
}
err := handleRemoteTemplate(template, branch, project)
if err != nil {
log.Printf("Error creating project: %s\n", err)
os.Exit(1)
}
fmt.Printf("Project %s created successfully!\n", project)
return
}
func init() {
initFlags(createCmd)
}
// projectExists 检查项目路径是否已经存在
func projectExists(projectPath string) bool {
info, err := os.Stat(projectPath)
if os.IsNotExist(err) {
return false
}
return info.IsDir()
}