[JIRA] (JENKINS-58160) Don't use Guava Beta APIs

19 views
Skip to first unread message

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 24, 2019, 5:56:02 AM6/24/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach created an issue
 
Jenkins / Improvement JENKINS-58160
Don't use Guava Beta APIs
Issue Type: Improvement Improvement
Assignee: Tilman Blumenbach
Components: ec2-plugin
Created: 2019-06-24 09:55
Priority: Blocker Blocker
Reporter: Tilman Blumenbach

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.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 24, 2019, 5:57:01 AM6/24/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach started work on Improvement JENKINS-58160
 
Change By: Tilman Blumenbach
Status: Open In Progress

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 24, 2019, 7:33:02 AM6/24/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach updated an issue
Change By: Tilman Blumenbach
The EC2 plug-in currently uses Guava Beta APIs:

- {{hudson.plugins.ec2.EC2HostAddressProvider}} uses Guava's [{{HostAndPort}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/net/HostAndPort.html] class, for no clear reason.
- {{hudson.plugins.ec2.win.winrm.WindowsProcess}} uses Guava's [{{Closeables}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/io/Closeables.html] utility methods.

Using Guava's Beta APIs is [strongly discouraged|https://github.com/google/guava#important-warnings] 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
I am using pulls in Guava 27. While a bit messy, this wouldn't usually be an issue due to [Guava's API stability guarantee|https://github.com/google/guava#important-warnings]; 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.

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 24, 2019, 7:37:02 AM6/24/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach updated an issue
The EC2 plug-in currently uses Guava Beta APIs:

- {{hudson.plugins.ec2.EC2HostAddressProvider}} uses Guava's [{{HostAndPort}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/net/HostAndPort.html] class, for no clear reason.
- {{hudson.plugins.ec2.win.winrm.WindowsProcess}} uses Guava's [{{Closeables}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/io/Closeables.html] utility methods.

Using Guava's Beta APIs is [strongly discouraged|https://github.com/google/guava#important-warnings] 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 I am using pulls in Guava 27. While a bit messy, this wouldn't usually be an issue due to [Guava's API stability guarantee|https://github.com/google/guava#important-warnings]; however, as because 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.

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 24, 2019, 9:34:02 AM6/24/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach updated an issue
The EC2 plug-in currently uses Guava Beta APIs:

- {{hudson.plugins.ec2.EC2HostAddressProvider}} uses Guava's [{{HostAndPort}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/net/HostAndPort.html] class, for no clear reason.
- {{hudson.plugins.ec2.win.winrm.WindowsProcess}} uses Guava's [{{Closeables}}|https://guava.dev/releases/11.0.1/api/docs/com/google/common/io/Closeables.html] utility methods.

Using Guava's Beta APIs is [strongly discouraged|https://github.com/google/guava#important-warnings] 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 I am using pulls in Guava 27 20 . While a bit messy, this wouldn't usually be an issue due to [Guava's API stability guarantee|https://github.com/google/guava#important-warnings]; however, because the EC2 plug-in is using the above two beta APIs that work differently in Guava 27 20 than they did in Guava 11, the tests break.


I propose dropping the use of the above two Guava Beta APIs alltogether.

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 26, 2019, 5:24:02 AM6/26/19
to jenkinsc...@googlegroups.com
Tilman Blumenbach closed an issue as Fixed
Change By: Tilman Blumenbach
Status: In Progress Closed
Assignee: Tilman Blumenbach
Resolution: Fixed
Released As: Amazon EC2 plug-in v1.45

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 26, 2019, 5:31:02 AM6/26/19
to jenkinsc...@googlegroups.com
Change By: Tilman Blumenbach
Status: Closed Fixed but Unreleased
Assignee: Tilman Blumenbach
Resolution: Fixed Done
Released As: Amazon EC2 plug-in v1.45

tilman.blumenbach@acrolinx.com (JIRA)

unread,
Jun 27, 2019, 6:12:01 AM6/27/19
to jenkinsc...@googlegroups.com
Change By: Tilman Blumenbach
Status: Fixed but Unreleased Closed
Assignee: Tilman Blumenbach
Released As: Amazon EC2 plug-in v1.44.1
Reply all
Reply to author
Forward
0 new messages