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/29 09:21:00 UTC

[jira] [Commented] (TIKA-4598) Remove plugin architecture from tika-pipes-ignite and move to tika-pipes level

    [ https://issues.apache.org/jira/browse/TIKA-4598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18048005#comment-18048005 ] 

Nicholas DiPiazza commented on TIKA-4598:
-----------------------------------------

Work completed on this ticket:

*Changes Made:*
* Moved tika-pipes-ignite from {{tika-pipes/tika-pipes-plugins/}} to {{tika-pipes/tika-pipes-ignite}}
* Removed all PF4J plugin infrastructure:
** Deleted {{plugin.properties}}
** Deleted {{assembly.xml}}
** Deleted {{IgnitePipesPlugin}} class
** Removed {{@Extension}} annotation from {{IgniteConfigStoreFactory}}
* Updated {{pom.xml}}:
** Changed parent from {{tika-pipes-plugins}} to {{tika-pipes}}
** Removed plugin exclusion properties
** Changed dependencies from {{provided}} scope to compile scope
** Removed maven-assembly-plugin and maven-dependency-plugin configurations
** Removed annotation processor configuration

*Pull Request:* https://github.com/apache/tika/pull/2496

The module now builds as a standard jar at the tika-pipes level, ready to be used directly by tika-grpc without the plugin loading overhead.


> Remove plugin architecture from tika-pipes-ignite and move to tika-pipes level
> ------------------------------------------------------------------------------
>
>                 Key: TIKA-4598
>                 URL: https://issues.apache.org/jira/browse/TIKA-4598
>             Project: Tika
>          Issue Type: Task
>            Reporter: Nicholas DiPiazza
>            Assignee: Nicholas DiPiazza
>            Priority: Major
>
> h2. Background
> Currently tika-pipes-ignite is structured as a PF4J plugin, but it's no longer needed as a plugin since:
>  * Ignite dependencies are now included directly in tika-grpc
>  * IgniteConfigStore is registered as a built-in ConfigStore type
>  * The plugin classloader was causing conflicts with Ignite's peer class loading
> Would be nice to maybe one day make it a pf4j plugin! But I struggled for a weekend to try to make it happen and was stuck with classes not being loaded from the pf4j plugin classloader. It may very well be that ignite doesn't work within pf4j which makes sense because it is a pretty complex piece of software.
> h2. Proposed Changes
>  # Move tika-pipes-ignite from {{tika-pipes/tika-pipes-plugins/}} to {{tika-pipes/}} as a regular module
>  # Remove all PF4J plugin annotations and dependencies (@Extension, etc.)
>  # Update module structure to be a standard Maven module at the tika-pipes level
>  # Remove plugin.properties and other PF4J metadata
>  # Update parent POMs to reflect the new location
>  # Ensure IgniteConfigStore remains registered in ConfigStoreFactory as a built-in type
> h2. Benefits
>  * Simpler module structure
>  * No classloader conflicts
>  * Clearer dependency management
>  * Consistent with other ConfigStore implementations (memory, file)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)