testing native go plugins

This commit is contained in:
Hazel Noack
2025-10-07 14:46:02 +02:00
parent 6e107f80f9
commit 49cc689a89
3 changed files with 155 additions and 4 deletions

View File

@@ -24,9 +24,13 @@ type Plugin interface {
var namePlugins = map[string]Plugin{}
var nameSourceType = map[string]data.SourceType{}
func RegisterPlugin(plugin Plugin) {
func RegisterPlugin(plugin Plugin) error {
name := plugin.Name()
if _, ok := namePlugins[name]; ok {
return errors.New("plugin " + name + " is already registered")
}
nameSourceType[name] = data.SourceType{
Name: name,
Regex: plugin.Regex(),
@@ -36,6 +40,7 @@ func RegisterPlugin(plugin Plugin) {
}
namePlugins[name] = plugin
return nil
}
func compileSourceType(source data.Source) (data.Source, error) {