复制项目
This commit is contained in:
105
magefile.go
Normal file
105
magefile.go
Normal file
@@ -0,0 +1,105 @@
|
||||
//go:build mage
|
||||
// +build mage
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
|
||||
"github.com/openimsdk/gomake/mageutil"
|
||||
)
|
||||
|
||||
var Default = Build
|
||||
|
||||
var Aliases = map[string]any{
|
||||
"buildcc": BuildWithCustomConfig,
|
||||
"startcc": StartWithCustomConfig,
|
||||
}
|
||||
|
||||
var (
|
||||
customRootDir = "." // workDir in mage, default is "./"(project root directory)
|
||||
customSrcDir = "cmd" // source code directory, default is "cmd"
|
||||
customOutputDir = "_output" // output directory, default is "_output"
|
||||
customConfigDir = "config" // configuration directory, default is "config"
|
||||
customToolsDir = "tools" // tools source code directory, default is "tools"
|
||||
)
|
||||
|
||||
|
||||
// Build support specifical binary build.
|
||||
//
|
||||
// Example: `mage build openim-api openim-rpc-user seq`
|
||||
func Build() {
|
||||
flag.Parse()
|
||||
bin := flag.Args()
|
||||
if len(bin) != 0 {
|
||||
bin = bin[1:]
|
||||
}
|
||||
|
||||
mageutil.Build(bin, nil)
|
||||
}
|
||||
|
||||
func BuildWithCustomConfig() {
|
||||
flag.Parse()
|
||||
bin := flag.Args()
|
||||
if len(bin) != 0 {
|
||||
bin = bin[1:]
|
||||
}
|
||||
|
||||
config := &mageutil.PathOptions{
|
||||
RootDir: &customRootDir,
|
||||
OutputDir: &customOutputDir,
|
||||
SrcDir: &customSrcDir,
|
||||
ToolsDir: &customToolsDir,
|
||||
}
|
||||
|
||||
mageutil.Build(bin, config)
|
||||
}
|
||||
|
||||
func Start() {
|
||||
mageutil.InitForSSC()
|
||||
err := setMaxOpenFiles()
|
||||
if err != nil {
|
||||
mageutil.PrintRed("setMaxOpenFiles failed " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
flag.Parse()
|
||||
bin := flag.Args()
|
||||
if len(bin) != 0 {
|
||||
bin = bin[1:]
|
||||
}
|
||||
|
||||
mageutil.StartToolsAndServices(bin, nil)
|
||||
}
|
||||
|
||||
func StartWithCustomConfig() {
|
||||
mageutil.InitForSSC()
|
||||
err := setMaxOpenFiles()
|
||||
if err != nil {
|
||||
mageutil.PrintRed("setMaxOpenFiles failed " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
flag.Parse()
|
||||
bin := flag.Args()
|
||||
if len(bin) != 0 {
|
||||
bin = bin[1:]
|
||||
}
|
||||
|
||||
config := &mageutil.PathOptions{
|
||||
RootDir: &customRootDir,
|
||||
OutputDir: &customOutputDir,
|
||||
ConfigDir: &customConfigDir,
|
||||
}
|
||||
|
||||
mageutil.StartToolsAndServices(bin, config)
|
||||
}
|
||||
|
||||
func Stop() {
|
||||
mageutil.StopAndCheckBinaries()
|
||||
}
|
||||
|
||||
func Check() {
|
||||
mageutil.CheckAndReportBinariesStatus()
|
||||
}
|
||||
Reference in New Issue
Block a user