Hi :)

The jdk 7 is always installed because of the requires in the spec file.

BuildRequires: java-1.7.0-openjdk-devel
BuildRequires: ws-commons-util

The ws-commons-util is downloaded through maven and is not needed as a OS
package, in rhel 7 this depends on java 7, so it's always installed if
listed in the buildrequires.
The error you're seeing: Error: java.io.IOException: invalid constant type:
18
Is caused by a bug in a dependency of reflections, upgrade reflections from
0.9.8 to 0.9.9 to fix that ;)

Both these fixes are implemented in my pull request:

https://github.com/apache/cloudstack/pull/238

;)




On Tue, May 19, 2015 at 9:24 AM, Wilder Rodrigues <
wrodrig...@schubergphilis.com> wrote:

> Hi Pierre-Luc,
>
> Is that possible to have Java OpenJDK 8 Devel installed and marked as the
> alternative in the slave that builds the jdk18 job?
>
> It’s also important to say that both java and java point to the correct
> version.
>
> I am now testing a fix I added for a couple of test suites that were using
> PowerMock as Junit Runner. Instead, I’m simply using the mockito runner,
> which works fine with java 8. I’m able to build, run tests and run the
> management server with java-1.8.0-openjdk-1.8.0.45-30.b13.el7_1.x86_64
>
> In order to test the build, I did:
>
> == Using java-1.7.0-openjdk-1.7.0.79-2.5.5.1.el7_1.x86_64 ==
> mvn -P developer,systemvm clean install
>
> == Using java-1.8.0-openjdk-1.8.0.45-30.b13.el7_1.x86_64 ==
> mvn -P developer,systemvm clean install
> mvn -P developer,systemvm clean install -Dmaven.compiler.source=1.8
> -Dmaven.compiler.target=1.8
>
> It all works fine. I will create a PR once the test_vm_life_cycle.py is
> done.
>
> Thanks in advance.
>
> Cheers,
> Wilder
>
> On 18 May 2015, at 13:45, Wilder Rodrigues <wrodrig...@schubergphilis.com
> <mailto:wrodrig...@schubergphilis.com>> wrote:
>
> Hi guys,
>
> After [a guy] reported that the Java 8 build was broken due to a failure
> in an Unit Test, I traced the route cause and tried to build ACS using the
> OpenJDK 1.8 in my test environment. Unfortunately, it did not work due to
> an error when loading the Mockito classes :
>
> Error: java.io.IOException: invalid constant type: 18
>
> After that, I had a look at the Jenkins  build logs and found out the
> following:
>
>
> [build-master-jdk18] $
> /home/jenkins/acs/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1/bin/mvn
> --version
> Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17
> 15:22:22+0000)
> Maven home:
> /home/jenkins/acs/tools/hudson.tasks.Maven_MavenInstallation/maven-3.1.1
> Java version: 1.7.0_75, vendor: Oracle Corporation
> Java home:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.10.0-123.20.1.el7.x86_64", arch: "amd64",
> family: "unix"
>
> Based on the output, we are not even using Java 8 for the build called
> JDK18.
>
> Before making any assumption and sending this email, I had a look at the
> slave node with Daan and we found out that OpenJDK 1.8 is not even
> installed:
>
> javac - status is auto.
> link currently points to
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javac
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javac -
> priority 170075
> slave appletviewer:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/appletviewer
> slave apt:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/apt
> slave extcheck:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/extcheck
> slave idlj:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/idlj
> slave jar:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jar
> slave jarsigner:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jarsigner
> slave javadoc:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javadoc
> slave javah:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javah
> slave javap:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javap
> slave jcmd:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jcmd
> slave jconsole:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jconsole
> slave jdb:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jdb
> slave jhat:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jhat
> slave jinfo:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jinfo
> slave jmap:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jmap
> slave jps:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jps
> slave jrunscript:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jrunscript
> slave jsadebugd:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jsadebugd
> slave jstack:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jstack
> slave jstat:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jstat
> slave jstatd:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/jstatd
> slave native2ascii:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/native2ascii
> slave policytool:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/policytool
> slave rmic:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/rmic
> slave schemagen:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/schemagen
> slave serialver:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/serialver
> slave wsgen:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/wsgen
> slave wsimport:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/wsimport
> slave xjc:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/xjc
> slave java_sdk_exports:
> /usr/lib/jvm-exports/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
> slave java_sdk:
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
> slave appletviewer.1.gz:
> /usr/share/man/man1/appletviewer-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave apt.1.gz:
> /usr/share/man/man1/apt-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave extcheck.1.gz:
> /usr/share/man/man1/extcheck-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jar.1.gz:
> /usr/share/man/man1/jar-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jarsigner.1.gz:
> /usr/share/man/man1/jarsigner-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave javac.1.gz:
> /usr/share/man/man1/javac-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave javadoc.1.gz:
> /usr/share/man/man1/javadoc-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave javah.1.gz:
> /usr/share/man/man1/javah-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave javap.1.gz:
> /usr/share/man/man1/javap-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jconsole.1.gz:
> /usr/share/man/man1/jconsole-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jdb.1.gz:
> /usr/share/man/man1/jdb-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jhat.1.gz:
> /usr/share/man/man1/jhat-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jinfo.1.gz:
> /usr/share/man/man1/jinfo-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jmap.1.gz:
> /usr/share/man/man1/jmap-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jps.1.gz:
> /usr/share/man/man1/jps-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jrunscript.1.gz:
> /usr/share/man/man1/jrunscript-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jsadebugd.1.gz:
> /usr/share/man/man1/jsadebugd-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jstack.1.gz:
> /usr/share/man/man1/jstack-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jstat.1.gz:
> /usr/share/man/man1/jstat-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave jstatd.1.gz:
> /usr/share/man/man1/jstatd-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave native2ascii.1.gz:
> /usr/share/man/man1/native2ascii-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave policytool.1.gz:
> /usr/share/man/man1/policytool-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave rmic.1.gz:
> /usr/share/man/man1/rmic-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave schemagen.1.gz:
> /usr/share/man/man1/schemagen-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave serialver.1.gz:
> /usr/share/man/man1/serialver-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave wsgen.1.gz:
> /usr/share/man/man1/wsgen-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave wsimport.1.gz:
> /usr/share/man/man1/wsimport-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> slave xjc.1.gz:
> /usr/share/man/man1/xjc-java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64.1.gz
> Current `best' version is
> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/bin/javac.
>
> I will push the fix I did on the test, which now uses a mock path instead
> of /bin/bash.
>
> Concerning the slave node, could someone have a look at that?
>
> Cheers,
> Wilder
>
>

Reply via email to