To establish the current state, I believe that jclouds works with Java
6-8 and 9 with --add-modules java.xml.bind and Guava 18-23, although I
will defer to you about the lack of 22+ support.  Guava has proven to be
a painful dependency and one we should minimize going forward, even with
the stronger compatibility pledges from the Guava team.

While supporting users with antique Java and Guava version has noble
intentions, I do not believe we have the development resources to
support all things for all people.  Personally I prefer to support only
Java 8 and newer and Guava 21 and onwards, the first Guava to support
Java 8.  However, several contributors championed more backwards
compatibility in the following mailing list threads:

https://lists.apache.org/thread.html/1089e75e6be122024a3c1a45fdfd8c4c6545ce8df319a46c83831684@1401303438@%3Cuser.jclouds.apache.org%3E
https://lists.apache.org/thread.html/b8f2d9f55a3f8ebc07068dbe85cbef9dff0470b21ddbc89fa78601ac@1414426875@%3Cdev.jclouds.apache.org%3E
https://lists.apache.org/thread.html/2653bad70cbad009b54c612f02b4c6a09fd02dcd111c7319b9ed3b26@%3Cdev.jclouds.apache.org%3E

I still loathe to touch the third rail of dependency versioning but the
pain of old software exceeds my interests and I believe deters users
with newer software and contributors.  If someone wants to use or
support the older users please speak up and volunteer your time for this
Sisyphean task.

[As a small suggestion, we can easily use reflection to call either
getHostText or getHost with older Guava.]

On Tue, Feb 20, 2018 at 02:25:28PM -0500, William L. Thomson Jr. wrote:
> Per request posting here to start a discussion on moving past Guava 20.
> Please refer to the following.
> 
> https://issues.apache.org/jira/browse/JCLOUDS-1333
> https://github.com/jclouds/jclouds/pull/1180
> 
> TL;DR; The issues raised in PR 1180 are summarized as follows;
> 
>       - There are to many issues with trying to use Guava 21, skip
>         that version. (see PR for issues)
>       - To go to Guava 22+, requires moving to 1.8, as those jars
>         are built for newer Java. I do not believe available for
>         older.
>       -There are API changes in 22+, getHostText replaced with
>       getHost. Making it difficult to support older and newer Guava.
> 
> Which means for JClouds to move forward with Guava, likely have to drop
> support for 1.7. That is mostly what needs to be discussed.
> 
> Can JClouds drop 1.7, and move forward to 1.8+ only?
> 
> May need to split code base and have a legacy version, and current.
> Like 2.0.x supports 1.7, and 2.1.x supports 1.8+.
> 
> I feel there is no road forward for PR 1180, and will likely close as
> such. I can open a new PR with changes for Guava 22+. Which are
> considerably less than changes for 21. Which will cause issues with
> Guava 22+. Thus skipping Guava 21 entirely.
> 
> FYI I have JClouds using Guava 24, and both built under Java 9, and
> soon Java 10. The changes are not much, and seems fine. But does drop
> legacy support.
> https://github.com/Obsidian-StudiosInc/os-xtoo/blob/master/dev-java/jclouds-core/jclouds-core-9999.ebuild#L34
> 
> Me personally I am past 1.8. But seems a fair amount are still running
> that version. It is still supported by most vendors.
> 
> http://www.oracle.com/technetwork/java/eol-135779.html
> https://developer.ibm.com/javasdk/support/lifecycle/
> https://access.redhat.com/articles/1299013
> 
> -- 
> William L. Thomson Jr.



-- 
Andrew Gaul
http://gaul.org/

Reply via email to