felix-atomos
felix-atomos copied to clipboard
Use GraalVM Native Image module introspection to eliminate the need for atomos_lib folder or bundles.index
The substrate documentation states that Atomos Module support expects to have full introspection of the Java Platform Module System. Because this was not available in older versions of GraalVM, workarounds were introduced in Atomos which reads bundle information at runtime from an extra atomos_lib folder with copies of all bundle JARs or from a bundles.index file which gets generated by the atomos-maven-plugin. With the ongoing effort GraalVM Native Image version 22 brings functionality for required introspection at runtime. If Atomos makes use of the information provided by ModuleLayer API the workarounds can be eliminated. I have created a demo that shows possible runtime information for modules from a native application.