-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: plugin refactor #78
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit introduces core plugin management components: - Created base plugin types and interfaces - Implemented plugin registry and manager - Added support for generic plugin registration and retrieval - Included test coverage for plugin manager functionality
This commit refactors the fact plugin system by: - Introducing a BaseFact struct to provide common functionality - Updating fact plugin types and interfaces - Migrating command and test fact plugins to use the new base implementation - Aligning fact plugin management with the new plugin infrastructure
This commit continues the refactoring of the fact plugin system by: - Removing the `factplugin.go.tmpl` template file - Updating the `gen.go` command to remove fact plugin generation logic - Cleaning up fact plugin generation references in various files - Simplifying the fact plugin generation process by leveraging the new BaseFact implementation
This commit updates the test data and fact plugin infrastructure by: - Modifying the TestFacter struct to use the new BaseFact implementation - Updating test files to use the new `testdata.New()` constructor - Replacing direct fact plugin registry access with manager methods - Simplifying fact plugin initialization and data handling in test scenarios
This commit updates the fact plugin validation and input handling by: - Modifying validation methods to be standalone functions - Updating input validation to use data formats instead of plugin names - Simplifying connection and input validation logic - Improving error handling and logging for fact plugin validation - Removing redundant methods from the Facter interface
This commit updates the analyse plugin system by: - Introducing a BaseAnalyser struct to provide common functionality - Implementing a new plugin manager for analyse plugins - Updating analyse plugin types and interfaces - Migrating existing analyse plugins to use the new base implementation - Improving plugin registration, configuration, and error handling - Removing deprecated registry and global state management
This commit updates the connection plugin system by: - Introducing a BaseConnection struct to provide common functionality - Implementing a new plugin manager for connection plugins - Updating connection plugin types and interfaces - Migrating existing connection plugins to use the new base implementation - Improving plugin registration, configuration, and error handling - Removing deprecated registry and global state management - Updating command and fact plugin references to use the new connection plugin manager
steveworley
approved these changes
Feb 20, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Major Refactoring of Plugin Architecture
This PR introduces a significant refactoring of the plugin architecture to improve code organization, reduce duplication, and make the codebase more maintainable.
Key Changes
Plugin Management
Code Organization
Testing
Other Improvements
Impact
This refactoring makes the codebase more maintainable and easier to extend with new plugins. While this is a large change, it should be largely transparent to end users of the system.
Testing
All existing tests have been updated and pass. New tests have been added to cover the plugin management functionality.
#CursorAI-IsAwesome