Hi Christian,
Indeed, Gerrit should use Java 8. We don’t have distinct builds for the various branches (Luna/Mars/Neon), so we were already building Luna with Java 7 on Gerrit.
That would be similar for Mars/Neon.
Even if we accidentally introduce a Java 8 dependency in Mars that Gerrit won’t detect, it will be quickly caught by the official Mars build that still uses
Java 7, so that’s not a big issue.
I’ve switched the Gerrit Job to Java 8
Regards,
Camille
De : mdt-papyrus.dev-bounces@xxxxxxxxxxx [mailto:mdt-papyrus.dev-bounces@xxxxxxxxxxx]
De la part de Christian W. Damus
Envoyé : vendredi 28 août 2015 14:26
À : Papyrus Project list
Objet : [mdt-papyrus.dev] Java 8 in Gerrit builds
Now that we are adopting Java 8 in Neon, I think our Gerrit build needs to be configured to use the jdk1.8.0-latest JDK. It is currently still using jdk1.7.0-latest.
I am contributing patches to a developer branch in the Neon stream, and attempting to use Java 8 APIs and lambda expressions results in compilation errors like this:
[ERROR] The type java.lang.invoke.LambdaMetafactory cannot be resolved. It is indirectly referenced from required .class files
Of course, this one Gerrit build is responsible for building all Papyrus branches (including Mars and Luna). Would that be a problem? The project classpaths in these branches would still be specifying JRE 7/6 run-times and binary class
format, respectively.