-
Type: Improvement
-
Resolution: Done
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Client Side Encryption, GraalVM
-
None
-
Fully Compatible
-
Java Drivers
-
Not Needed
-
JAVA-5219 added GraalVM reachability metadata for org.mongodb:mongodb-crypt to
- driver-core/src/main/resources/META-INF/native-image/jni-config.json
- driver-core/src/main/resources/META-INF/native-image/reflect-config.json
This metadata should be owned by org.mongodb:mongodb-crypt, even if it will be tested only by :graalvm-native-image-app in the MongoDB Java driver.
We should add the aforementioned metadata specific to org.mongodb:mongodb-crypt (not all the metadata in the aforementioned files is specific to org.mongodb:mongodb-crypt) to that library and remove it from the MongoDB Java driver. This removal may happen only when a version of org.mongodb:mongodb-crypt with the metadata is released, and will be done in JAVA-5408.
Note that the resource entires for shared libraries used by org.mongodb:mongodb-crypt are in graalvm-native-image-app/src/main/resources/META-INF/native-image/resource-config.json and must remain there. We don't include these entries with libraries to avoid increasing the size of a native image when the shared libraries are not actually used by the application.