[ 
https://issues.apache.org/jira/browse/JCLOUDS-1225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858456#comment-15858456
 ] 

Tim Peierls commented on JCLOUDS-1225:
--------------------------------------

This exchange shows that while it might be *possible* to relocate Guava for 
JClouds so that one can use Guava 21 in one's own code, it's certainly not easy.

AFAIK, there are only two removed methods in Guava 21 that are used in JClouds, 
and their replacements have identical types in their signatures. A small amount 
of once-only reflection code would allow JClouds to work with *all* recent 
Guava versions.

No, this doesn't solve the ongoing problem of new Guava releases breaking 
JClouds, but it makes life easier for everyone.

Can anyone give a reason *not* to do this?

> Guava 21 compatibility
> ----------------------
>
>                 Key: JCLOUDS-1225
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1225
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-core
>    Affects Versions: 2.0.0
>            Reporter: Ian Springer
>              Labels: guava
>
> The below classes use com.google.common.base.Objects.ToStringHelper, which 
> has been deprecated since Guava 18, and has been removed in Guava 21. This 
> makes it impossible to use jclouds in a project using Guava 21. Please either 
> upgrade to Guava 18+ and switch to using 
> com.google.common.base.MoreObjects.ToStringHelper, or drop the usage of 
> ToStringHelper altogether. This will allow my project to upgrade to Guava 21 
> without having to use a fork of jclouds.
> * org/jclouds/apis/internal/BaseApiMetadata.java
> * org/jclouds/domain/internal/LocationImpl.java
> * org/jclouds/domain/internal/MutableResourceMetadataImpl.java
> * org/jclouds/domain/internal/ResourceMetadataImpl.java
> * org/jclouds/http/HttpMessage.java
> * org/jclouds/http/HttpRequest.java
> * org/jclouds/http/HttpResponse.java
> * org/jclouds/internal/BaseView.java
> * org/jclouds/providers/internal/BaseProviderMetadata.java
> * org/jclouds/reflect/InvocationSuccess.java
> * org/jclouds/rest/internal/BaseHttpApiMetadata.java
> * org/jclouds/rest/suppliers/URIFromStringSupplier.java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to