Documentation
¶
Index ¶
- func RegisterBuiltinPlugins(cfg *config.Config, registry *PluginRegistry)
- type PluginInfo
- type PluginMetadata
- type PluginRegistry
- func (r *PluginRegistry) GetAuditLog() auditlog.AuditLog
- func (r *PluginRegistry) GetChangelogGenerator() changeloggenerator.ChangelogGenerator
- func (r *PluginRegistry) GetChangelogParser() changelogparser.ChangelogInferrer
- func (r *PluginRegistry) GetCommitParser() commitparser.CommitParser
- func (r *PluginRegistry) GetDependencyChecker() dependencycheck.DependencyChecker
- func (r *PluginRegistry) GetReleaseGate() releasegate.ReleaseGate
- func (r *PluginRegistry) GetTagManager() tagmanager.TagManager
- func (r *PluginRegistry) GetVersionValidator() versionvalidator.VersionValidator
- func (r *PluginRegistry) RegisterAuditLog(al auditlog.AuditLog) error
- func (r *PluginRegistry) RegisterChangelogGenerator(cg changeloggenerator.ChangelogGenerator) error
- func (r *PluginRegistry) RegisterChangelogParser(cp changelogparser.ChangelogInferrer) error
- func (r *PluginRegistry) RegisterCommitParser(p commitparser.CommitParser) error
- func (r *PluginRegistry) RegisterDependencyChecker(dc dependencycheck.DependencyChecker) error
- func (r *PluginRegistry) RegisterReleaseGate(rg releasegate.ReleaseGate) error
- func (r *PluginRegistry) RegisterTagManager(tm tagmanager.TagManager) error
- func (r *PluginRegistry) RegisterVersionValidator(vv versionvalidator.VersionValidator) error
- func (r *PluginRegistry) Reset()
- type PluginType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterBuiltinPlugins ¶
func RegisterBuiltinPlugins(cfg *config.Config, registry *PluginRegistry)
RegisterBuiltinPlugins registers all builtin plugins with the provided registry.
Types ¶
type PluginInfo ¶
PluginInfo is a common interface that all plugins should implement. It provides basic metadata about a plugin.
type PluginMetadata ¶
type PluginMetadata struct {
// Type is the plugin type identifier.
Type PluginType `json:"type"`
// Name is the unique plugin name.
Name string `json:"name"`
// Description explains what the plugin does.
Description string `json:"description"`
// Version is the plugin version (semver format).
Version string `json:"version"`
// ConfigPath is the YAML path for configuration (e.g., "plugins.tag-manager").
ConfigPath string `json:"config_path,omitempty"`
}
PluginMetadata contains metadata about a built-in plugin.
func GetBuiltinPlugins ¶
func GetBuiltinPlugins() []PluginMetadata
GetBuiltinPlugins returns metadata for all built-in plugins.
type PluginRegistry ¶
type PluginRegistry struct {
// contains filtered or unexported fields
}
PluginRegistry is a thread-safe registry for all plugin instances. It replaces global package-level variables with a centralized, injectable registry.
func NewPluginRegistry ¶
func NewPluginRegistry() *PluginRegistry
NewPluginRegistry creates a new empty plugin registry.
func (*PluginRegistry) GetAuditLog ¶
func (r *PluginRegistry) GetAuditLog() auditlog.AuditLog
GetAuditLog retrieves the registered audit log, or nil if not registered.
func (*PluginRegistry) GetChangelogGenerator ¶
func (r *PluginRegistry) GetChangelogGenerator() changeloggenerator.ChangelogGenerator
GetChangelogGenerator retrieves the registered changelog generator, or nil if not registered.
func (*PluginRegistry) GetChangelogParser ¶
func (r *PluginRegistry) GetChangelogParser() changelogparser.ChangelogInferrer
GetChangelogParser retrieves the registered changelog parser, or nil if not registered.
func (*PluginRegistry) GetCommitParser ¶
func (r *PluginRegistry) GetCommitParser() commitparser.CommitParser
GetCommitParser retrieves the registered commit parser, or nil if not registered.
func (*PluginRegistry) GetDependencyChecker ¶
func (r *PluginRegistry) GetDependencyChecker() dependencycheck.DependencyChecker
GetDependencyChecker retrieves the registered dependency checker, or nil if not registered.
func (*PluginRegistry) GetReleaseGate ¶
func (r *PluginRegistry) GetReleaseGate() releasegate.ReleaseGate
GetReleaseGate retrieves the registered release gate, or nil if not registered.
func (*PluginRegistry) GetTagManager ¶
func (r *PluginRegistry) GetTagManager() tagmanager.TagManager
GetTagManager retrieves the registered tag manager, or nil if not registered.
func (*PluginRegistry) GetVersionValidator ¶
func (r *PluginRegistry) GetVersionValidator() versionvalidator.VersionValidator
GetVersionValidator retrieves the registered version validator, or nil if not registered.
func (*PluginRegistry) RegisterAuditLog ¶
func (r *PluginRegistry) RegisterAuditLog(al auditlog.AuditLog) error
RegisterAuditLog registers an audit log plugin.
func (*PluginRegistry) RegisterChangelogGenerator ¶
func (r *PluginRegistry) RegisterChangelogGenerator(cg changeloggenerator.ChangelogGenerator) error
RegisterChangelogGenerator registers a changelog generator plugin.
func (*PluginRegistry) RegisterChangelogParser ¶
func (r *PluginRegistry) RegisterChangelogParser(cp changelogparser.ChangelogInferrer) error
RegisterChangelogParser registers a changelog parser plugin.
func (*PluginRegistry) RegisterCommitParser ¶
func (r *PluginRegistry) RegisterCommitParser(p commitparser.CommitParser) error
RegisterCommitParser registers a commit parser plugin.
func (*PluginRegistry) RegisterDependencyChecker ¶
func (r *PluginRegistry) RegisterDependencyChecker(dc dependencycheck.DependencyChecker) error
RegisterDependencyChecker registers a dependency checker plugin.
func (*PluginRegistry) RegisterReleaseGate ¶
func (r *PluginRegistry) RegisterReleaseGate(rg releasegate.ReleaseGate) error
RegisterReleaseGate registers a release gate plugin.
func (*PluginRegistry) RegisterTagManager ¶
func (r *PluginRegistry) RegisterTagManager(tm tagmanager.TagManager) error
RegisterTagManager registers a tag manager plugin.
func (*PluginRegistry) RegisterVersionValidator ¶
func (r *PluginRegistry) RegisterVersionValidator(vv versionvalidator.VersionValidator) error
RegisterVersionValidator registers a version validator plugin.
func (*PluginRegistry) Reset ¶
func (r *PluginRegistry) Reset()
Reset clears all registered plugins. Useful for testing.
type PluginType ¶
type PluginType string
PluginType represents the type of a plugin.
const ( TypeCommitParser PluginType = "commit-parser" TypeTagManager PluginType = "tag-manager" TypeVersionValidator PluginType = "version-validator" TypeDependencyChecker PluginType = "dependency-check" TypeChangelogParser PluginType = "changelog-parser" TypeChangelogGenerator PluginType = "changelog-generator" TypeReleaseGate PluginType = "release-gate" TypeAuditLog PluginType = "audit-log" )