chore: Update engine.Load calls with additional options
This commit is contained in:
parent
5a719b6469
commit
9faf8f802f
16 changed files with 39 additions and 28 deletions
|
|
@ -57,7 +57,7 @@ var dumpCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
// Load model
|
||||
err = engine.Load(config.Conf)
|
||||
err = engine.Load(config.Conf, engine.LoadOption{Action: "dump"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||
os.Exit(1)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ var migrateCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
// 加载数据模型
|
||||
err := engine.Load(config.Conf)
|
||||
err := engine.Load(config.Conf, engine.LoadOption{Action: "migrate"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||
os.Exit(1)
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ var restoreCmd = &cobra.Command{
|
|||
})
|
||||
|
||||
// 加载数据模型
|
||||
err = engine.Load(config.Conf)
|
||||
err = engine.Load(config.Conf, engine.LoadOption{Action: "restore"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||
os.Exit(1)
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ var runCmd = &cobra.Command{
|
|||
return
|
||||
}
|
||||
|
||||
err := engine.Load(cfg)
|
||||
err := engine.Load(cfg, engine.LoadOption{Action: "run"})
|
||||
if err != nil {
|
||||
if !runSilent {
|
||||
color.Red(L("Engine: %s\n"), err.Error())
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ var socketCmd = &cobra.Command{
|
|||
Boot()
|
||||
cfg := config.Conf
|
||||
cfg.Session.IsCLI = true
|
||||
engine.Load(cfg)
|
||||
engine.Load(cfg, engine.LoadOption{Action: "socket"})
|
||||
if len(args) < 1 {
|
||||
fmt.Println(color.RedString(L("Not enough arguments")))
|
||||
fmt.Println(color.WhiteString(share.BUILDNAME + " help"))
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ var startCmd = &cobra.Command{
|
|||
}
|
||||
|
||||
// load the application engine
|
||||
err := engine.Load(config.Conf)
|
||||
err := engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString(L("Load: %s"), err.Error()))
|
||||
os.Exit(1)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ var RunCmd = &cobra.Command{
|
|||
return
|
||||
}
|
||||
|
||||
err := engine.Load(cfg)
|
||||
err := engine.Load(cfg, engine.LoadOption{Action: "studio.run"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ var BuildCmd = &cobra.Command{
|
|||
Boot()
|
||||
|
||||
cfg := config.Conf
|
||||
err := engine.Load(cfg)
|
||||
err := engine.Load(cfg, engine.LoadOption{Action: "sui.build"})
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||
return
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ var WatchCmd = &cobra.Command{
|
|||
Boot()
|
||||
|
||||
cfg := config.Conf
|
||||
err := engine.Load(cfg)
|
||||
err := engine.Load(cfg, engine.LoadOption{Action: "sui.watch"})
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||
return
|
||||
|
|
|
|||
|
|
@ -39,8 +39,15 @@ import (
|
|||
"github.com/yaoapp/yao/widgets"
|
||||
)
|
||||
|
||||
// LoadOption the load option
|
||||
type LoadOption struct {
|
||||
Action string `json:"action"`
|
||||
IgnoredAfterLoad bool `json:"ignoredAfterLoad"`
|
||||
IsReload bool `json:"reload"`
|
||||
}
|
||||
|
||||
// Load application engine
|
||||
func Load(cfg config.Config) (err error) {
|
||||
func Load(cfg config.Config, options LoadOption) (err error) {
|
||||
|
||||
defer func() { err = exception.Catch(recover()) }()
|
||||
exception.Mode = cfg.Mode
|
||||
|
|
@ -219,8 +226,8 @@ func Load(cfg config.Config) (err error) {
|
|||
}
|
||||
|
||||
// Execute AfterLoad Process if exists
|
||||
if share.App.AfterLoad != "" {
|
||||
p, err := process.Of(share.App.AfterLoad, false)
|
||||
if share.App.AfterLoad != "" && !options.IgnoredAfterLoad {
|
||||
p, err := process.Of(share.App.AfterLoad, options)
|
||||
if err != nil {
|
||||
printErr(cfg.Mode, "AfterLoad", err)
|
||||
return err
|
||||
|
|
@ -275,7 +282,7 @@ func Unload() (err error) {
|
|||
}
|
||||
|
||||
// Reload the application engine
|
||||
func Reload(cfg config.Config) (err error) {
|
||||
func Reload(cfg config.Config, options LoadOption) (err error) {
|
||||
|
||||
defer func() { err = exception.Catch(recover()) }()
|
||||
exception.Mode = cfg.Mode
|
||||
|
|
@ -412,8 +419,9 @@ func Reload(cfg config.Config) (err error) {
|
|||
}
|
||||
|
||||
// Execute AfterLoad Process if exists
|
||||
if share.App.AfterLoad != "" {
|
||||
p, err := process.Of(share.App.AfterLoad, true)
|
||||
if share.App.AfterLoad != "" && !options.IgnoredAfterLoad {
|
||||
options.IsReload = true
|
||||
p, err := process.Of(share.App.AfterLoad, options)
|
||||
if err != nil {
|
||||
printErr(cfg.Mode, "AfterLoad", err)
|
||||
return err
|
||||
|
|
@ -430,12 +438,12 @@ func Reload(cfg config.Config) (err error) {
|
|||
}
|
||||
|
||||
// Restart the application engine
|
||||
func Restart(cfg config.Config) error {
|
||||
func Restart(cfg config.Config, options LoadOption) error {
|
||||
err := Unload()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return Load(cfg)
|
||||
return Load(cfg, options)
|
||||
}
|
||||
|
||||
// loadApp load the application from bindata / pkg / disk
|
||||
|
|
|
|||
|
|
@ -13,17 +13,17 @@ import (
|
|||
|
||||
func TestLoad(t *testing.T) {
|
||||
defer Unload()
|
||||
err := Load(config.Conf)
|
||||
err := Load(config.Conf, LoadOption{})
|
||||
assert.Nil(t, err)
|
||||
assert.Greater(t, len(api.APIs), 0)
|
||||
}
|
||||
|
||||
func TestReload(t *testing.T) {
|
||||
defer Unload()
|
||||
err := Load(config.Conf)
|
||||
err := Load(config.Conf, LoadOption{})
|
||||
assert.Nil(t, err)
|
||||
|
||||
Reload(config.Conf)
|
||||
Reload(config.Conf, LoadOption{})
|
||||
assert.Nil(t, err)
|
||||
assert.Greater(t, len(api.APIs), 0)
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ func TestLoadYaz(t *testing.T) {
|
|||
|
||||
cfg := config.Conf
|
||||
cfg.AppSource = file
|
||||
err = Load(cfg)
|
||||
err = Load(cfg, LoadOption{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
@ -62,13 +62,13 @@ func TestReoadYaz(t *testing.T) {
|
|||
|
||||
cfg := config.Conf
|
||||
cfg.AppSource = file
|
||||
err = Load(cfg)
|
||||
err = Load(cfg, LoadOption{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
assert.Greater(t, len(api.APIs), 0)
|
||||
|
||||
Reload(cfg)
|
||||
Reload(cfg, LoadOption{})
|
||||
assert.Nil(t, err)
|
||||
assert.Greater(t, len(api.APIs), 0)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ func TestStartStop(t *testing.T) {
|
|||
|
||||
cfg := config.Conf
|
||||
cfg.Port = 0
|
||||
err := engine.Load(cfg)
|
||||
err := engine.Load(cfg, engine.LoadOption{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ func Watch(srv *http.Server, interrupt chan uint8) (err error) {
|
|||
}
|
||||
|
||||
// Reload
|
||||
err = engine.Reload(config.Conf)
|
||||
err = engine.Reload(config.Conf, engine.LoadOption{Action: "watch"})
|
||||
if err != nil {
|
||||
fmt.Println(color.RedString("[Watch] Reload: %s", err.Error()))
|
||||
return
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import (
|
|||
)
|
||||
|
||||
func TestWatch(t *testing.T) {
|
||||
err := engine.Load(config.Conf)
|
||||
err := engine.Load(config.Conf, engine.LoadOption{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ func runSetup(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
err = engine.Load(cfg)
|
||||
err = engine.Load(cfg, engine.LoadOption{})
|
||||
if err != nil {
|
||||
c.JSON(500, gin.H{"code": 500, "message": err.Error()})
|
||||
return
|
||||
|
|
|
|||
|
|
@ -109,7 +109,10 @@ func Install(payload map[string]map[string]string) error {
|
|||
}
|
||||
|
||||
// Load engine
|
||||
err = engine.Load(cfg)
|
||||
err = engine.Load(cfg, engine.LoadOption{
|
||||
Action: "install",
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue