Opened 3 years ago

Last modified 3 years ago

#16682 closed enhancement

New plugin features to support JavaFX 11 — at Version 4

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?)

Change History (4)

comment:1 Changed 3 years 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 3 years ago by stoecker

Description: modified (diff)

Change proposed name

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

Description: modified (diff)
Note: See TracTickets for help on using tickets.