Modify

Opened 4 months ago

Closed 3 months ago

Last modified 6 weeks ago

#16682 closed enhancement (fixed)

New plugin features to support JavaFX 11

Reported by: Don-vip Owned by: team
Priority: normal Milestone: 18.09
Component: Core Version:
Keywords: plugin javafx java11 Cc: stoecker

Description (last modified by Don-vip)

With the removal of JavaFX in Java 11 (#16047), the following features won't work anymore by default:

  • core: MP3 support
  • plugin StreetSide
  • plugin matsim

I don't want to include openjfx directly in JOSM core just for MP3 support. A better way could be to include it in a plugin on which streetside and matsim plugin can depend.

Problems to resolve:

  • JavaFX is based on native libraries, the plugin must install only those for the current platform. If I remember correctly the JOGL plugin does already something like this.
  • the plugin classes will have to be made available to JOSM core classloader for MP3 support => a new plugin property must be added for this (Core-Export?) => The package org.openstreetmap.josm.io.audio.fx will have to move to this new plugin
  • the plugin will include OpenJFX 11. As we still need to support Java 8, the plugin must not be loaded on Java <= 10, for compatibility reasons => a new plugin property must be added for this (Minimum-Java-Version?)

Attachments (0)

Change History (14)

comment:1 Changed 4 months ago by stoecker

the plugin classes will have to be made available to JOSM core classloader for MP3 support => a new plugin property must be added for this (Core-Export?)

Why can't the plugin provide the related functionality instead of providing required base classes (like the input file support)? That approach sounds strange.

comment:2 Changed 4 months ago by stoecker

Description: modified (diff)

Change proposed name

comment:3 in reply to:  1 Changed 4 months ago by Don-vip

Replying to stoecker:

the plugin classes will have to be made available to JOSM core classloader for MP3 support => a new plugin property must be added for this (Core-Export?)

Why can't the plugin provide the related functionality instead of providing required base classes (like the input file support)? That approach sounds strange.

Yes, it's a simpler, safer and more elegant solution. Thanks.

comment:4 Changed 4 months ago by Don-vip

Description: modified (diff)

comment:5 Changed 4 months ago by Don-vip

In 14183/josm:

see #16682 - deprecate JavaFX core media player to move it to new openjfx plugin

comment:6 Changed 4 months ago by Don-vip

In 14186/josm:

see #16682 - add new plugin property Minimum-Java-Version

comment:7 Changed 3 months ago by Don-vip

In 14234/josm:

see #16047, see #16682 - make PluginClassLoader extend DynamicURLClassLoader so that plugins can add URLs to it

comment:8 Changed 3 months ago by Don-vip

Resolution: fixed
Status: newclosed

openjfx plugin released in [o34624]. Needs JOSM r14234. This is the biggest JOSM plugin ever made (85 Mb!)

comment:10 Changed 3 months ago by Don-vip

In 14239/josm:

see #16682 - On Java 9/10 and headless mode, filter plugins requiring JavaFX as Monocle is not available

comment:11 Changed 3 months ago by Don-vip

In 14242/josm:

see #16047, see #16682 - update animal-sniffer-ant-tasks to 1.18-SNAPSHOT + patches to include ASM 6.2.1 for Java 11 compatibility:

comment:12 Changed 3 months ago by Don-vip

In 14244/josm:

see #11924, see #15560, see #16047, see #16682 - fixes to make work proguard (OK) and animal_sniffer (still KO) with Java 9+

comment:13 Changed 3 months ago by Don-vip

In 14245/josm:

see #11924, see #15560, see #16047, see #16682 - fixes to make work animal_sniffer (OK) with Java 9+

comment:14 Changed 6 weeks ago by Don-vip

Follow-up: #16912

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.