retrolambda

Stephen F Northover steve.x.northover at oracle.com
Fri May 2 18:24:36 UTC 2014


This is good news.  This means that you are using JDK8 to compile 
everything, then fixing the bytecodes.

Is the next step to modify the OpenJFX build to start with a jar that 
does not contain classes such as SWT that have no hope of running on the 
target?

Steve

On 2014-05-02 5:43 AM, Johan Vos wrote:
> 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