Hi Infra,
In oVirt Engine we use Java 8 and build against JDK 8. GWT (or at least the
version we use), however, does not support neither Java 8 syntax nor the
JDK 8 classes or methods. While this is easily caught by just building the
GWT, it makes it way too easy to introduce code today that will break
something tomorrow.
And this is where animal-sniffer[1] comes in. It checks (for our usecase),
the JDK usages and makes sure we comply to JDK 7's signature even though
we're building with JDK 8. I recall we used to have such a job in Jenkins,
but now I cannot find it, and recent patches [2] have proven it's indeed
needed (I have a vague recollection we disabled it when we were still using
JDK 7 and upgraded to a GWT version that supports JDK 7, but I can't even
find the disabled job on Jenkins - which could either mean it doesn't exist
or that I don't know how to look, of course).
TL;DR - we need this job re-enabled:
- What to run - "mvn animal-sniffer:check" on a directory that already
has the built targets. If you're triggering it on sources that haven't been
built yet, or on a directory you're not sure about the status, use "mvn
clean install animal-sniffer:check -DskipTests" instead
- When to run - trigger per verified patch in gerrit (similar to
findbugs) on a patch that touches one of the following directories:
- backend/manager/modules/compat
- backend/manager/modules/common
- backend/manager/modules/searchbackend
- backend/manager/modules/aaa
Thanks!
[1]
http://www.mojohaus.org/animal-sniffer/
[2]
https://gerrit.ovirt.org/#/q/topic:animal-sniffer+project:ovirt-engine