mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-08-08 04:06:31 +08:00
106 lines
1.9 KiB
Go
106 lines
1.9 KiB
Go
//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()
|
|
}
|