It seems like dx can be convinced to accept 1.7 code [1] and almost everything needed API-wise to support the new Java7 language features is already in Android 4.0+ [2] (and thus also in RoboVM which is currently based on 4.1). So if jfx78 can be made to compile with robovm-rt.jar or a modified android.jar (which doesn't hide the Java7 classes like AutoCloseable) on the bootclasspath we should have a version of jfx that can run on Android and Dalvik.
[1] https://github.com/yareally/Java7-on-Android [2] http://stackoverflow.com/questions/7153989/java-7-language-features-with-android On Fri, Jul 5, 2013 at 10:38 PM, Danno Ferrin <danno.fer...@shemnon.com>wrote: > I haven't worked with making Ensemble8 work yet in the backport. The > samples are hard coded rather than sniffed out so removing a set of sample > pages is not a 2 minute slam dunk. I'll start working on at lest getting > it to compile inside the backport. > > As for making the backport target JDK 6, the biggest issue is in over one > thousand places in the code the diamond operator is used. Replacing those > makes the line count of the diffs in the backport larger by about an order > of magnitude, as well hiding what the real diffs are. If this is avoidable > then by all means I want to avoid it. It's also a lot of hand coded busy > work to undo those. > > To compound the problem, if we are trying to go the JFX on Dalvik route, > the DX tool only accepts 1.6 generated bytecode. And you can't do '-source > 1.7 -target 1.6' to javac because it refuses to co-operate on the spot. I > am conflicted on how to proceed with android. > > > On Fri, Jul 5, 2013 at 5:57 AM, Niklas Therning <nik...@therning.org>wrote: > >> Even the latest version of Android are missing these classes and Dalvik >> (the VM in Android) doesn't support invokedynamic so a backport is >> required, not just for RoboVM. I managed to get Ensemble working yesterday >> on iOS with the jfx78 sources and RoboVM. But even this backport contains >> code which won't work on Android nor on RoboVM. E.g. I had to patch >> FontFileWriter to get Ensemble working (it uses java.nio.file.Files which >> is a Java7+ class). IMO the backport needs to target Android/RoboVM >> specifically and not Java7. A first step would be to make it compile with >> Java6. >> >> >> On Fri, Jul 5, 2013 at 1:21 PM, Tobias Bley <t...@ultramixer.com> wrote: >> >> > Maybe the missing classes in the android classes used by RoboVM are only >> > missing in an old android class library and Oracles android port is >> based >> > on a newer version? >> > >> > >> > Am 05.07.2013 um 13:11 schrieb Daniel Zwolenski <zon...@gmail.com>: >> > >> > > This is great Tobi, thanks! >> > > >> > > I'm a bit confused though - seems to be mixed messages on the need for >> > the 78 backport? >> > > >> > > Danno, since Niklas is saying we need the backport, what steps do we >> > need to take to get this working? >> > > >> > > I also don't understand Tobi's comments below about not using the >> > android jdk. What is it that's not working, and isn't jfx suppose to >> run on >> > android as well? >> > > >> > > >> > > >> > > On 04/07/2013, at 11:53 PM, Tobias Bley <t...@ultramixer.com> wrote: >> > > >> > >> I published by blog post about using JavaFX8 and RoboVM to build a >> iOS >> > app: http://blog.software4java.com/?p=41 >> > >> >> > >> @Niklas: IMO it’s important that RoboVM support OpenJDK as >> alternative >> > to the android class library because OpenJFX depends on OpenJDK not on >> > Android class library (Apache Harmony). >> > >> >> > >> Best regards, >> > >> Tobi >> > >> >> > >> Am 04.07.2013 um 14:49 schrieb Niklas Therning <nik...@therning.org >> >: >> > >> >> > >>> RoboVM doesn't do invokedynamic so I guess this only works if the >> app >> > >>> doesn't depend on any of the code in JavaFX8 that compiles down to >> > >>> invokedynamic calls. Also, there are quite a few API's available in >> > Java8 >> > >>> (and also Java7) that RoboVM doesn't have. We really need to get the >> > jfx78 >> > >>> backport to compile for iOS and generate the static libs properly. >> > >>> >> > >>> I've just got the font related code in the BrickBreaker sample >> working >> > >>> using the jfx78 backport. There's still a bit of manual command line >> > work >> > >>> needed to merge the static libraries into universal libraries like >> the >> > old >> > >>> ant build system did automatically. But it isn't too hard. I'll try >> to >> > put >> > >>> up instructions on the robovm blog later today. I'll let you know. >> > >>> >> > >>> >> > >>> On Thu, Jul 4, 2013 at 1:31 AM, <steve.x.northo...@oracle.com> >> wrote: >> > >>> >> > >>>> Yes. >> > >>>> >> > >>>> >> > >>>> On 03/07/2013 7:17 PM, Daniel Zwolenski wrote: >> > >>>> >> > >>>>> Can I just use this: https://jdk8.java.net/**download.html< >> > https://jdk8.java.net/download.html>? >> > >>>>> >> > >>>>> >> > >>>>> On Thu, Jul 4, 2013 at 9:15 AM, Daniel Zwolenski < >> zon...@gmail.com> >> > >>>>> wrote: >> > >>>>> >> > >>>>> Thanks Richard, in the building for Mac section there is a link to >> > >>>>>> "Install the latest JDK 8 build" that goes to a dead URL ( >> > >>>>>> http://jdk8.dev.java.net/). Do you know the correct URL? >> > >>>>>> >> > >>>>>> >> > >>>>>> >> > >>>>>> On Thu, Jul 4, 2013 at 9:11 AM, Richard Bair < >> > richard.b...@oracle.com>** >> > >>>>>> wrote: >> > >>>>>> >> > >>>>>> Extensive documentation that is mostly correct: >> > >>>>>>> >> > >>>>>>> >> https://wiki.openjdk.java.net/**display/OpenJFX/Building+**OpenJFX >> > <https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX> >> > >>>>>>> >> > https://wiki.openjdk.java.net/**display/OpenJFX/Developing+**OpenJFX< >> > https://wiki.openjdk.java.net/display/OpenJFX/Developing+OpenJFX> >> > >>>>>>> >> > >>>>>>> It is still a work in progress but most things you need to know >> to >> > build >> > >>>>>>> is found here. >> > >>>>>>> >> > >>>>>>> Richard >> > >>>>>>> >> > >>>>>>> On Jul 3, 2013, at 3:52 PM, Daniel Zwolenski <zon...@gmail.com> >> > wrote: >> > >>>>>>> >> > >>>>>>> Trying to catch up to Tobi on this one so I can have some fun >> with >> > it >> > >>>>>>>> >> > >>>>>>> too. >> > >>>>>>> >> > >>>>>>>> I assume in order to compile the graphics repo of JFX8 I need >> an >> > OpenJ8 >> > >>>>>>>> >> > >>>>>>> JDK >> > >>>>>>> >> > >>>>>>>> already installed? Are there pre-built bundles for this (for >> mac) >> > or do >> > >>>>>>>> >> > >>>>>>> I >> > >>>>>>> >> > >>>>>>>> need to checkout and build myself? Does anyone know which repo, >> > and >> > >>>>>>>> what >> > >>>>>>>> command line arg should I use to build J8 in this case? >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> On Thu, Jul 4, 2013 at 6:44 AM, Tobias Bley < >> t...@ultramixer.com> >> > >>>>>>>> >> > >>>>>>> wrote: >> > >>>>>>> >> > >>>>>>>> Hi Guys, >> > >>>>>>>>> >> > >>>>>>>>> I used RoboVM 0.0.2 and the current OpenJFX8 from mercurial >> > graphics >> > >>>>>>>>> branch.... So no 78 backport. I will write a blog post on >> > >>>>>>>>> blog.software4java.com until tomorrow... >> > >>>>>>>>> >> > >>>>>>>>> Currently the performance is very limited - as Richard told >> too. >> > I’m >> > >>>>>>>>> testing now all the basic JFX controls (like button, >> RadioButton, >> > >>>>>>>>> >> > >>>>>>>> CheckBox, >> > >>>>>>> >> > >>>>>>>> ListView, TableView, ...). >> > >>>>>>>>> >> > >>>>>>>>> Best regards, >> > >>>>>>>>> Tobi >> > >>>>>>>>> >> > >>>>>>>>> >> > >>>>>>>>> Am 03.07.2013 um 21:47 schrieb Daniel Zwolenski < >> > zon...@gmail.com>: >> > >>>>>>>>> >> > >>>>>>>>> Tobi, this is awesome! But you've left us hanging :) >> > >>>>>>>>>> >> > >>>>>>>>>> Did you use the 78 backport for this or just straight out J8? >> > >>>>>>>>>> >> > >>>>>>>>>> What are the steps to reproduce your working build? >> > >>>>>>>>>> >> > >>>>>>>>>> Very darn exciting! >> > >>>>>>>>>> >> > >>>>>>>>>> >> > >>>>>>>>>> >> > >>>>>>>>>> On 04/07/2013, at 2:50 AM, Danno Ferrin < >> > danno.fer...@shemnon.com> >> > >>>>>>>>>> >> > >>>>>>>>> wrote: >> > >>>>>>>>> >> > >>>>>>>>>> JavaFX 8? Does RoboVM support invokedynamic? That is a big >> > deal if >> > >>>>>>>>>>> >> > >>>>>>>>>> so. >> > >>>>>>> >> > >>>>>>>> On Wed, Jul 3, 2013 at 10:07 AM, Niklas Therning < >> > >>>>>>>>>>> >> > >>>>>>>>>> nik...@therning.org >> > >>>>>>> >> > >>>>>>>> wrote: >> > >>>>>>>>>> >> > >>>>>>>>>>> Awesome! Can you please post the build instructions >> somewhere? >> > I'm >> > >>>>>>>>>>>> >> > >>>>>>>>>>> not >> > >>>>>>> >> > >>>>>>>> getting a long with gradle at all. :-( >> > >>>>>>>>>>>> >> > >>>>>>>>>>>> >> > >>>>>>>>>>>> On Wed, Jul 3, 2013 at 6:03 PM, Tobi <t...@ultramixer.com> >> > wrote: >> > >>>>>>>>>>>> >> > >>>>>>>>>>>> It works! Latest JavaFX 8 (gradle based) with RoboVM on a >> real >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>> iPhone >> > >>>>>>> >> > >>>>>>>> with >> > >>>>>>>>>>>> >> > >>>>>>>>>>>>> native text rendering and JFX CSS rendering! >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> Tobi >> > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> >> > >>>>>>>>> >> > >>>>>>> >> > >>>> >> > >> >> > >> > >> > >