Thanks for digging into this, Bryan. More inline...
On 11/5/17 10:46 AM, Bryan Pendleton wrote:
https://builds.apache.org/view/A-D/view/Derby/job/Derby-trunk-JaCoCo/49/
This build correctly used Java 9.
But it did not run successfully.
I filed https://issues.apache.org/jira/browse/DERBY-6976 to track
this, with the following description:
The output said things like:
[java] Java Result: 134
[junit] Exception in thread "main"
java.lang.reflect.InvocationTargetException
[junit] at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[junit] at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[junit] at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit] at java.base/java.lang.reflect.Method.invoke(Method.java:564)
[junit] at
java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:500)
[junit] at
java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:512)
[junit] Caused by: java.lang.RuntimeException: Class
java/util/UUID could not be instrumented.
Here, I see that to support Java 9, we need JaCoCo 0.7.8:
https://groups.google.com/forum/#!msg/jacoco/Zf0Cwj13G2g/wpyrYAEECAAJ
But it looks like the Jenkins job is using 0.7.6:
++ cat jacocoversion.txt
+ echo 'JaCoCo version: 0.7.6.201602180812'
JaCoCo version: 0.7.6.201602180812
Rick, this one you probably have to track as a separate issue in JIRA;
I don't think I can control the JaCoCo version by just changing a
Jenkins configuration. Below is what we do in our build, but obviously
it didn't automatically move from 0.7.6 to 0.7.8:
# The files here are supposed to be updated automatically twice a month.
JACOCO_URL=http://people.apache.org/~kristwaa/derby/jacoco-jars
#wget -q -O trunk/tools/java/jacocoagent.jar $JACOCO_URL/jacocoagent.jar
#wget -q -O trunk/tools/java/jacocoant.jar $JACOCO_URL/jacocoant.jar
#wget -q -O jacocoversion.txt $JACOCO_URL/jacocoversion.txt
curl $JACOCO_URL/jacocoagent.jar > trunk/tools/java/jacocoagent.jar
curl $JACOCO_URL/jacocoant.jar > trunk/tools/java/jacocoant.jar
curl $JACOCO_URL/jacocoversion.txt > jacocoversion.txt
If I understand that script, our JaCoCo runs rely on an old JaCoCo
version cached on Kristian's Apache website. Here are some things we
could do:
1) Ask Kristian to upgrade the JaCoCo version in his cache.
2) Cache a newer version on my Apache website and tweak the script
accordingly.
3) Something else?
Thanks,
-Rick
thanks,
bryan