jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Springer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCLOUDS-1225) Guava 21 compatibility
Date Tue, 17 Jan 2017 22:11:27 GMT

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

Ian Springer commented on JCLOUDS-1225:
---------------------------------------

Ok, thanks for clarifying. I'll give that a try. It's still some hoops to jump through, but
I agree it's much better than the forking option. Hopefully I'll be able to configure the
shade plugin to relocate all classes *except* org.apache.jclouds, so I don't need to change
my project's code to use shaded jclouds imports. That is, something like:

{code}
<!-- Relocate all jclouds' deps, but not jclouds itself. -->
<configuration>
  <relocations>
    <relocation>
      <shadedPattern>jclouds.shaded</shadedPattern>
      <excludes>
        <exclude>org.apache.jclouds.**</exclude>
      </excludes>
    </relocation>
  </relocations>
</configuration>
{code}

After some brief googling, it looks like this will work. I'll post another comment after I
try it to let you know how it went. 


> 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.4#6332)

Mime
View raw message