cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wilder Rodrigues <>
Subject Re: [DISCUSS] Moving to Java 8
Date Wed, 22 Apr 2015 12:13:54 GMT
Hi Wido,

Thanks for the reply and making a good point concerning Ubuntu 14.04.

Besides the difficulty in writing testes without increasing even more out technical dept,
another point on the Java 8 platform is the EOL (end of this month) of Java 1.7.

For now I created a ticket on Apache Jira to keep track of it:
Could you please have a look and let me know if the content of the ticket is appropriate?

We will start a new sprint in 1 week and will take some time to discuss what to do and when.
Will keep the community updated on that matter.

Thanks a gain.


On 21 Apr 2015, at 15:49, Wido den Hollander <<>>

Hash: SHA1

On 04/21/2015 03:27 PM, Wilder Rodrigues wrote:
Hi all,

Yesterday I started working on the LibvirtComputingResource class
in order to apply the same patterns I used in the
CitrixResourceBase + add more unit tests to it After 10 hours of
work I got a bit stuck with the 1st test, which would cover the
refactored LibvirtStopCommandWrapper. Why did I get stuck? The
class used a few static methods that call native libraries, which I
would like to mock. However, when writing the tests I faced
problems with the current Mockito/PowerMock we are using: they are
simply not enough for the task.

What did I do then? I added a dependency to EasyMock and
PowerMock-EasyMock API. It worked almost fine, but I had to add a
“-noverify” to both my Eclipse Runtime configuration and also to
the cloud-plugin-hypervisor-kvm/pom.xml file. I agree that’s not
nice, but was my first attempt of getting it to work. After trying
to first full build I faced more problems related to
ClassDefNotFoundExpcetion which were complaining about Mockito
classes. I then found out that adding the PowerMockRunner to all
the tests classes was going to be a heavy burden and would also
mess up future changes (e.g. the -noverify flag was removed from
Java 8, thus adding it now would be a problem soon).

Now that the first 2 paragraphs explain a bit about the problem,
let’s get to the solution: Java 8

The VerifyError that I was getting was due to the use of the latest
EasyMock  release (3.3.1). I tried to downgrade it to 3.1/3.2 but
it also did not work. My decision: do not refactor if the proper
tests cannot be added. This left me with one action: migrate to
Java 8.

There were mentions about Java 8 in february[1] and now I will put
some energy in making it happen.

What is your opinion on it?

I'm not against it technically, but practically I am.

Ubuntu 14.04 does not ship a Java 8 JRE in the repositories.

CentOS 7 has java-1.8.0-openjdk.x86_64 available, so it would work
there. But Ubuntu is also widely used with CloudStack, so those users
couldn't use CloudStack without any additional repositories.

Since that isn't easy I would vote -1 on this if it came that far.


Thanks in advance.

Cheers, Wilder<>%3E<

Version: GnuPG v1


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message