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

Ian Springer edited comment on JCLOUDS-1225 at 1/17/17 6:43 PM:
----------------------------------------------------------------

{quote}
even more when the configuration that could be applied to the consumer projects 
is so straightforward.
{quote}

I got jclouds working within my project in conjunction with Guava 21, and I can 
tell you it was not straightforward, and it was not just a matter of changing 
Maven configuration. Here are the steps I had to do:

# fork jclouds
# create an IntelliJ project for jclouds
# upgrade jclouds Guava dep to 18.0 in order to get MoreObjects.ToStringHelper 
and MoreExecutors.newDirectExecutorService.
# refactor all jclouds usages of Objects.ToStringHelper and 
MoreExecutors.sameThreadExecutor to use MoreObjects.ToStringHelper and 
MoreExecutors.newDirectExecutorService. 
# change several other things in the jclouds poms to get it to build 
successfully in my environment (JDK8 + Maven 3.3 + maven-color).
# bump all the pom versions
# publish a jclouds release to our Nexus repo
# update my project's jclouds dep to point at my fork release and smoke test

All in all, it took me 2-3 hours, so I would not say it was straightforward.

[~nacx], can you clarify what you would propose? Are you suggesting not doing 
anything, which essentially means people will not be able to use both jclouds 
and Guava 21 in their projects? I can move forward with my fork of jclouds, but 
obviously I'd prefer to stick with a mainstream version.


was (Author: ian.springer):
{quote}
even more when the configuration that could be applied to the consumer projects 
is so straightforward.
{quote}

I got jclouds working within my project in conjunction with Guava 21, and I can 
tell you it was not straightforward, and it was not just a matter of changing 
Maven configuration. Here are the steps I had to do:

# fork jclouds
# create an IntelliJ project for jclouds
# upgrade jclouds Guava dep to 18.0 in order to get MoreObjects.ToStringHelper 
and MoreExecutors.newDirectExecutorService.
# refactor all jclouds usages of Objects.ToStringHelper and 
MoreExecutors.sameThreadExecutor to use MoreObjects.ToStringHelper and 
MoreExecutors.newDirectExecutorService. 
# change several other things in the jclouds poms to get it to build 
successfully in my environment (JDK8 + Maven 3.3 + maven-color).
# bump all the pom versions
# publish a jclouds release to our Nexus repo
# update my project's jclouds dep to point at my fork release and smoke test

All in all, it took me 2-3 hours, so I would not say it was straightforward.

Ignasi Barrera, can you clarify what you would propose? Are you suggesting not 
doing anything, which essentially means people will not be able to use both 
jclouds and Guava 21 in their projects? I can move forward with my fork of 
jclouds, but obviously I'd prefer to stick with a mainstream version.

> 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