jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ignasi Barrera <notificati...@github.com>
Subject Re: [jclouds/jclouds] core: Fix compile issue under Java 8+ (#1180)
Date Sat, 17 Feb 2018 09:09:58 GMT
>This is really a mess, CI gives different failures than locally... What is going on with

That's not really true. If you run the same build than the CI system, which is a standard
Maven build, you'll get the same failures.

>You cannot support that many versions of guava with API changes. Like the removal of getHostText
and getHost not being in < guava 20. Also seems trying to support older targets has issues.

We don't really support that many versions. We are very clear on what we support and are just
a few range of JDK, Guice and Guava versions. You can see it in our [compatibility matrix](https://jclouds.ci.cloudbees.com/job/jclouds-compat/).
Anything outside that matrix is not officially supported and you may find issues (like this
already known issue when using Java 8 with Guava >= 21).

>Not sure how much more time i want to spend on this. I have already fixed my issues. This
seems like a can of works for JClouds. I also do not understand why the legacy guava and targets.
It will cause issues like this as things move forward.

And this is OK. You took your time to open a PR that you thought fixed the issue but then
discovered that the issue was bigger than expected. We already knew that and had several discussions
on the development mailing list regarding the best way to fix it, because we already went
that path and ended up in finding some issues with the compiler. With my comments, (needless
to say we highly appreciate all contributions) I just wanted to point out that the actual
change was not enough to completely fix the issue and tried to explain how to build jclouds
the standard way so you could properly reproduce the failures.

>Maven is horrible and this is taking way to long to fix. I have to fix each class by class.
Maven stops after the first failure. In my environment, I see all issues so I can address
all at once. This is taking really long and is a very inefficient style of development. About
to switch over to looking for all use of Predicate...

You might find it useful if you run it with the "fail at end flag": `mvn -fae`

>As a project you all need to make some hard decisions. I maintain hundreds, over a thousand
Java packages. This is one of the only with such legacy issues. The other is horrible lombok....
I would really recommend telling those with legacy needs to use older jclouds. For any newer
releases really need to move to newer stuff. Or you will continue to be plagued and held back
by odd issues like this. Which take considerable time to resolve.

As I said, we know the existing challenges we'll have to face when moving forward and upgrading
JDK and dependencies. And we'll make that decision. Not a hard one, but a *community decision*.
One/two years ago we could simply not require Java 8 and a modern Guava because many of our
downstream users could not upgrade to modern Guava versions or newer JDKs. And we take backwards
compatibility very seriously. I think now it is a bit different as Java 8 has been widely
adopted and it is time to start planning for which release we will officially support Java
8 and decide which Guava versions we'll support. If we haven't done that before, it's not
because "we don't care". Just the opposite. We care about our users and we try to make upgrades
as pain-free as possible, even if that means not using cutting-edge libraries and JDKs for
a while.

>I think I am about done here... The change seems pretty massive, and I feel like other
issues in future. CI failing on overrides, which at some point would need to be in there.
But why it cannot find the Guava implementation of test. That to me seems like some legacy

Yes, the change could be big. But we still don't know. We still don't understand the cause
of the root issue (the one I copied in my previous replies and the last one you pasted), and
we need to do some research on that. Once that is done and the cause is properly understood
and isolated we'll be able to properly determine the scope of the issue, the right fix, and
the steps to upgrade to modern JDK and Guava versions.

I completely understand you may not have time to go through this, and it is OK. Thanks for
the effort you put on this and for taking your time to have a look at it!

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
View raw message