--
---
You received this message because you are subscribed to the Google Groups "PlayN" group.
To unsubscribe from this group and stop receiving emails from it, send an email to playn+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
38 files changed, 507 insertions(+), 740 deletions(-)
56 files changed, 267 insertions(+), 502 deletions(-)
Anyhow, I'm wondering if this is worthwhile to move forward with. All of the supported backends support Java 1.8, so in theory this shouldn't cause trouble, but if the majority of (the dwindling number of) PlayN users are still forced to use Java 1.7 for some reason or other, I don't want to cause them a bunch of pain just for the joy of simplifying a bunch of code.
If I do go forward with this, I'll publish the 1.8-only code as React 2.0 and PlayN/TP 2.1, and I'll try to backport any important fixes to the React 1.x, PlayN/TP 2.0.x branches, with releases for those as appropriate.
So anyone who would be greatly pained by being stuck on old releases because they have to use Java 1.7, let me know.Otherwise I'll probably go ahead with these lambda funs. I'll probably update and ship an old game with all the new stuff just to make sure that the full pipeline isn't hampered by requiring 1.8, but AFAIK Android tools are OK with 1.8 finally, and RoboVM thankfully had full 1.8 support before spiraling into oblivion.
--
---
You received this message because you are subscribed to the Google Groups "PlayN" group.
To unsubscribe from this group and stop receiving emails from it, send an email to playn+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Ha, well, that plan was dashed on the rocks. Both Android and RoboVM are running into problems with the 1.8 code.On Android (where I had previously always used Retrolamda, so this was my first attempt to get the native toolchain to actually process 1.8 bytecodes), it fails claiming that invokedynamic is not supported. In theory it is supposed to 'desugar' these calls into anonymous class instantiations, but for some reason Dex is failing to do so.
RoboVM fails to include the entire java.util.function package, which I was using with the new React code. RoboVM does support lambdas (and I've used them directly) but apparently they never included that package.I could probably actually get a patch into RoboVM to add java.util.function from the Harmony project where they got the rest of their Java core classes. But Android requires API level 24 or higher to use java.util.function, which is a pretty onerous requirement since only 20% of devices have >=24 installed.
Isn't desugaring actually done by a separate 'desugar' tool which runs before dex?