1 Star 10 Fork 1

kelvins-io/kelvins-tools

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
kind_common.go 3.63 KB
一键复制 编辑 原始数据 按行查看 历史
雨化田 提交于 2021-09-12 12:08 +08:00 . 支持cron,queue模板生成
package main
import (
"io/ioutil"
"os"
"strings"
)
var (
projectReplacer *strings.Replacer
projectProtoReplacer *strings.Replacer
versionReplacer *strings.Replacer
)
type commonKind struct{}
func (c *commonKind) Kind() string {
return "common"
}
func (c *commonKind) Gen(rootDir string) error {
// model
{
argsDir := rootDir + "/model/args"
err := os.MkdirAll(argsDir, 0775)
if err != nil {
return err
}
argsConst := projectReplacer.Replace(templateModelArgsConst)
err = ioutil.WriteFile(argsDir+"/const.go", []byte(argsConst), 0666)
if err != nil {
return err
}
mysqlDir := rootDir + "/model/mysql"
err = os.MkdirAll(mysqlDir, 0775)
if err != nil {
return err
}
mysqlTable := projectReplacer.Replace(templateModelMysqlTable)
err = ioutil.WriteFile(mysqlDir+"/table.go", []byte(mysqlTable), 0666)
if err != nil {
return err
}
}
// pkg util
{
codeDir := rootDir + "/code"
err := os.MkdirAll(codeDir, 0775)
if err != nil {
return err
}
serviceCode := codeDir + "/code.go"
err = ioutil.WriteFile(serviceCode, []byte(templatePkgCode), 0666)
if err != nil {
return err
}
utilDir := rootDir + "/util"
err = os.MkdirAll(utilDir, 0775)
if err != nil {
return err
}
emailDir := utilDir + "/email"
err = os.MkdirAll(emailDir, 0775)
if err != nil {
return err
}
err = ioutil.WriteFile(emailDir+"/email.go", []byte(templatePkgUtilEmail), 0666)
if err != nil {
return err
}
emailHelperData := projectReplacer.Replace(templatePkgUtilEmailHelper)
err = ioutil.WriteFile(emailDir+"/email_helper.go", []byte(emailHelperData), 0666)
if err != nil {
return err
}
err = ioutil.WriteFile(utilDir+"/client.go", []byte(templatePkgUtilClient), 0666)
if err != nil {
return err
}
}
// startup
{
startupDir := rootDir + "/startup"
err := os.MkdirAll(startupDir, 0775)
if err != nil {
return err
}
err = ioutil.WriteFile(startupDir+"/vars.go", []byte(templateStartupVars), 0666)
if err != nil {
return err
}
}
// script
{
buildData := projectReplacer.Replace(templateBuildShell)
err := ioutil.WriteFile(rootDir+"/build.sh", []byte(buildData), 0666)
if err != nil {
return err
}
buildRunData := projectReplacer.Replace(templateBuildRunShell)
err = ioutil.WriteFile(rootDir+"/build-run.sh", []byte(buildRunData), 0666)
if err != nil {
return err
}
cleanBinData := projectReplacer.Replace(templateCleanBinShell)
err = ioutil.WriteFile(rootDir+"/clean.sh", []byte(cleanBinData), 0666)
if err != nil {
return err
}
err = ioutil.WriteFile(rootDir+"/clean-logs.sh", []byte(templateCleanLogsShell), 0666)
if err != nil {
return err
}
dockerData := projectReplacer.Replace(templateDockerFile)
err = ioutil.WriteFile(rootDir+"/Dockerfile", []byte(dockerData), 0666)
if err != nil {
return err
}
err = ioutil.WriteFile(rootDir+"/genpb.py", []byte(templateGenPbPy), 0666)
if err != nil {
return err
}
xormReData := projectReplacer.Replace(templateXormReveRseYaml)
err = ioutil.WriteFile(rootDir+"/xorm-db.yaml", []byte(xormReData), 0666)
if err != nil {
return err
}
restartShellData := projectReplacer.Replace(templateRestartShell)
err = ioutil.WriteFile(rootDir+"/restart.sh", []byte(restartShellData), 0666)
if err != nil {
return err
}
startShellData := projectReplacer.Replace(templateStartShell)
err = ioutil.WriteFile(rootDir+"/start.sh", []byte(startShellData), 0666)
if err != nil {
return err
}
stopShellData := projectReplacer.Replace(templateStopShell)
err = ioutil.WriteFile(rootDir+"/stop.sh", []byte(stopShellData), 0666)
if err != nil {
return err
}
}
return nil
}
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

搜索帮助