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

Ignasi Barrera commented on JCLOUDS-1225:
-----------------------------------------

Well, in fact you can copy most of the configuration in the Jenkins plugin. You 
just really need to relocate Guava. When doing so as in the jenkins plugin 
(including the artifacts to shade), it will relocate the packages you configure 
and update all included artifacts to use the shaded packages.

This way you are actually creating a jclouds shaded jar that uses the shaded 
Guava, and your code can remain unchanged. Using your normal Guava dependency 
and the normal jclouds packages.

jclouds uses the service loader to load the providers, so make sure to include 
the {{ServiceResourceTransformer}} in your shade plugin configuration. That 
will join all META-INF/services files into a single one when creating the 
shaded jar, which is needed since several jclouds jars populate that file with 
their own services.

> 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)

Reply via email to