Hello, Tiago Daitx, le jeu. 19 juil. 2018 16:46:23 -0300, a ecrit: > The ATK was updated to use the new interface last year by Fridrich > Strba [1,2], but it seems that upstream never updated it to include > those patches - the bugs he reported and attached patches remain open. > > Might be worth to check if we can apply these to our packages. > > [1] > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2017-November/038927.html > [2] http://mail.openjdk.java.net/pipermail/awt-dev/2017-November/013344.html
Oh, thanks! They do apply fine indeed. I have applied them to my tree. So, from upstream's mentions: “ This is a consequence of the JPMS. ATK will need to be reimplemented as a Service Provider, to be loaded by java.util.ServiceLoader. In order to do this it must provide an SPI which extends javax.accessibility.AccessibilityProvider ” AIUI the SPI part is implemented through wrapper/org/GNOME/Accessibility/AtkProvider.java doing import javax.accessibility.AccessibilityProvider; public final class AtkProvider extends AccessibilityProvider { private final String name = "org.GNOME.Accessibility.AtkWrapper"; ... public void activate() { new AtkWrapper(); } and the module-info.java part makes it define an atk.wrapper module. What I think is still missing is "to be loaded by java.util.ServiceLoader". How is that supposed to happen? To make it work, Fridrich Strba says in http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2017-November/038927.html that he is apparently relinking jdk itself to include java-atk-wrapper.jar as a module. Are we really supposed to be doing that in Debian? That's mean a circular dependency between openjdk and java-atk-wrapper... But otherwise, how are we supposed to make the jvm know that for that accessibility provider it should load java-atk-wrapper.jar? Samuel