[
https://issues.apache.org/jira/browse/TIKA-4587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18046961#comment-18046961
]
Nicholas DiPiazza commented on TIKA-4587:
-----------------------------------------
Added IntelliJ IDEA setup guide to the documentation, showing how to load ALL
plugins at once in development mode.
The guide includes:
* Complete {{dev-config.json}} example with all 13 plugin class directories
* Step-by-step IntelliJ Run Configuration setup
* VM options: {{-Dtika.plugin.dev.mode=true}}
* Hot reload workflow for fast iteration (just rebuild the module and restart)
* Shell script to auto-generate config with all available plugins
Example config snippet for all plugins:
{code:json}
{
"plugin-roots": [
"/path/to/tika/tika-pipes/tika-pipes-plugins/tika-pipes-az-blob/target/classes",
"/path/to/tika/tika-pipes/tika-pipes-plugins/tika-pipes-csv/target/classes",
"/path/to/tika/tika-pipes/tika-pipes-plugins/tika-pipes-file-system/target/classes",
...all 13 plugins...
]
}
{code}
This makes it extremely easy for developers to work on plugins in their IDE
without any ZIP packaging.
> 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
> Priority: Minor
>
> 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)