Modify

Opened 4 weeks ago

Closed 13 days ago

Last modified 12 days 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 (13)

comment:1 Changed 4 weeks 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 weeks ago by stoecker

Description: modified (diff)

Change proposed name

comment:3 in reply to:  1 Changed 4 weeks 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 weeks ago by Don-vip

Description: modified (diff)

comment:5 Changed 4 weeks 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 weeks ago by Don-vip

In 14186/josm:

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

comment:7 Changed 13 days 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 13 days 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 13 days 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 12 days 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 12 days 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 12 days 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+

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.