retrolambda

Johan Vos johan at lodgon.com
Fri May 2 09:43:41 UTC 2014


Hi,

I was able to refactor all lambda's out of the class files of jfxrt.jar
using RetroLambda 1.1.5-SNAPSHOT.jar (after adding the eclipse swt jar to
the classpath and removing jfxrt.jar from the bootclasspath).

This means that the builds for platforms that don't support invokedynamic
should be able to work with the OpenJFX code base.
I'll try to add the retrolambda gradle plugin somehow in the openjfx gradle
system. As I'm not an expert with gradle, some help would be appreciated.

At this moment, I simply unzipped the jfxrt.jar, removed the jfxrt.jar from
the lib/ext directory in the Java 8 install, and executed

java -Dretrolambda.inputDir=class
-Dretrolambda.classpath=class:org.eclipse.swt.gtk.linux.x86_64_3.7.2.v3740f-.jar
-Dretrolambda.outputDir=retroclass -javaagent:retrolambda.jar -jar
retrolambda.jar


It should be possible to optionally do this retrocompiling task during the
build of OpenJFX. In my JavaFX-Android applications, I use
gradle-retrolambda as follows:
buildscript {
  repositories {
      mavenCentral()
  }

  dependencies {
     classpath 'me.tatarka:gradle-retrolambda:1.3.0'
  }
}
...
apply plugin: 'retrolambda'

- Johan


More information about the openjfx-dev mailing list