Andrew Gaul commented on JCLOUDS-1225:

> I see this ticket has been closed but the underlying issue that the usage of 
> Guava causes problems downstream is still here. We're actually having the 
> opposite problem to what is described above - we're using a version of Hadoop 
> which requires an older version of Guava (16) but because we're using S3Proxy 
> in the same project, which in turn depends on JClouds, we're getting Guava 18 
> pulled in and this means our code doesn't run due to backwards incompatible 
> changes in Guava.

We have discussed this issue ad infinitum on various issues and mailing list 
threads, but jclouds is in the tough position of having relied on Guava across 
much of the code base including public interfaces, wanting to support users 
with the widest variety of environments, and having limited development 
resources.  Presently we are discussing relying on Guava 21 and Java 8 on the 
mailing list so reverting a bunch of code to support Guava 16 seems unlikely.  
This would mirror Hadoop according to HADOOP-10101.  At this point I would push 
back on you and ask why you want to use modern S3Proxy with antique Hadoop?

> 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
>            Assignee: Andrew Gaul
>            Priority: Major
>              Labels: guava
>             Fix For: 2.1.0
> 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

Reply via email to