cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wido den Hollander <>
Subject Re: [DISCUSS] Moving to Java 8
Date Tue, 21 Apr 2015 13:49:42 GMT
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
Version: GnuPG v1


View raw message