Nicholas DiPiazza created TIKA-4587:
---------------------------------------
Summary: Add pf4j development mode support to TikaPluginManager
Key: TIKA-4587
URL: https://issues.apache.org/jira/browse/TIKA-4587
Project: Tika
Issue Type: Improvement
Components: tika-pipes
Reporter: Nicholas DiPiazza
h2. Problem
Currently, TikaPluginManager requires plugins to be packaged as ZIP files in
the configured plugin-roots directories. This adds friction to plugin
development since developers must rebuild and repackage plugins as ZIPs to test
changes.
h2. Solution
Add support for pf4j's development mode which allows loading plugins directly
from unpackaged directories (e.g., target/classes). This would enable faster
development iteration by eliminating the ZIP packaging step during development.
h2. Implementation Approach
* Add a way to configure RuntimeMode (DEVELOPMENT vs DEPLOYMENT) in
TikaPluginManager
* When in DEVELOPMENT mode, allow plugin-roots to point to unpackaged plugin
directories
* Configure via environment variable (TIKA_PLUGIN_DEV_MODE) or system property
(tika.plugin.dev.mode)
* Skip ZIP extraction when in development mode
* Default to DEPLOYMENT mode for backward compatibility
h2. Benefits
* Faster plugin development cycle - no need to rebuild ZIP files during
development
* Easier debugging of plugin code
* Consistent with pf4j best practices
h2. References
* pf4j development mode docs: https://pf4j.org/doc/development-mode.html
* Pull request: https://github.com/apache/tika/pull/new/pf4j-development-mode
--
This message was sent by Atlassian Jira
(v8.20.10#820010)