1 Star 10 Fork 1

kelvins-io/kelvins-tools

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.go 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
雨化田 提交于 2021-09-17 17:15 +08:00 . 生成http模板,其它修复
package main
import (
"flag"
"fmt"
"os"
"strings"
)
var (
projectNamespace = flag.String("np", "", "仓库的完整命名空间 比如: github.com/namespace")
projectRepo = flag.String("repo", "kelvins-template", "仓库的名字 比如:kelvins-template")
projectKind = flag.String("kind", "", "应用的类型 比如: rpc,cron,http,queue,proto")
)
func main() {
flag.Parse()
if *projectNamespace == "" {
fmt.Fprintln(os.Stderr, "仓库的完整命名空间 比如: github.com/namespace")
return
}
if *projectRepo == "" {
fmt.Fprintln(os.Stderr, "仓库的名字 比如:kelvins-template")
return
}
if *projectKind == "" {
fmt.Fprintln(os.Stderr, "应用的类型 比如: rpc,cron,http,queue,proto")
return
}
var err error
var rootDir string
rootDir, err = os.Getwd()
if err != nil {
fmt.Fprintln(os.Stderr, "获取当前目录错误", err)
return
}
// replacer init
projectReplacer = strings.NewReplacer(signProjectNp, *projectNamespace, signProjectName, *projectRepo)
projectProto := strings.ReplaceAll(*projectRepo, "-", "_")
projectProtoReplacer = strings.NewReplacer(signProjectNameProto, projectProto)
versionReplacer = strings.NewReplacer("{version_common}", VersionCommon, "{version_kelvins}", VersionKelvins)
// gen template by kind
switch *projectKind {
case "rpc":
rpcKind := new(gRPCKind)
err = rpcKind.Gen(rootDir)
case "proto":
protoKind := new(protoKind)
err = protoKind.Gen(rootDir)
case "cron":
projectReplacer = strings.NewReplacer(signProjectNp, *projectNamespace, signProjectName, *projectRepo+"-cron")
cronKind := new(cronKind)
err = cronKind.Gen(rootDir)
case "queue":
projectReplacer = strings.NewReplacer(signProjectNp, *projectNamespace, signProjectName, *projectRepo+"-consumer")
queueKind := new(queueKind)
err = queueKind.Gen(rootDir)
case "http", "gin":
httpKind := new(ginKind)
err = httpKind.Gen(rootDir)
default:
err = fmt.Errorf("应用模板还在路上")
}
if err != nil {
fmt.Fprintln(os.Stderr, err)
if err != nil {
return
}
return
}
fmt.Fprintf(os.Stdout, "仓库:%v 类型:%v %v\n", *projectRepo, *projectKind, " 模板创建完成")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/kelvins-io/kelvins-tools.git
git@gitee.com:kelvins-io/kelvins-tools.git
kelvins-io
kelvins-tools
kelvins-tools
v1.2.0

搜索帮助