Hi,

Like advertised I've now the first thing to show off. Part of our
nightly e(fx)clipse build we generate a *self-contained* FXML-Compiler
jar which anyone interested can download from [1].

We currently provide an ant-integration (I'm not 100% happy on how I
make sure the appropriate classpath is chosen) which looks like this:

>       <target name="test">
>               <delete dir="build" />
>               <mkdir dir="build/classes"/>
>               
>               <taskdef name="fxml-compiler" classpathref="fxcompile" 
> classname="org.eclipse.fx.ide.fxml.compiler.ant.FXMLCompilerTask" />
>               
>               <javac srcdir="src" destdir="build/classes" 
> classpathref="buildpath"></javac>
>               
>               <fxml-compiler sourcedir="src" destdir="build/gen-src"/>
>               <javac srcdir="build/gen-src" destdir="build/classes" 
> classpathref="buildpath"></javac>
>       </target>

If you want to compile single FXML-Files you can invoke the jar on the
commandline line this:

java -cp org.eclipse.fx.fxml.compiler_0.9.0-SNAPSHOT.jar \
  org.eclipse.fx.ide.fxml.compiler.FXGraphCompiler \
  $fxmlFile \
  $packageRoot

$fxmlFile ... absolute path to your file
$packageRoot ... absolute path to the package-root (to construct the
                 package)

so on my localhost I execute it with the like this:

java -cp org.eclipse.fx.fxml.compiler_0.9.0-SNAPSHOT.jar:\
   /tmp/compilersample/test/bin \
   org.eclipse.fx.ide.fxml.compiler.FXGraphCompiler \
   /tmp/compilersample/src/test/Test.fxml \
   /tmp/compilersample/src/

I've also uploaded a sample project to [2].

Tom

[1]
http://download.eclipse.org/efxclipse/compiler-nightly/org.eclipse.fx.fxml.compiler_0.9.0-SNAPSHOT.jar

[2] http://downloads.efxclipse.org/fxml-compiler.zip



On 31.07.13 16:42, Danno Ferrin wrote:
> Where is the code base for this converter?  Done properly it can also be
> written to spit out the generated stubs, as well as output in any
> language the user may prefer.  A top grade implementation could
> integrate with FXMLLoader for a seamless experience ala .bss files.
> 
> On Tuesday, July 30, 2013, Tom Schindl wrote:
> 
>     I don't think it is a good idea to use fxml on embedded and mobile,
>     we are working on a fxml => java converter so you can add it to your
>     build process.
> 
>     Tom
> 
>     Von meinem iPhone gesendet
> 
>     Am 31.07.2013 um 08:11 schrieb Niklas Therning <nik...@therning.org
>     <javascript:;>>:
> 
>     >>>> after many days trying to really build iOS apps with JavaFX and
>     RoboVM
>     >> or
>     >>>> Avian I’m very frustrated because of the following things:
>     >>>>
>     >>>> Based on RoboVM, JavaFX on iOS runs unacceptable slow - I don’t
>     know
>     >> the
>     >>>> reason - maybe it’s the rendering model of JavaFX - maybe it’s the
>     >>>> currently unoptimized RoboVM
>     >>>> One big problem of RoboVM is it’s dependence of the Android
>     library, it
>     >>>> does not support the OpenJDK. That’s a big reason for many many
>     >> problems
>     >>>> when using JavaFX. So currently it’s not possible to use fxml files
>     >>>> (FXMLoader) because of the missing Stax xml parser and classes like
>     >>>> XMLInputFactory in the android library…
>     >
>     > There's now a compatibility library for the jfx78 backport which
>     includes
>     > the missing sun.* classes from OpenJDK [1]. So that will not be a
>     problem
>     > when running on RoboVM/Android. Daniel Zwolenski is working on
>     getting this
>     > into Maven which will make it nice and easy to develop with
>     RoboVM+OpenJFX.
>     >
>     > FXMLLoader relies an StAX and the Java Scripting API. Those can
>     both be
>     > made to work on RoboVM/Android. The POM of the compat project [1]
>     contains
>     > optional dependencies on the StAX API and JSR 223 API. For StAX
>     you'll also
>     > need a StAX provider [2][3]. For scripting you'll need a JSR 223
>     > implementation of the scripting language you're using, like Rhino for
>     > JavaScript [4][5]. Please note that I haven't tested FXML but it
>     should
>     > work (in theory at least ;-) ). Please give it a go. It will be a
>     great
>     > blog story if you can make it work on iOS.
>     >
>     > As for the performance issues with RoboVM+OpenJFX: those WILL be
>     addressed!
>     > You can either wait for it to happen or you can help out. One way
>     to do
>     > that would be sample code that exercises the code paths that need
>     to be
>     > optimized (e.g. the button rendering you posted about earlier).
>     Preferably
>     > the sample should run repeatedly without user interaction. You
>     should then
>     > be able to run Apple's Instruments application to profile this
>     sample. This
>     > will help us determine what needs to be optimized.
>     >
>     > /Niklas
>     >
>     > [1] https://github.com/robovm/robovm-jfx78-compat
>     > [2] https://github.com/FasterXML/aalto-xml
>     > [3] http://woodstox.codehaus.org/
>     > [4] https://developer.mozilla.org/en-US/docs/Rhino
>     > [5]
>     >
>     
> https://java.net/projects/scripting/sources/svn/show/trunk/engines/javascript?rev=236
> 

Reply via email to