GitHub user NicoK opened a pull request: https://github.com/apache/flink/pull/5243
[FLINK-8362][elasticsearch] shade all dependencies ## What is the purpose of the change The Elasticsearch connectors have some dependencies that need to be available and should not conflict with other user or system code. Similarly to the cassandra connector and the S3 file systems, it should thus shade all its dependencies and become self-contained. ## Brief change log - shade dependencies of `flink-connector-elasticsearch`, `flink-connector-elasticsearch2`, and `flink-connector-elasticsearch5` and relocate to our namespace - add a test into `travis_mvn_watchdog.sh` to verify classes are shaded (one gap though: since `flink-connector-elasticsearch` and `flink-connector-elasticsearch-base` use the same package, we cannot really test that the latter is shaded correctly there) - update documentation ## Verifying this change This can be verified as follows: In the shaded jar files, - check for non-shaded `service` files (also their contents) - check for non-shaded `.class` files (this test is automated in `travis_mvn_watchdog.sh`, but `flink-connector-elasticsearch` should be verified manually as well - see the note above) - check for unnecessary files in `META-INF/maven` (only `org.apache.flink/flink-connector-elasticsearch<variant>_<scala_version>/` should remain) - manually test the connectors and verify they are working without adding other dependencies to a user jar (TODO! @tzulitai since you have been working with the connector in the past, can you chime in here?) ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): **no** - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: **no** - The serializers: **no** - The runtime per-record code paths (performance sensitive): **no** - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: **no** - The S3 file system connector: **no** ## Documentation - Does this pull request introduce a new feature? **no** - If yes, how is the feature documented? **docs** You can merge this pull request into a Git repository by running: $ git pull https://github.com/NicoK/flink flink-8362 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5243.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #5243 ---- commit e0c219dadcda5a7771b20c9873006ef8ebc699b0 Author: Nico Kruber <nico@...> Date: 2018-01-04T19:45:04Z [build][hotfix] fix s3-fs shading checks not exiting for a non-exiting file + improve the output a bit commit b1dcb6d06fed7096c0e2e8a88882037559b29923 Author: Nico Kruber <nico@...> Date: 2018-01-04T20:09:09Z [FLINK-8362][elasticsearch] shade all dependencies ---- ---