diff --git a/pkg/plugin/definition/publisher.go b/pkg/plugin/definition/publisher.go index 4eba687..1e744da 100644 --- a/pkg/plugin/definition/publisher.go +++ b/pkg/plugin/definition/publisher.go @@ -10,5 +10,5 @@ type Publisher interface { type PublisherProvider interface { // New initializes a new publisher instance with the given configuration. - New(ctx context.Context, config map[string]string) (Publisher, func(), error) + New(ctx context.Context, config map[string]string) (Publisher, func() error, error) } diff --git a/pkg/plugin/manager.go b/pkg/plugin/manager.go index bd969c4..4cb4a37 100644 --- a/pkg/plugin/manager.go +++ b/pkg/plugin/manager.go @@ -130,7 +130,13 @@ func (m *Manager) Publisher(ctx context.Context, cfg *Config) (definition.Publis if err != nil { return nil, err } - m.addCloser(closer) + if closer != nil { + m.addCloser(func() { + if err := closer(); err != nil { + panic(err) + } + }) + } return p, nil }