| The EC2 plug-in currently uses Guava Beta APIs:
- hudson.plugins.ec2.EC2HostAddressProvider uses Guava's HostAndPort class, for no clear reason.
- hudson.plugins.ec2.win.winrm.WindowsProcess uses Guava's Closeables utility methods.
Using Guava's Beta APIs is strongly discouraged as they can change at any time. In fact, this issue is blocking me from finishing JENKINS-56839: Jenkins core provides Guava 11, but a test dependency pulls in Guava 27. While a bit messy, this wouldn't usually be an issue due to Guava's API stability guarantee; however, as the EC2 plug-in is using the above two beta APIs that work differently in Guava 27 than they did in Guava 11, the tests break. I propose dropping the use of the above two Guava Beta APIs alltogether. |