[ 
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)

Reply via email to