Skip to content

#105 Design plugin architecture#257

Open
kkazmierczyk wants to merge 14 commits intomainfrom
issue-105-plugin-architecture
Open

#105 Design plugin architecture#257
kkazmierczyk wants to merge 14 commits intomainfrom
issue-105-plugin-architecture

Conversation

@kkazmierczyk
Copy link
Copy Markdown
Collaborator

@kkazmierczyk kkazmierczyk commented Apr 24, 2026

Fixes #105

Summary

  • add plugin architecture design document (docs/PLUGIN_ARCHITECTURE_DESIGN.md)
  • add plugin interface and manager
  • add example plugin (docs\example_plugin) and tests

Here is how I tested it:

  • Ran all tests
  • Ran the tool: python src/javacore_analyser/javacore_analyser_batch.py --enable_plugins=true --plugin_directory=docs --use_ai=False "test/data/javacores" /tmp/javacores
    In docs dir is a sample plugin for tests

Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
This commit introduces a comprehensive plugin architecture for the javacore-analyser tool:

- Added PluginInterface abstract base class defining the plugin contract
- Implemented PluginManager for plugin discovery, loading, and lifecycle management
- Created detailed design documentation in docs/PLUGIN_ARCHITECTURE_DESIGN.md
- Added example plugin implementation in docs/example_plugin/
- Integrated plugin system into JavacoreSet for extensibility
- Added comprehensive unit tests for plugin system
- Updated README.md with plugin architecture information
- Updated config.ini with plugin configuration options
- Modified report.xsl to support plugin-generated content
- Added trace.log test data file

The plugin architecture enables users to extend the tool's functionality
without modifying core code, supporting custom analysis, reporting,
and data processing capabilities.

Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
@kkazmierczyk kkazmierczyk force-pushed the issue-105-plugin-architecture branch from 9f421fc to 961658b Compare April 24, 2026 16:06
@kkazmierczyk kkazmierczyk self-assigned this Apr 24, 2026
Comment thread test/test_plugin_system.py Fixed
Comment thread test/test_plugin_system.py Fixed
Comment thread docs/example_plugin/plugin.py Fixed
Comment thread src/javacore_analyser/plugin_manager.py Fixed
Comment thread test/test_plugin_system.py Fixed
kkazmierczyk and others added 10 commits April 25, 2026 09:13
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Krzysztof Kazmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
Signed-off-by: Krzysztof Kaźmierczyk <kazm@ibm.com>
@kkazmierczyk kkazmierczyk added the enhancement New feature or request label Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Design plugin architecture

1 participant