Task #2698

RCP: X.X, JavaFX libraries

Added by Matthieu Decorde 2 months ago. Updated about 1 month ago.

Status:Feedback Start date:12/19/2019
Priority:Normal Due date:
Assignee:- % Done:

80%

Category:Development Spent time: -
Target version:TXM 0.8.1

Description

To enable JavaFX in TXM we need to use JavaFX library and the JavaFX SWT library.

JavaFX SWT library are be loaded in classloader with SWT libraries: in 1 plugin org.txm.libs.javafx and 3 fragments org.txm.libs.javafx.linux, org.txm.libs.javafx.win32 and org.txm.libs.javafx.macosx.

Each fragment contains the JavaFX runtime library (jfxrt.jar) and the JavaFX SWT library (jfxswt.jar).

Validation steps

  • install Media Player extension
  • open a video from "File\Open Media file..."

Related issues

related to Feature #2739: RCP: X.X, Replace VLC player with JFX player New 01/23/2020

History

#1 Updated by Matthieu Decorde 2 months ago

  • Description updated (diff)

#2 Updated by Serge Heiden 2 months ago

There is maybe also the org.osgi.framework.system.packages.extra property to drive the osgi boot classpath.

#3 Updated by Serge Heiden 2 months ago

Documentation

#4 Updated by Matthieu Decorde about 1 month ago

  • % Done changed from 0 to 80

javafx plugins (4: core, linux, win32 and macosx) are shipped in the TXM main update

#5 Updated by Sebastien Jacquot about 1 month ago

  • % Done changed from 80 to 60

We do not need to publish a new installer to modify launcher arguments but should look at the P2.inf mechanism.
P2 offers a way for bundles to execute some commands at different stage of an installation or an uninstallation.
Commands can for example, change file rights, change JVM path, add/remove JVM launcher args, copy/delete files, etc.

See: https://help.eclipse.org/2019-12/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_actions_touchpoints.html
https://wiki.eclipse.org/Equinox/p2/Engine

#6 Updated by Sebastien Jacquot about 1 month ago

New proposal

Add a p2.inf file to the root of org.txm.libs.javafx.feature containing the following touchpoint actions:

instructions.configure = org.eclipse.equinox.p2.touchpoint.eclipse.addJvmArg(jvmArg:-Dorg.osgi.framework.bundle.parent=ext);
instructions.unconfigure = org.eclipse.equinox.p2.touchpoint.eclipse.removeJVMArg(jvmArg:-Dorg.osgi.framework.bundle.parent=ext);

#7 Updated by Sebastien Jacquot about 1 month ago

  • Tracker changed from Feature to Task
  • Description updated (diff)
  • Category set to Development
  • Status changed from New to Feedback
  • Target version changed from TXM 0.8.2 to TXM 0.8.1
  • % Done changed from 60 to 80

Also available in: Atom PDF