Problem description
The Pravega client is currently shaded but not relocated in the connector JAR, and is not mentioned in the effective POM. This is an odd situation, because an application that links to the connector is not told that Pravega is included, yet it is, or what version is included. The application may well need to use the client directly, for example the pravega samples pre-create a scope in their main method.
Adding the client dependency is not as simple as it sounds, however. If the connector were to have a straightforward dependency on the Pravega client in its effective POM, the application would see it as a transitive dependency and include it in its own uberjar without the shading that is normally required. The true prerequisite is pravega/pravega#1339 (Pravega client to shade its dependencies), which would vastly simplify both the connector and the application.
(same issue as https://github.com/pravega/flink-connectors/issues/145)
Problem description The Pravega client is currently shaded but not relocated in the connector JAR, and is not mentioned in the effective POM. This is an odd situation, because an application that links to the connector is not told that Pravega is included, yet it is, or what version is included. The application may well need to use the client directly, for example the pravega samples pre-create a scope in their main method.
Adding the client dependency is not as simple as it sounds, however. If the connector were to have a straightforward dependency on the Pravega client in its effective POM, the application would see it as a transitive dependency and include it in its own uberjar without the shading that is normally required. The true prerequisite is pravega/pravega#1339 (Pravega client to shade its dependencies), which would vastly simplify both the connector and the application.
Problem location
Suggestions for an improvement