|
|
@ -217,7 +217,7 @@ func (scanner *PluginScanner) loadPluginJson(pluginJsonFilePath string) error { |
|
|
|
loader = reflect.New(reflect.TypeOf(pluginGoType)).Interface().(PluginLoader) |
|
|
|
loader = reflect.New(reflect.TypeOf(pluginGoType)).Interface().(PluginLoader) |
|
|
|
|
|
|
|
|
|
|
|
// External plugins need a module.js file for SystemJS to load
|
|
|
|
// External plugins need a module.js file for SystemJS to load
|
|
|
|
if !strings.HasPrefix(pluginJsonFilePath, setting.StaticRootPath) { |
|
|
|
if !strings.HasPrefix(pluginJsonFilePath, setting.StaticRootPath) && !scanner.IsBackendOnlyPlugin(pluginCommon.Type) { |
|
|
|
module := filepath.Join(filepath.Dir(pluginJsonFilePath), "module.js") |
|
|
|
module := filepath.Join(filepath.Dir(pluginJsonFilePath), "module.js") |
|
|
|
if _, err := os.Stat(module); os.IsNotExist(err) { |
|
|
|
if _, err := os.Stat(module); os.IsNotExist(err) { |
|
|
|
plog.Warn("Plugin missing module.js", |
|
|
|
plog.Warn("Plugin missing module.js", |
|
|
@ -231,6 +231,10 @@ func (scanner *PluginScanner) loadPluginJson(pluginJsonFilePath string) error { |
|
|
|
return loader.Load(jsonParser, currentDir) |
|
|
|
return loader.Load(jsonParser, currentDir) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func (scanner *PluginScanner) IsBackendOnlyPlugin(pluginType string) bool { |
|
|
|
|
|
|
|
return pluginType == "renderer" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetPluginMarkdown(pluginId string, name string) ([]byte, error) { |
|
|
|
func GetPluginMarkdown(pluginId string, name string) ([]byte, error) { |
|
|
|
plug, exists := Plugins[pluginId] |
|
|
|
plug, exists := Plugins[pluginId] |
|
|
|
if !exists { |
|
|
|
if !exists { |
|
|
|