fix: Enhance loading functions to handle non-existent directories
- Added checks in various loading functions to ignore processing if the respective directories do not exist, improving error handling and preventing unnecessary operations. - Updated the Load function signature to return warnings alongside errors, allowing for better feedback on loading issues across different components.
This commit is contained in:
parent
15f3f0adf8
commit
fabced291c
31 changed files with 357 additions and 69 deletions
12
aigc/load.go
12
aigc/load.go
|
|
@ -11,9 +11,19 @@ import (
|
||||||
|
|
||||||
// Load load AIGC
|
// Load load AIGC
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the aigcs directory does not exist
|
||||||
|
exists, err := application.App.Exists("aigcs")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.ai.yml", "*.ai.yaml"}
|
exts := []string{"*.ai.yml", "*.ai.yaml"}
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
err := application.App.Walk("aigcs", func(root, file string, isdir bool) error {
|
err = application.App.Walk("aigcs", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
api/api.go
11
api/api.go
|
|
@ -14,8 +14,17 @@ import (
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
|
|
||||||
|
// Ignore if the apis directory does not exist
|
||||||
|
exists, err := application.App.Exists("apis")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.http.yao", "*.http.json", "*.http.jsonc"}
|
exts := []string{"*.http.yao", "*.http.json", "*.http.jsonc"}
|
||||||
err := application.App.Walk("apis", func(root, file string, isdir bool) error {
|
err = application.App.Walk("apis", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
cert/cert.go
11
cert/cert.go
|
|
@ -11,6 +11,17 @@ import (
|
||||||
|
|
||||||
// Load 加载API
|
// Load 加载API
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the certs directory does not exist
|
||||||
|
exists, err := application.App.Exists("certs")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.pem", "*.key", "*.pub"}
|
exts := []string{"*.pem", "*.key", "*.pub"}
|
||||||
return application.App.Walk("certs", func(root, file string, isdir bool) error {
|
return application.App.Walk("certs", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
|
|
|
||||||
|
|
@ -57,12 +57,18 @@ var dumpCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load model
|
// Load model
|
||||||
err = engine.Load(config.Conf, engine.LoadOption{Action: "dump"})
|
loadWarnings, err := engine.Load(config.Conf, engine.LoadOption{Action: "dump"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if dumpModel != "" {
|
if dumpModel != "" {
|
||||||
fmt.Println(color.YellowString(L("Not supported yet")))
|
fmt.Println(color.YellowString(L("Not supported yet")))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
|
||||||
|
|
@ -37,12 +37,18 @@ var migrateCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载数据模型
|
// 加载数据模型
|
||||||
err := engine.Load(config.Conf, engine.LoadOption{Action: "migrate"})
|
loadWarnings, err := engine.Load(config.Conf, engine.LoadOption{Action: "migrate"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if name != "" {
|
if name != "" {
|
||||||
mod, has := model.Models[name]
|
mod, has := model.Models[name]
|
||||||
if !has {
|
if !has {
|
||||||
|
|
|
||||||
|
|
@ -60,12 +60,18 @@ var restoreCmd = &cobra.Command{
|
||||||
})
|
})
|
||||||
|
|
||||||
// 加载数据模型
|
// 加载数据模型
|
||||||
err = engine.Load(config.Conf, engine.LoadOption{Action: "restore"})
|
loadWarnings, err := engine.Load(config.Conf, engine.LoadOption{Action: "restore"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Fatal: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Restore models
|
// Restore models
|
||||||
restoreModels(filepath.Join(dst, "model"), []model.MigrateOption{
|
restoreModels(filepath.Join(dst, "model"), []model.MigrateOption{
|
||||||
model.WithDonotInsertValues(migrateNoInsert),
|
model.WithDonotInsertValues(migrateNoInsert),
|
||||||
|
|
|
||||||
13
cmd/run.go
13
cmd/run.go
|
|
@ -57,7 +57,7 @@ var runCmd = &cobra.Command{
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := engine.Load(cfg, engine.LoadOption{Action: "run"})
|
loadWarnings, err := engine.Load(cfg, engine.LoadOption{Action: "run"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !runSilent {
|
if !runSilent {
|
||||||
color.Red(L("Engine: %s\n"), err.Error())
|
color.Red(L("Engine: %s\n"), err.Error())
|
||||||
|
|
@ -130,6 +130,17 @@ var runCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
if !runSilent {
|
if !runSilent {
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
fmt.Println(color.YellowString("---------------------------------"))
|
||||||
|
fmt.Println(color.YellowString(L("Warnings")))
|
||||||
|
fmt.Println(color.YellowString("---------------------------------"))
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
fmt.Printf("\n")
|
||||||
|
}
|
||||||
|
|
||||||
color.White("--------------------------------------\n")
|
color.White("--------------------------------------\n")
|
||||||
color.White(L("%s Response\n"), name)
|
color.White(L("%s Response\n"), name)
|
||||||
color.White("--------------------------------------\n")
|
color.White("--------------------------------------\n")
|
||||||
|
|
|
||||||
23
cmd/start.go
23
cmd/start.go
|
|
@ -77,7 +77,7 @@ var startCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
// load the application engine
|
// load the application engine
|
||||||
err := engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
loadWarnings, err := engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Load: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Load: %s"), err.Error()))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|
@ -232,6 +232,17 @@ var startCmd = &cobra.Command{
|
||||||
printStores(true)
|
printStores(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print the warnings
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
fmt.Println(color.YellowString("---------------------------------"))
|
||||||
|
fmt.Println(color.YellowString(L("Warnings")))
|
||||||
|
fmt.Println(color.YellowString("---------------------------------"))
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
fmt.Printf("\n")
|
||||||
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case v := <-srv.Event():
|
case v := <-srv.Event():
|
||||||
|
|
@ -275,11 +286,19 @@ func install() error {
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
// load the application engine
|
// load the application engine
|
||||||
err = engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
loadWarnings, err := engine.Load(config.Conf, engine.LoadOption{Action: "start"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print the warnings
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
fmt.Printf("\n\n")
|
||||||
|
}
|
||||||
|
|
||||||
err = setup.Initialize(config.Conf.Root, config.Conf)
|
err = setup.Initialize(config.Conf.Root, config.Conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,11 @@ import (
|
||||||
"github.com/yaoapp/yao/studio"
|
"github.com/yaoapp/yao/studio"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// *********************************************************************************
|
||||||
|
// !! Yao Studio Command has been deprecated.
|
||||||
|
// !! Do not use this command in your project.
|
||||||
|
// *********************************************************************************
|
||||||
|
|
||||||
// RunCmd command
|
// RunCmd command
|
||||||
var RunCmd = &cobra.Command{
|
var RunCmd = &cobra.Command{
|
||||||
Use: "run",
|
Use: "run",
|
||||||
|
|
@ -43,7 +48,7 @@ var RunCmd = &cobra.Command{
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := engine.Load(cfg, engine.LoadOption{Action: "studio.run"})
|
_, err := engine.Load(cfg, engine.LoadOption{Action: "studio.run"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
|
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ var BuildCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
err := engine.Load(cfg, engine.LoadOption{Action: "sui.build"})
|
loadWarnings, err := engine.Load(cfg, engine.LoadOption{Action: "sui.build"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
@ -99,6 +99,13 @@ var BuildCmd = &cobra.Command{
|
||||||
fmt.Println(color.YellowString("Build succeeded for %s in %s", mode, timecost))
|
fmt.Println(color.YellowString("Build succeeded for %s in %s", mode, timecost))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if len(warnings) > 0 {
|
if len(warnings) > 0 {
|
||||||
for _, warning := range warnings {
|
for _, warning := range warnings {
|
||||||
fmt.Println(color.YellowString("Warning: %s", warning))
|
fmt.Println(color.YellowString("Warning: %s", warning))
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ var TransCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
err := engine.Load(cfg, engine.LoadOption{Action: "sui.trans"})
|
loadWarnings, err := engine.Load(cfg, engine.LoadOption{Action: "sui.trans"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
@ -135,6 +135,13 @@ var TransCmd = &cobra.Command{
|
||||||
fmt.Println(color.YellowString("Translate succeeded for %s in %s", mode, timecost))
|
fmt.Println(color.YellowString("Translate succeeded for %s in %s", mode, timecost))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if len(warnings) > 0 {
|
if len(warnings) > 0 {
|
||||||
for _, warning := range warnings {
|
for _, warning := range warnings {
|
||||||
fmt.Println(color.YellowString("Warning: %s", warning))
|
fmt.Println(color.YellowString("Warning: %s", warning))
|
||||||
|
|
|
||||||
|
|
@ -39,12 +39,18 @@ var WatchCmd = &cobra.Command{
|
||||||
Boot()
|
Boot()
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
err := engine.Load(cfg, engine.LoadOption{Action: "sui.watch"})
|
loadWarnings, err := engine.Load(cfg, engine.LoadOption{Action: "sui.watch"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
fmt.Fprintln(os.Stderr, color.RedString(err.Error()))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(loadWarnings) > 0 {
|
||||||
|
for _, warning := range loadWarnings {
|
||||||
|
fmt.Println(color.YellowString("[%s] %s", warning.Widget, warning.Error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
id := args[0]
|
id := args[0]
|
||||||
template := args[1]
|
template := args[1]
|
||||||
|
|
||||||
|
|
|
||||||
129
engine/load.go
129
engine/load.go
|
|
@ -19,7 +19,6 @@ import (
|
||||||
"github.com/yaoapp/yao/flow"
|
"github.com/yaoapp/yao/flow"
|
||||||
"github.com/yaoapp/yao/fs"
|
"github.com/yaoapp/yao/fs"
|
||||||
"github.com/yaoapp/yao/i18n"
|
"github.com/yaoapp/yao/i18n"
|
||||||
"github.com/yaoapp/yao/importer"
|
|
||||||
"github.com/yaoapp/yao/moapi"
|
"github.com/yaoapp/yao/moapi"
|
||||||
"github.com/yaoapp/yao/model"
|
"github.com/yaoapp/yao/model"
|
||||||
"github.com/yaoapp/yao/neo"
|
"github.com/yaoapp/yao/neo"
|
||||||
|
|
@ -60,8 +59,14 @@ type LoadOption struct {
|
||||||
IsReload bool `json:"reload"`
|
IsReload bool `json:"reload"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning the warning
|
||||||
|
type Warning struct {
|
||||||
|
Widget string
|
||||||
|
Error error
|
||||||
|
}
|
||||||
|
|
||||||
// Load application engine
|
// Load application engine
|
||||||
func Load(cfg config.Config, options LoadOption) (err error) {
|
func Load(cfg config.Config, options LoadOption) (warnings []Warning, err error) {
|
||||||
|
|
||||||
defer func() { err = exception.Catch(recover()) }()
|
defer func() { err = exception.Catch(recover()) }()
|
||||||
exception.Mode = cfg.Mode
|
exception.Mode = cfg.Mode
|
||||||
|
|
@ -79,78 +84,91 @@ func Load(cfg config.Config, options LoadOption) (err error) {
|
||||||
err = loadApp(cfg.AppSource)
|
err = loadApp(cfg.AppSource)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Load Application", err)
|
printErr(cfg.Mode, "Load Application", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Load Application", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make Database connections
|
// Make Database connections
|
||||||
err = share.DBConnect(cfg.DB)
|
err = share.DBConnect(cfg.DB)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "DB", err)
|
// printErr(cfg.Mode, "DB", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "DB", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Certs
|
// Load Certs
|
||||||
err = cert.Load(cfg)
|
err = cert.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Cert", err)
|
// printErr(cfg.Mode, "Cert", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Cert", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Connectors
|
// Load Connectors
|
||||||
err = connector.Load(cfg)
|
err = connector.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Connector", err)
|
// printErr(cfg.Mode, "Connector", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Connector", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load FileSystem
|
// Load FileSystem
|
||||||
err = fs.Load(cfg)
|
err = fs.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "FileSystem", err)
|
// printErr(cfg.Mode, "FileSystem", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "FileSystem", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load i18n
|
// Load i18n
|
||||||
err = i18n.Load(cfg)
|
err = i18n.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "i18n", err)
|
// printErr(cfg.Mode, "i18n", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "i18n", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// start v8 runtime
|
// start v8 runtime
|
||||||
err = runtime.Start(cfg)
|
err = runtime.Start(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Runtime", err)
|
// printErr(cfg.Mode, "Runtime", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Runtime", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Query Engine
|
// Load Query Engine
|
||||||
err = query.Load(cfg)
|
err = query.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Query Engine", err)
|
// printErr(cfg.Mode, "Query Engine", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Query Engine", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Scripts
|
// Load Scripts
|
||||||
err = script.Load(cfg)
|
err = script.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Script", err)
|
// printErr(cfg.Mode, "Script", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Script", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Models
|
// Load Models
|
||||||
err = model.Load(cfg)
|
err = model.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Model", err)
|
// printErr(cfg.Mode, "Model", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Model", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Data flows
|
// Load Data flows
|
||||||
err = flow.Load(cfg)
|
err = flow.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Flow", err)
|
// printErr(cfg.Mode, "Flow", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Flow", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Stores
|
// Load Stores
|
||||||
err = store.Load(cfg)
|
err = store.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Store", err)
|
// printErr(cfg.Mode, "Store", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Store", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Plugins
|
// Load Plugins
|
||||||
err = plugin.Load(cfg)
|
err = plugin.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Plugin", err)
|
// printErr(cfg.Mode, "Plugin", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Plugin", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load WASM Application (experimental)
|
// Load WASM Application (experimental)
|
||||||
|
|
@ -158,91 +176,106 @@ func Load(cfg config.Config, options LoadOption) (err error) {
|
||||||
// Load build-in widgets (table / form / chart / ...)
|
// Load build-in widgets (table / form / chart / ...)
|
||||||
err = widgets.Load(cfg)
|
err = widgets.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Widgets", err)
|
// printErr(cfg.Mode, "Widgets", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Widgets", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Importers
|
// Load Importers
|
||||||
err = importer.Load(cfg)
|
// err = importer.Load(cfg)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
printErr(cfg.Mode, "Plugin", err)
|
// // printErr(cfg.Mode, "Plugin", err)
|
||||||
}
|
// warnings = append(warnings, Warning{Widget: "Plugin", Error: err})
|
||||||
|
// }
|
||||||
|
|
||||||
// Load Apis
|
// Load Apis
|
||||||
err = api.Load(cfg) // 加载业务接口 API
|
err = api.Load(cfg) // 加载业务接口 API
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "API", err)
|
// printErr(cfg.Mode, "API", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "API", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Sockets
|
// Load Sockets
|
||||||
err = socket.Load(cfg) // Load sockets
|
err = socket.Load(cfg) // Load sockets
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Socket", err)
|
// printErr(cfg.Mode, "Socket", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Socket", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load websockets (client mode)
|
// Load websockets (client mode)
|
||||||
err = websocket.Load(cfg)
|
err = websocket.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "WebSocket", err)
|
// printErr(cfg.Mode, "WebSocket", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "WebSocket", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load tasks
|
// Load tasks
|
||||||
err = task.Load(cfg)
|
err = task.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Task", err)
|
// printErr(cfg.Mode, "Task", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Task", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load schedules
|
// Load schedules
|
||||||
err = schedule.Load(cfg)
|
err = schedule.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Schedule", err)
|
// printErr(cfg.Mode, "Schedule", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Schedule", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load AIGC
|
// Load AIGC
|
||||||
err = aigc.Load(cfg)
|
err = aigc.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "AIGC", err)
|
// printErr(cfg.Mode, "AIGC", err)
|
||||||
}
|
warnings = append(warnings, Warning{Widget: "AIGC", Error: err})
|
||||||
|
|
||||||
// Load Neo
|
|
||||||
err = neo.Load(cfg)
|
|
||||||
if err != nil {
|
|
||||||
printErr(cfg.Mode, "Neo", err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Custom Widget
|
// Load Custom Widget
|
||||||
err = widget.Load(cfg)
|
err = widget.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Widget", err)
|
// printErr(cfg.Mode, "Widget", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Widget", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Custom Widget Instances
|
// Load Custom Widget Instances
|
||||||
err = widget.LoadInstances()
|
err = widget.LoadInstances()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Widget", err)
|
// printErr(cfg.Mode, "Widget", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Widget", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load SUI
|
// Load SUI
|
||||||
err = sui.Load(cfg)
|
err = sui.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "SUI", err)
|
// printErr(cfg.Mode, "SUI", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "SUI", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Moapi
|
// Load Moapi
|
||||||
err = moapi.Load(cfg)
|
err = moapi.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Moapi", err)
|
// printErr(cfg.Mode, "Moapi", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Moapi", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load Pipe
|
// Load Pipe
|
||||||
err = pipe.Load(cfg)
|
err = pipe.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "Pipe", err)
|
// printErr(cfg.Mode, "Pipe", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Pipe", Error: err})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load Neo
|
||||||
|
err = neo.Load(cfg)
|
||||||
|
if err != nil {
|
||||||
|
// printErr(cfg.Mode, "Neo", err)
|
||||||
|
warnings = append(warnings, Warning{Widget: "Neo", Error: err})
|
||||||
}
|
}
|
||||||
|
|
||||||
for name, hook := range LoadHooks {
|
for name, hook := range LoadHooks {
|
||||||
err = hook(cfg)
|
err = hook(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, name, err)
|
// printErr(cfg.Mode, name, err)
|
||||||
|
warnings = append(warnings, Warning{Widget: name, Error: err})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -251,17 +284,19 @@ func Load(cfg config.Config, options LoadOption) (err error) {
|
||||||
p, err := process.Of(share.App.AfterLoad, options)
|
p, err := process.Of(share.App.AfterLoad, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "AfterLoad", err)
|
printErr(cfg.Mode, "AfterLoad", err)
|
||||||
return err
|
warnings = append(warnings, Warning{Widget: "AfterLoad", Error: err})
|
||||||
|
return warnings, err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = p.Exec()
|
_, err = p.Exec()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
printErr(cfg.Mode, "AfterLoad", err)
|
printErr(cfg.Mode, "AfterLoad", err)
|
||||||
return err
|
warnings = append(warnings, Warning{Widget: "AfterLoad", Error: err})
|
||||||
|
return warnings, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return warnings, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unload application engine
|
// Unload application engine
|
||||||
|
|
@ -458,7 +493,19 @@ func Restart(cfg config.Config, options LoadOption) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return Load(cfg, options)
|
|
||||||
|
warnings, err := Load(cfg, options)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(warnings) > 0 {
|
||||||
|
for _, warning := range warnings {
|
||||||
|
printErr(cfg.Mode, warning.Widget, warning.Error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// loadApp load the application from bindata / pkg / disk
|
// loadApp load the application from bindata / pkg / disk
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@ import (
|
||||||
|
|
||||||
func TestLoad(t *testing.T) {
|
func TestLoad(t *testing.T) {
|
||||||
defer Unload()
|
defer Unload()
|
||||||
err := Load(config.Conf, LoadOption{})
|
_, err := Load(config.Conf, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Greater(t, len(api.APIs), 0)
|
assert.Greater(t, len(api.APIs), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReload(t *testing.T) {
|
func TestReload(t *testing.T) {
|
||||||
defer Unload()
|
defer Unload()
|
||||||
err := Load(config.Conf, LoadOption{})
|
_, err := Load(config.Conf, LoadOption{})
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
|
|
||||||
Reload(config.Conf, LoadOption{})
|
Reload(config.Conf, LoadOption{})
|
||||||
|
|
@ -41,7 +41,7 @@ func TestLoadYaz(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.AppSource = file
|
cfg.AppSource = file
|
||||||
err = Load(cfg, LoadOption{})
|
_, err = Load(cfg, LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -62,7 +62,7 @@ func TestReoadYaz(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.AppSource = file
|
cfg.AppSource = file
|
||||||
err = Load(cfg, LoadOption{})
|
_, err = Load(cfg, LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
10
flow/flow.go
10
flow/flow.go
|
|
@ -9,6 +9,16 @@ import (
|
||||||
|
|
||||||
// Load 加载业务逻辑编排
|
// Load 加载业务逻辑编排
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the flows directory does not exist
|
||||||
|
exists, err := application.App.Exists("flows")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.flow.yao", "*.flow.json", "*.flow.jsonc"}
|
exts := []string{"*.flow.yao", "*.flow.json", "*.flow.jsonc"}
|
||||||
return application.App.Walk("flows", func(root, file string, isdir bool) error {
|
return application.App.Walk("flows", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
|
|
|
||||||
10
i18n/i18n.go
10
i18n/i18n.go
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/yaoapp/gou/application"
|
||||||
"github.com/yaoapp/gou/lang"
|
"github.com/yaoapp/gou/lang"
|
||||||
"github.com/yaoapp/kun/log"
|
"github.com/yaoapp/kun/log"
|
||||||
"github.com/yaoapp/yao/config"
|
"github.com/yaoapp/yao/config"
|
||||||
|
|
@ -43,6 +44,15 @@ func Load(cfg config.Config) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ignore if the langs directory does not exist
|
||||||
|
exists, err := application.App.Exists("langs")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// Load langs
|
// Load langs
|
||||||
err = lang.Load("langs")
|
err = lang.Load("langs")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,11 @@ import (
|
||||||
"github.com/yaoapp/yao/share"
|
"github.com/yaoapp/yao/share"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// *********************************************************************************
|
||||||
|
// !! Importer has been deprecated.
|
||||||
|
// !! Do not use this in your project.
|
||||||
|
// *********************************************************************************
|
||||||
|
|
||||||
// Importers 导入器
|
// Importers 导入器
|
||||||
var Importers = map[string]*Importer{}
|
var Importers = map[string]*Importer{}
|
||||||
|
|
||||||
|
|
|
||||||
11
pipe/pipe.go
11
pipe/pipe.go
|
|
@ -15,9 +15,18 @@ var pipes = map[string]*Pipe{}
|
||||||
// Load the pipe
|
// Load the pipe
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the pipes directory does not exist
|
||||||
|
exists, err := application.App.Exists("pipes")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.pip.yao", "*.pipe.yao"}
|
exts := []string{"*.pip.yao", "*.pipe.yao"}
|
||||||
errs := []error{}
|
errs := []error{}
|
||||||
err := application.App.Walk("pipes", func(root, file string, isdir bool) error {
|
err = application.App.Walk("pipes", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package plugin
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
|
@ -19,6 +20,11 @@ func Load(cfg config.Config) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ignore if the plugins directory does not exist
|
||||||
|
if _, err := os.Stat(root); os.IsNotExist(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
err = filepath.Walk(root, func(file string, info fs.FileInfo, err error) error {
|
err = filepath.Walk(root, func(file string, info fs.FileInfo, err error) error {
|
||||||
if info == nil || info.IsDir() {
|
if info == nil || info.IsDir() {
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,19 @@ import (
|
||||||
|
|
||||||
// Load load schedule
|
// Load load schedule
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the tasks directory does not exist
|
||||||
|
exists, err := application.App.Exists("schedules")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.sch.yao", "*.sch.json", "*.sch.jsonc"}
|
exts := []string{"*.sch.yao", "*.sch.json", "*.sch.jsonc"}
|
||||||
err := application.App.Walk("schedules", func(root, file string, isdir bool) error {
|
err = application.App.Walk("schedules", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ func TestStartStop(t *testing.T) {
|
||||||
|
|
||||||
cfg := config.Conf
|
cfg := config.Conf
|
||||||
cfg.Port = 0
|
cfg.Port = 0
|
||||||
err := engine.Load(cfg, engine.LoadOption{})
|
_, err := engine.Load(cfg, engine.LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
err := engine.Load(config.Conf, engine.LoadOption{})
|
_, err := engine.Load(config.Conf, engine.LoadOption{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,19 @@ import (
|
||||||
|
|
||||||
// Load load store
|
// Load load store
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the stores directory does not exist
|
||||||
|
exists, err := application.App.Exists("stores")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
||||||
err := application.App.Walk("stores", func(root, file string, isdir bool) error {
|
err = application.App.Walk("stores", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
task/task.go
12
task/task.go
|
|
@ -13,9 +13,19 @@ import (
|
||||||
|
|
||||||
// Load load task
|
// Load load task
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the tasks directory does not exist
|
||||||
|
exists, err := application.App.Exists("tasks")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
||||||
err := application.App.Walk("tasks", func(root, file string, isdir bool) error {
|
err = application.App.Walk("tasks", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,19 @@ var Widgets = map[string]*DSL{}
|
||||||
// Load Widgets
|
// Load Widgets
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the widgets directory does not exist
|
||||||
|
exists, err := application.App.Exists("widgets")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.wid.yao", "*.wid.json", "*.wid.jsonc"}
|
exts := []string{"*.wid.yao", "*.wid.json", "*.wid.jsonc"}
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
|
|
||||||
err := application.App.Walk("widgets", func(root, file string, isdir bool) error {
|
err = application.App.Walk("widgets", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,19 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load task
|
// Load load task
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the charts directory does not exist
|
||||||
|
exists, err := application.App.Exists("charts")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
||||||
err := application.App.Walk("charts", func(root, file string, isdir bool) error {
|
err = application.App.Walk("charts", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,19 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load task
|
// Load load task
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the charts directory does not exist
|
||||||
|
exists, err := application.App.Exists("dashboards")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
||||||
err := application.App.Walk("dashboards", func(root, file string, isdir bool) error {
|
err = application.App.Walk("dashboards", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,9 +78,19 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load task
|
// Load load task
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the charts directory does not exist
|
||||||
|
exists, err := application.App.Exists("forms")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.form.yao", "*.form.json", "*.form.jsonc"}
|
exts := []string{"*.form.yao", "*.form.json", "*.form.jsonc"}
|
||||||
err := application.App.Walk("forms", func(root, file string, isdir bool) error {
|
err = application.App.Walk("forms", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,9 +68,18 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load task
|
// Load load task
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
// Ignore if the charts directory does not exist
|
||||||
|
exists, err := application.App.Exists("lists")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
exts := []string{"*.yao", "*.json", "*.jsonc"}
|
||||||
err := application.App.Walk("lists", func(root, file string, isdir bool) error {
|
err = application.App.Walk("lists", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,16 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load login
|
// Load load login
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the login directory does not exist
|
||||||
|
exists, err := application.App.Exists("logins")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
exts := []string{"*.login.yao", "*.login.json", "*.login.jsonc"}
|
exts := []string{"*.login.yao", "*.login.json", "*.login.jsonc"}
|
||||||
return application.App.Walk("logins", func(root, file string, isdir bool) error {
|
return application.App.Walk("logins", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
|
|
|
||||||
|
|
@ -107,9 +107,19 @@ func LoadAndExport(cfg config.Config) error {
|
||||||
|
|
||||||
// Load load table dsl
|
// Load load table dsl
|
||||||
func Load(cfg config.Config) error {
|
func Load(cfg config.Config) error {
|
||||||
|
|
||||||
|
// Ignore if the charts directory does not exist
|
||||||
|
exists, err := application.App.Exists("tables")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
messages := []string{}
|
messages := []string{}
|
||||||
exts := []string{"*.tab.yao", "*.tab.json", "*.tab.jsonc"}
|
exts := []string{"*.tab.yao", "*.tab.json", "*.tab.jsonc"}
|
||||||
err := application.App.Walk("tables", func(root, file string, isdir bool) error {
|
err = application.App.Walk("tables", func(root, file string, isdir bool) error {
|
||||||
if isdir {
|
if isdir {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue