Netflix / photon

Photon is a Java implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard whose core constraints are defined in the specification st2067-2:2013
Apache License 2.0
239 stars 78 forks source link

Deprecate support for JDK 8 #393

Open fschleich opened 3 weeks ago

fschleich commented 3 weeks ago

Making Photon compatible with versions above JDK 8 (#378) requires additional dependencies for JAXB support. As #338 points out, the current code uses the javax namespace and is therefore not compatible with current versions of JAXB (as those use the jakarta namespace). To be able to use current versions of external dependencies, we should consider deprecating support for JDK 8 and moving to the jakarta namespace as part of the Photon v5 milestone.

An experimental branch with updated dependencies is available here. (Note that not all javax annotations have jakarta equivalents and will still need to be dealt with, e.g. @Immutable.)

The above branch is using a local built of this experimental regxmllib branch, which was also migrated to the jakarta namespace.

IMFTool commented 3 weeks ago

Builds nicely on macOS using openjdk version "21.0.5" 2024-10-15 LTS

Note: regxmllib-1.1.4.jar needs to be copied to libs/ in the photon tree

palemieux commented 3 weeks ago

Are there any reasons why modern JAXB is preferable over legacy JAXB? IMF is pretty mature, so it is not shocking to me if we continue using an old library.