kimcs opened a new pull request #4166: Rename package to avoid 
java-module-system split-package issue
URL: https://github.com/apache/pulsar/pull/4166
 
 
   ### Motivation
   
   I am attempting to use the pulsar-client and/or pulsar-admin-client from an 
application that uses Java 11 with the java-module-system enabled. Using maven, 
the following dependencies were included:
   
           <dependency>
               <groupId>org.apache.pulsar</groupId>
               <artifactId>pulsar-client-original</artifactId>
               <version>2.3.1</version>
           </dependency>
           <dependency>
               <groupId>org.apache.pulsar</groupId>
               <artifactId>pulsar-client-admin-original</artifactId>
               <version>2.3.1</version>
           </dependency>
   
   I quickly ran into a split-package issue where packages with the same name 
are declared in more than one different transitive dependency. One problem was 
the org.apache.pulsar.common.api and org.apache.pulsar.common.schema packages. 
Another problem was that there were multiple versions of the javax.activation 
framework included.
   
   
   ### Modifications
   
   In the pulsar-client-api module, classes were moved:
    - All classes in the package org.apache.pulsar.common.api was moved to the 
new package org.apache.pulsar.client.common.api
    - All classes in the package org.apache.pulsar.common.schema was moved to 
the new package org.apache.pulsar.client.common.schema.
   
   References in this module and other pulsar modules have been updated to use 
the new packages, this is the reason this change appears large.
   
   Maven module pulsar-client-admin module have been changed to use the 
dependency com.sun.activation:javax.activation:1.2.0 instead of other 
activation apis. This is the same activation dependency that is used by the 
pulsar-client module making them compatible with regards to the 
java-module-system. The change should also be beneficial when shading jars by 
avoiding conflicting classes from activation dependencies.
   
   ### Verifying this change
   
   The changes passes CI checks.
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   ### Does this pull request potentially affect one of the following parts:
   
     - *Dependencies (does it add or upgrade a dependency): yes*
     - *The public API: don't know*
     - The schema: no
     - The default values of configurations: no
     - The wire protocol: no
     - The rest endpoints: no
     - The admin cli options: no
     - *Anything that affects deployment: don't know*
   
   ### Documentation
   
     - Does this pull request introduce a new feature? no
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to