- if files, err := AssetDir("runtime/plugins"); err == nil {
- for _, f := range files {
- scriptPath := path.Join("runtime/plugins", f, f+".lua")
- if _, err := AssetInfo(scriptPath); err == nil {
- AddRuntimeFile(RTPlugin, assetFile(scriptPath))
+ plugdir = filepath.Join("runtime", "plugins")
+ if files, err := AssetDir(plugdir); err == nil {
+ for _, d := range files {
+ if srcs, err := AssetDir(filepath.Join(plugdir, d)); err == nil {
+ p := new(Plugin)
+ p.Name = d
+ for _, f := range srcs {
+ if strings.HasSuffix(f, ".lua") {
+ p.Srcs = append(p.Srcs, assetFile(filepath.Join(plugdir, d, f)))
+ } else if f == "info.json" {
+ p.Info = assetFile(filepath.Join(plugdir, d, "info.json"))
+ }
+ }
+ Plugins = append(Plugins, p)