GitHub user zentol opened a pull request:
https://github.com/apache/flink/pull/4503
[FLINK-6982] [guava] Integrate flink-shaded-guava-18
## What is the purpose of the change
This PR integrates the shaded guava dependency from flink-shaded.
Basically, replace all usages of guava with the shaded guava dependency and
remove all traces of the original dependency.
## Brief change log
- replace all guava dependencies with flink-shaded-guava
- replace all guava imports
- modify illegal import checkstyle rule to forbid unshaded guava imports
- add suppression for IllegalImport rule for cassandra&kinesis
- add check in travis watchdog that no unshaded guava classes are present
in flink-dist
## Verifying this change
The commits that replace existing guava usages are straight-forward.
Special care should be given to the last commit that removes the root pom
shading of guava. Several modules still transitively rely on vanilla guava (for
example cassandra) and have to do their own shading now. Some of these modules
already did that (like cassandra of flink-shaded-hadoop2), but others didn't
and relied on the fail-safe configuration of the root pom.
- check that compilation works
- check artifacts for inclusion of shaded guava
- check artifacts for exclusion of unshaded guava
- check that we are not exposing a vanilla guava dependency with maven
- start a cluster and run some examples
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (yes)
- 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)
## Documentation
- Does this pull request introduce a new feature? (no)
- If yes, how is the feature documented? (not applicable)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zentol/flink 6982
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/4503.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 #4503
commit d6821ccb796eb0488699e6ea255bcb27898be306
Author: zentol
Date: 2017-06-13T15:12:31Z
replace flink-optimizer guava dependency
commit e7b3f3b3c5c1bcf8d91332bb906d89058b47dc51
Author: zentol
Date: 2017-06-13T15:12:44Z
replace runtime-web guava dependency
commit 73db63a173c527b94ccf549398c61b5d09dd4ac6
Author: zentol
Date: 2017-06-13T15:13:38Z
replace flink-streaming-java guava dependency
commit a02de6f16ae2062a5efa8b3ccda5fc0d726ea48a
Author: zentol
Date: 2017-08-01T12:58:03Z
[FLINK-6982] [guava] Integrate flink-shaded-guava-18
commit fb3218fdc8bb2ba9e3f51a366d06e40d05cf71c7
Author: zentol
Date: 2017-06-13T15:20:32Z
replace flink-runtime guava dependency
commit 2899a7f09292507a3f7405bcaf3c2513172ea756
Author: zentol
Date: 2017-06-13T15:21:00Z
replace flink-cep guava dependency
commit 9eb216f0331c8e79a23b80d16be01ae771a1ef35
Author: zentol
Date: 2017-08-09T11:20:26Z
replace flink-storm-examples guava dependency
commit f48f3a6d396cba8402c1bb2a8a9aaa2c49095cab
Author: zentol
Date: 2017-08-09T11:21:24Z
replace flink-tests guava dependency
commit 762f9f35470b822aaed0ce031ce58c03625f3292
Author: zentol
Date: 2017-08-09T11:26:50Z
remove flink-kafka guava usage
commit a7b237bad385e1117ac70384112183ecda2a6235
Author: zentol
Date: 2017-08-08T15:07:50Z
remove root pom guava inclusion
commit cc04c74b25648c6894e566ece66bdf0b278a55ef
Author: zentol
Date: 2017-08-09T11:27:12Z
Add checkstyle rule to forbid guava imports
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---