[
https://issues.apache.org/jira/browse/TIKA-4598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18048004#comment-18048004
]
ASF GitHub Bot commented on TIKA-4598:
--------------------------------------
nddipiazza opened a new pull request, #2496:
URL: https://github.com/apache/tika/pull/2496
## Summary
Refactors tika-pipes-ignite to be a standard module at the tika-pipes level
instead of a PF4J plugin.
## Changes
- **Moved module**: From `tika-pipes/tika-pipes-plugins/tika-pipes-ignite`
to `tika-pipes/tika-pipes-ignite`
- **Removed 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 normal scope
- Removed maven-assembly-plugin and maven-dependency-plugin configurations
- Removed annotation processor configuration
## Rationale
Since Ignite is now used directly by tika-grpc (not as a plugin), it makes
more sense for it to be a standard module at the pipes level rather than
maintaining the plugin architecture overhead.
## Testing
- Builds successfully
- Ready for integration with TIKA-4595
Closes #TIKA-4598
> 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)