You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Nicholas DiPiazza (Jira)" <ji...@apache.org> on 2025/12/22 00:39:00 UTC

[jira] [Created] (TIKA-4587) Add pf4j development mode support to TikaPluginManager

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)