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
