Attempting to Build [ was Source code for JavaFX UI controls now available on openjfx]
Richard Bair
richard.bair at oracle.com
Tue Dec 6 10:52:52 PST 2011
The missing scripts have been pushed, so I think I can now give reproducible instructions for building and testing. Download the 2.1 binary for Mac from http://www.oracle.com/technetwork/java/javafx/downloads/javafx2-macosx-487281.html.
1) hg clone http://hg.openjdk.java.net/openjfx/2.1/master
2) cd master
3) mkdir -p artifacts/sdk/rt/lib
4) cp ~/Downloads/javafx-sdk2.1.0-beta/rt/lib/jfxrt.jar artifacts/sdk/rt/lib
- Or from wherever you have downloaded this file
5) hg clone hg.openjdk.java.net/openjfx/2.1/master/rt
6) vi build-defs.xml
- There is some library being used but not registered properly, there is probably another way to do this.
Anyway, just edit the master/rt/build-defs.xml and comment out the line:
<propertycopy name="javac.debuglevel" from="${ant.project.name}.javac.debuglevel" silent="true" override="true"/>
7) cd javafx-ui-controls
8) ant
That should be enough to actually have built the project. The built class files should be sitting in master/rt/javafx-ui-common/dist/javafx-ui-controls.jar. You can then run by placing the newly created javafx-ui-controls.jar before jfxrt.jar on your classpath.
Let me know if you have any success!
Thanks
Richard
On Dec 6, 2011, at 9:46 AM, Richard Bair wrote:
> If you got to Oracle.com and download JavaFX and find the tiny link that switches to the Mac Developer Preview download and grab it, you will get a very recent 2.1 build. This can be used as the binary plug for building. Unfortunately, some build files are missing in the master/ repo. I tried to push these files in, but the server is not happy with my ssl configuration. I'm trying to track that down. With those build files put in, there is one other slight modification to master/rt/build-defs.xml, but this will then allow you to actually build the controls repo and, if you are on Mac, run it.
>
> I'll keep you all abreast of the work, hopefully we'll have something fully buildable a little later today.
>
> Richard
>
>
> On Dec 2, 2011, at 5:43 PM, Richard Bair wrote:
>
>>> Sorry I misunderstood, I was expecting something similar to the binary plugs we had in OpenJDK, not a full version of the current release, hence the question.
>>>
>>> I was able to import the project successfully into eclipse (and netbeans) with the FX runtime and it seems to compile fine.
>>
>> Oh, that's interesting. I grabbed the latest 2.0.2 code for Mac that I had available but it was failing on:
>>
>> [javac] /Developer/Projects/openjfx/workspace-2.1/master/rt/javafx-ui-controls/src/com/sun/javafx/scene/control/behavior/ButtonBehavior.java:42: cannot find symbol
>> [javac] symbol : class PlatformUtil
>> [javac] location: package com.sun.javafx
>> [javac] import com.sun.javafx.PlatformUtil;
>> [javac] ^
>>
>> And a bunch of other such failures. So I thought PlatformUtil had been removed between the 2.0.2 code I had (from early November) and the newer code in the 2.1 tree. If you got it to build in Eclipse on an older release -- well that is interesting! What version of JavaFX are you using for the binary plug?
>>
>> Do you want to post some basic instructions so other folks can do likewise?
>>
>>> I'll play with this code a bit and see how we can help out until everything else is sorted out.
>>>
>>> I think that while this is a suboptimal situation (but hey, we Free Software freaks are never happy, right? :) is still a great step forward, and we have a chance to study the code and the internals before everything gets released.
>>>
>>> Speaking about this, do you think we can have some "specs" about the internal interfaces?
>>
>> Probably in the short term asking me questions is the fastest way to get answers, unfortunately. I do need to be badgered to write up some documents though and put them up on our pages. Please do feel free to badger me: squeaky wheel and all that :-)
>>
>>> I know from JavaOne that the internal code is pretty abstracted and modular, and can actually be "easily" replaced (not sure the exact definition of easily though, but what you have shown at J1 was very impressive).
>>>
>>> We can probably help speeding up things if we know what things should be replaced and implement some clear room version of what will come later in the game, in a similar way we did with the Pisces renderer in Java2D, what do you think?
>>>
>>> I'm specifically thinking about the Linux port here, since to be honest "late 2012" is eons away.
>>
>> What we have released so far is the controls portion, which all sits above the "toolkit implementation" line. Basically on the "top" we've got controls, scene graph, css, properties, binding, collections, services, and that sort of thing. There is a Toolkit interface (com.sun.javafx.tk.Toolkit) which defines the abstraction between the public API portions of the platform and the underlying toolkit implementation (threading, windowing, opengl, d3d, fonts, etc).
>>
>> Likely it will be a couple months before we start putting out the lower-level bits en masse, due to having to be careful there over 3rd party code etc (there isn't much, mostly fonts and some SVG, but we have to do all the due diligence). The other problem is the same guys who have to do that, have to get the Mac port finished (both for Java 7 and for Java FX). However I will follow up with the guys doing linux and see if we can get that out sooner (they're busy working away on it and it would be cool to get it open faster, but at the very least get it included in the bits so you can run on linux).
>>
>> Cheers
>> Richard
>
More information about the openjfx-dev
mailing list